Dynamic Theme Background

by sean2077
5
4
3
2
1
Score: 36/100

Description

The Dynamic Theme Background plugin lets you turn the app background into a rotating wallpaper layer drawn from local folders, online image providers, gradients, solid colours or a custom JSON API. It is built for people who want visual variety without giving up control, since you can tune blur, brightness, saturation and hue to match different themes and reading conditions. The plugin also supports timed background changes, quick switching from the status bar or command palette and saving a remote image into a chosen vault folder.

Reviews

No reviews yet.

Stats

stars
3,814
downloads
0
forks
7
days
NaN
days
NaN
days
0
total PRs
0
open PRs
0
closed PRs
0
merged PRs
0
total issues
0
open issues
0
closed issues
0
commits

Latest Version

Invalid date

Changelog

README file from

Github

🌈 Dynamic Theme Background

Build Your Own Wallpaper Library in Obsidian!

Make every note-taking experience visually inspiring

🇺🇸 English | 🇨🇳 中文版


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.

Obsidian Community Plugins

  1. Open Settings → Community plugins → Browse
  2. Search for Dynamic Theme Background
  3. Select Install, then Enable

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
.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

Similar Plugins

info
• Similar plugins are suggested based on the common tags between the plugins.