diff options
| author | Danilo M. <danix@danix.xyz> | 2026-09-29 12:29:38 +0200 |
|---|---|---|
| committer | Danilo M. <danix@danix.xyz> | 2026-09-29 12:29:38 +0200 |
| commit | 0ca89376ea0a04ad88ae80b9b602033f3beb8eb6 (patch) | |
| tree | 1c20a959647fb31689e97b343f1cabd11084c3ce /AGENTS.md | |
| parent | 5b133dbd86aaf54b0c728128f304c8dd8ebea9d1 (diff) | |
| download | unified-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.md | 26 |
1 files changed, 20 insertions, 6 deletions
@@ -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 | |
