diff options
| author | Danilo M. <danix@danix.xyz> | 2026-09-11 18:57:59 +0200 |
|---|---|---|
| committer | Danilo M. <danix@danix.xyz> | 2026-09-11 18:57:59 +0200 |
| commit | 7b11746f0b6a280169150fc8e18146963a65c55c (patch) | |
| tree | 75ad1834c11187d8f88cae2bf8b7c036675609da /AGENTS.md | |
| parent | fd0a0e63d78138b485c2440781f6c210dd3df8a2 (diff) | |
| download | unified-desktop-theme-7b11746f0b6a280169150fc8e18146963a65c55c.tar.gz unified-desktop-theme-7b11746f0b6a280169150fc8e18146963a65c55c.zip | |
feat(palette): add Obsidian and Typora as consumers
Both expose a first-class, update-safe theming hook, which is what separates
them from the Electron apps that cannot be consumers: Signal, Discord and
Spotify ship closed bundles whose only theming route is patching a signed
asar that every update reverts.
Obsidian gets a CSS snippet rather than a theme, so it layers over whatever
theme a vault already uses instead of replacing the user's choice. Enabling it
means appending to enabledCssSnippets in each vault's appearance.json, which
bin/udt-appthemes does by reading the list and adding to it: rewriting the file
would have switched off the layout snippet one vault was already using.
Typora's theme is derived from the Dracula theme installed here, whose 350
rules all resolve through :root variables, so only that block is templated and
none of the layout is touched.
Verified across six vaults, nested ones included: the vault with an existing
snippet kept it, a vault with no appearance.json got a valid one, and three
consecutive installs leave exactly one udt entry.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_015gbjA2bmswN8jyPDKzrvqe
Diffstat (limited to 'AGENTS.md')
| -rw-r--r-- | AGENTS.md | 12 |
1 files changed, 12 insertions, 0 deletions
@@ -54,6 +54,18 @@ desktop was already running by hand. **Qt apps only read a theme at startup**, so a running one keeps the old colours until restarted. `install.sh` cannot signal them and does not try. +Obsidian and Typora are installed by `bin/udt-appthemes`, not by a copy. +Obsidian gets a **snippet**, not a theme, so it layers over whatever theme a +vault uses; enabling it means appending to `enabledCssSnippets` in that vault's +`appearance.json`, never rewriting the list, or the vault loses the snippets it +already had. Every vault under `~/Documents/Obsidian` is found by looking for +`.obsidian` directories, nested ones included. Typora's theme is derived from +its Dracula theme, whose 350 rules all route through `:root` variables, so only +that block is templated. + +Signal, Discord and Spotify cannot be consumers: they ship closed bundles with +no user-CSS hook, and patching a signed app bundle breaks on every update. + The homepage stylesheet is the one output that leaves this machine. `install.sh` scp's it to `homepage:hp-stage/`, with a five second timeout and a warning rather than a failure when the host is down, so installing the local |
