No description
Find a file
2026-07-21 02:40:18 +00:00
.agents chore: add dual-host agent harness 2026-07-21 06:30:01 +08:00
.claude chore: add dual-host agent harness 2026-07-21 06:30:01 +08:00
.codex chore: add dual-host agent harness 2026-07-21 06:30:01 +08:00
.github ci: enforce deterministic quality gates 2026-07-21 10:13:58 +08:00
docs ci: enforce deterministic quality gates 2026-07-21 10:13:58 +08:00
src chore(release): 2.9.2 [skip ci] 2026-07-21 02:40:18 +00:00
tests ci: enforce deterministic quality gates 2026-07-21 10:13:58 +08:00
tools/quality ci: enforce deterministic quality gates 2026-07-21 10:13:58 +08:00
.all-contributorsrc chore: Update readme badges & add all-contributors to manage contributors 2025-08-10 00:22:39 +08:00
.editorconfig ci: 添加 EditorConfig 和发布配置文件 2025-08-01 21:01:47 +08:00
.gitattributes chore: add dual-host agent harness 2026-07-21 06:30:01 +08:00
.gitignore chore: add dual-host agent harness 2026-07-21 06:30:01 +08:00
.npmrc Initial commit 2025-07-30 16:06:33 +08:00
.prettierrc.json feat: Major Update: Added wallpaper API support; integrated Wallhaven API; optimized project structure and several other features. 2025-08-06 03:22:59 +08:00
.releaserc.yml fix: Update release notes generator configuration 2025-08-10 14:52:16 +08:00
.stylelintrc.json fix: Update stylelint configuration and improve CSS variable definitions 2025-09-16 08:48:54 +08:00
AGENTS.md ci: enforce deterministic quality gates 2026-07-21 10:13:58 +08:00
CHANGELOG.md chore(release): 2.9.2 [skip ci] 2026-07-21 02:40:18 +00:00
CLAUDE.md chore: add dual-host agent harness 2026-07-21 06:30:01 +08:00
CONTRIBUTING.md docs: Create CONTRIBUTING.md 2025-08-10 16:24:06 +08:00
esbuild.config.mjs fix: resolve Obsidian plugin review findings 2026-07-21 06:52:23 +08:00
eslint.config.mts ci: enforce deterministic quality gates 2026-07-21 10:13:58 +08:00
LICENSE chore: Update LICENSE to MIT License and revise copyright information 2025-08-09 06:39:52 +08:00
manifest.json chore(release): 2.9.2 [skip ci] 2026-07-21 02:40:18 +00:00
package-lock.json chore(release): 2.9.2 [skip ci] 2026-07-21 02:40:18 +00:00
package.json chore(release): 2.9.2 [skip ci] 2026-07-21 02:40:18 +00:00
README.md ci: enforce deterministic quality gates 2026-07-21 10:13:58 +08:00
README.zh.md ci: enforce deterministic quality gates 2026-07-21 10:13:58 +08:00
styles.css fix: harden plugin runtime boundaries 2026-07-21 10:13:09 +08:00
tsconfig.json feat: decompose plugin and settings into service-oriented architecture 2026-03-17 18:34:41 +08:00

🌈 Dynamic Theme Background

Build Your Own Wallpaper Library in Obsidian!

Make every note-taking experience visually inspiring

🇺🇸 English 🇨🇳 中文版

Obsidian Plugin Latest Release GitHub Downloads GitHub Stars Build Status License


Preview

Features

  • Multi-source Library — Unsplash, Pixabay, Pexels, Wallhaven + custom API & local folders
  • Visual Tuning — Blur, brightness, saturation, hue adjustments; dark/light theme aware
  • Smart Rotation — Time windows, interval auto-change, command palette quick switch
  • Performance — Async loading, caching, minimal impact on editor responsiveness

Installation

Requires Obsidian 1.7.2 or later.

Marketplace (Pending)

Currently in Obsidian review queue. Track: obsidian-releases#7359

BRAT

  1. Install BRAT
  2. Add beta plugin → https://github.com/sean2077/obsidian-dynamic-theme-background
  3. Enable in settings

Manual

  1. Download main.js, manifest.json, styles.css from Releases
  2. Create .obsidian/plugins/obsidian-dynamic-theme-background/
  3. Place files inside, restart Obsidian, enable

Quick Start

  1. Add Sources — Local images or API providers (Unsplash / Pixabay / Pexels / Wallhaven / Custom)
  2. Set Rotation — Interval + optional time windows (morning / day / night)
  3. Control — Status bar clicks or Command Palette (dtb) to switch, save & fetch

Status Bar:

  • Left Click → Random wallpaper
  • Middle Click → Open settings
  • Right Click → Save current background

Network and Privacy

  • Local images, colors, and gradients work without provider requests. Enabling a wallpaper provider, using a custom JSON endpoint, or applying/saving a remote image can contact the configured third party; that service's terms and privacy policy apply.
  • Provider keys, tokens, and custom headers are stored in the plugin's data.json under the vault configuration so Obsidian 1.7.2 remains supported. This file is not encrypted: do not publish it, review vault-sync destinations, and rotate any credential that may have been exposed.
  • The plugin has no telemetry or analytics. Diagnostic logging sanitizes credential-bearing URLs and headers, bounds nested data, and does not intentionally log API keys or tokens.
  • Saving a remote wallpaper is an explicit action and writes only to the validated vault-relative folder selected in plugin settings.

Notes

  • Optimized for dark themes; light themes may need parameter adjustments
  • Uses Obsidian CSS variables — compatible with most themes
  • If your theme defines custom backgrounds, choose one or the other to avoid conflicts
CSS Override Details
.dtb-enabled .workspace::before {
    background-image: var(--dtb-bg-image);
    filter: blur(var(--dtb-blur-depth)) brightness(var(--dtb-brightness)) saturate(var(--dtb-saturate));
    /* ... */
}

Roadmap

  • Weather / system theme driven wallpaper sets
  • Video / GIF backgrounds
  • AI-generated backgrounds
  • Mobile refinements
  • Preset packs & collections

Contributing

License

MIT