No description
Find a file
2026-07-21 16:15:11 +08: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 fix: preserve settings integrity and compatibility 2026-07-21 15:12:19 +08:00
src fix: harden runtime safety boundaries 2026-07-21 16:05:28 +08:00
tests fix: harden runtime safety boundaries 2026-07-21 16:05:28 +08:00
tools/quality fix: harden runtime safety boundaries 2026-07-21 16:05:28 +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 fix: preserve settings integrity and compatibility 2026-07-21 15:12:19 +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: preserve settings integrity and compatibility 2026-07-21 15:12:19 +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 feat: migrate API credentials to SecretStorage 2026-07-21 12:01:44 +08:00
package-lock.json feat: migrate API credentials to SecretStorage 2026-07-21 12:01:44 +08:00
package.json feat: migrate API credentials to SecretStorage 2026-07-21 12:01:44 +08:00
README.md fix: preserve settings integrity and compatibility 2026-07-21 15:12:19 +08:00
README.zh.md fix: preserve settings integrity and compatibility 2026-07-21 15:12:19 +08:00
styles.css fix: support accessible settings reordering 2026-07-21 13:57:32 +08:00
tsconfig.json feat: decompose plugin and settings into service-oriented architecture 2026-03-17 18:34:41 +08:00
versions.json fix: preserve settings integrity and compatibility 2026-07-21 15:12:19 +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.11.4 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 every custom-header value are stored through Obsidian SecretStorage. The plugin's data.json contains only non-secret settings and SecretStorage IDs, not those credential values.
  • Custom API query credentials must use Secret query parameters. The raw Extra parameters JSON accepts only non-secret string, number, and boolean values; those parameters are appended to the custom endpoint at request time.
  • On the first load after upgrading, legacy plaintext credentials are copied to SecretStorage before data.json is replaced. If any secret write fails, the old data.json is left unchanged and plugin startup stops so credentials are not lost or partially migrated.
  • Secrets can be shared across plugins or configurations, so deleting a DTB API removes only its reference and does not delete the Obsidian-owned secret.
  • 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