diff options
| author | Danilo M. <danix@danix.xyz> | 2026-09-16 08:37:28 +0200 |
|---|---|---|
| committer | Danilo M. <danix@danix.xyz> | 2026-09-16 08:37:28 +0200 |
| commit | b970a0deaad3a6723fe5727a3db7b653ebb3e7a3 (patch) | |
| tree | 2b85acb01b9c265f657546690addeeb389a229fd /AGENTS.md | |
| parent | 593b8a65eda7ba9f7c7341ef5c1584b92bfda9c4 (diff) | |
| download | unified-desktop-theme-b970a0deaad3a6723fe5727a3db7b653ebb3e7a3.tar.gz unified-desktop-theme-b970a0deaad3a6723fe5727a3db7b653ebb3e7a3.zip | |
refactor(cache): move the generated files to ~/.cache/udt
They lived in ~/.cache/wal because pywal owned that directory and udt-accent
was written alongside a pywal run. Nothing on this desktop invokes pywal any
more: the wal binary is unused, and udt-accent imports pywal.backends.colorz
as a quantisation library, which writes nothing. Sharing the cache only left
the ownership ambiguous.
colors.json is the one file that cannot move. pywalfox hardcodes
<cache>/wal/colors.json and honours only XDG_CACHE_HOME, which would relocate
every cache on the system, so udt-accent writes the real file to ~/.cache/udt
and install.sh symlinks the old path at it. ~/.cache/wal now holds that link
and nothing else.
Consumers repointed here: install.sh, udt-accent, launcher.rasi's @WPAPER@.
Outside the repo, wallp, Hyprland's look_and_feel.lua and quickshell's
shared/Theme.qml move with it.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Diffstat (limited to 'AGENTS.md')
| -rw-r--r-- | AGENTS.md | 22 |
1 files changed, 16 insertions, 6 deletions
@@ -113,9 +113,9 @@ One colour moves: `@accent`. `bin/udt-accent` reads the current wallpaper, extracts its signature colour, and snaps it to the nearest of ten Catppuccin accents by perceptual hue in CIELAB. `wallp` calls it on every wallpaper change. -It writes five things: `~/.cache/wal/udt-accent.rasi` (rofi), -`~/.cache/wal/udt-border.lua` (Hyprland), `~/.cache/wal/colors.json` -(Firefox, via pywalfox), `~/.cache/wal/udt-palette.qml` (quickshell), and +It writes five things: `~/.cache/udt/udt-accent.rasi` (rofi), +`~/.cache/udt/udt-border.lua` (Hyprland), `~/.cache/wal/colors.json` +(Firefox, via pywalfox), `~/.cache/udt/udt-palette.qml` (quickshell), and the accent substitution in Sublime's installed `Packages/User/udt.sublime-color-scheme`. @@ -133,14 +133,24 @@ Macchiato values are written down. Quickshell components watch the generated file and re-read it in place, so a palette edit reaches a running shell without restarting it; see the `quickshell` repo alongside this one. -**Extraction is deliberately isolated from the pywal cache.** It calls +**The generated files live in `~/.cache/udt/`**, not `~/.cache/wal/`. pywal no +longer writes anything on this desktop, so sharing its cache directory only +made the ownership ambiguous. + +`colors.json` is the one exception, and it is why `~/.cache/wal/` still exists. +pywalfox hardcodes `<cache>/wal/colors.json` and honours only `XDG_CACHE_HOME`, +which would move every cache on the system, so `udt-accent` writes the real +file to `~/.cache/udt/` and `install.sh` symlinks the old path at it. That +directory now holds the link and nothing else. + +**Extraction is deliberately isolated from pywal's cache.** It calls `pywal.backends.colorz.get()` directly, which returns a list and writes nothing. Running `wal -i` instead would rewrite all of `~/.cache/wal`, including the terminal's ANSI colours, and that is the exact failure this design exists to avoid. If you change `signature_color()`, verify it still writes nothing. -`colors.json` is the one pywal file `udt-accent` does rewrite, and it rewrites -it wholesale rather than editing it: a fixed Macchiato palette with the accent +`colors.json` is rewritten wholesale rather than edited: a fixed Macchiato +palette with the accent in the cursor and the two highlight slots. That is deliberate. pywalfox reads `colors.json` and nothing else, so it is the only way Firefox can follow the accent, and overwriting it costs nothing because nothing else reads it. In |
