aboutsummaryrefslogtreecommitdiffstats
path: root/AGENTS.md
diff options
context:
space:
mode:
authorDanilo M. <danix@danix.xyz>2026-09-29 12:29:38 +0200
committerDanilo M. <danix@danix.xyz>2026-09-29 12:29:38 +0200
commit0ca89376ea0a04ad88ae80b9b602033f3beb8eb6 (patch)
tree1c20a959647fb31689e97b343f1cabd11084c3ce /AGENTS.md
parent5b133dbd86aaf54b0c728128f304c8dd8ebea9d1 (diff)
downloadunified-desktop-theme-0ca89376ea0a04ad88ae80b9b602033f3beb8eb6.tar.gz
unified-desktop-theme-0ca89376ea0a04ad88ae80b9b602033f3beb8eb6.zip
feat(palette): theme btop, Joplin and Feishin
btop gets a generated udt.theme and only the color_theme line of btop.conf is rewritten. Joplin gets userchrome.css overriding the --joplin-* custom properties most of its UI is built on, with !important since Joplin's own :root block is injected later; a userchrome.css udt did not write is left alone. Feishin 1.17 watches a Themes folder for JSON themes, so UDT.json extends its built-in Catppuccin Mocha with the scheme's roles and reaches a running Feishin live once selected. All three use existing roles, so no scheme file changes. udt-appthemes installs them next to Obsidian and Typora; the recap hint names btop and Joplin among the apps that need a restart. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Diffstat (limited to 'AGENTS.md')
-rw-r--r--AGENTS.md26
1 files changed, 20 insertions, 6 deletions
diff --git a/AGENTS.md b/AGENTS.md
index 11add0a..90f4bdc 100644
--- a/AGENTS.md
+++ b/AGENTS.md
@@ -7,7 +7,7 @@ Guidance for agents working in this repository.
One visual identity for a Hyprland desktop: Catppuccin Macchiato, Noto Sans for
UI text, Inconsolata Nerd Font Mono for monospace. It covers rofi, Hyprland
window borders, conky, Qt5/Qt6, GTK3/GTK4, waybar, kitty, Sublime Text,
-hyprlock and neovim.
+hyprlock, neovim, btop, Joplin and Feishin.
The repo holds the canonical copies. `./install.sh` symlinks them into place, so
the working config cannot drift from what is committed. Everything outside
@@ -75,8 +75,9 @@ The generated set is `rofi/udt/palette.rasi`,
`templates/sublime/udt.sublime-color-scheme`,
`templates/sublime/udt.sublime-theme`, `templates/gtk/gtk{3,4}.css`,
`templates/gtk/index.theme`, `templates/gtk/assets/*.svg`,
-`templates/hyprlock/hyprlock-palette.conf`, `templates/nvim/udt.lua` and
-`bin/udt_colors.py`.
+`templates/hyprlock/hyprlock-palette.conf`, `templates/nvim/udt.lua`,
+`templates/btop/udt.theme`, `templates/joplin/userchrome.css`,
+`templates/feishin/UDT.json` and `bin/udt_colors.py`.
Sublime is two outputs, not one. The **colour scheme** is the editor pane and
tracks the wallpaper accent. The **theme** is the UI chrome, and is an override
@@ -123,15 +124,26 @@ alone left kcalc white. `install.sh` installs a generated `udt.colors` into
**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, Typora, btop, Joplin and Feishin are installed by
+`bin/udt-appthemes`, not by a plain 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
+already had. Vaults come from Obsidian's own registry, `obsidian.json`, not a
+directory scan, which found abandoned vaults. Typora's theme is derived from
its Dracula theme, whose 350 rules all route through `:root` variables, so only
that block is templated.
+btop gets `~/.config/btop/themes/udt.theme` and only the `color_theme` line of
+`btop.conf` is rewritten; btop writes that file back on exit, so restart a
+running one after a switch. Joplin gets `userchrome.css`, which overrides the
+`--joplin-*` custom properties its UI is built on, with `!important` because
+Joplin's own `:root` block lands after it; parts still styled from its JS theme
+object keep the base theme, so that must stay a dark one. A `userchrome.css`
+udt did not write is left alone. Feishin gets `Themes/UDT.json`, extending its
+built-in Catppuccin Mocha; the folder is watched, so after selecting UDT once
+in its settings, a scheme switch reaches a running Feishin live.
+
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.
@@ -332,3 +344,5 @@ The table is what it does, and what to run if you change a config by hand.
| conky | restart it; no hot-reload |
| neovim | `:colorscheme udt`, or restart it |
| Qt / GTK apps | restart the app |
+| btop, Joplin | restart the app |
+| Feishin | nothing; it watches its Themes folder |