| Age | Commit message (Collapse) | Author | Files | Lines |
|
GTK was listed in AGENTS.md as a covered consumer but nothing generated or
installed a theme for it. Every GTK app sat on a hardcoded upstream
catppuccin-macchiato-lavender while the rest of the desktop ran tokyo-night.
The plan templates the upstream stylesheets and assets the way Kvantum
already is, rendering into ~/.themes/udt under one fixed name per scheme.
Substitution is whole-file rather than confined to the @define-color block:
338 palette hexes in GTK3 and 328 in GTK4 sit outside it, which was measured
before the approach was chosen.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
|
|
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>
|
|
dunst no longer runs on this desktop. notifyd owns
org.freedesktop.Notifications and the quickshell notifications shell
draws the balloons, reading the palette from ~/.cache/wal/udt-palette.qml
like every other quickshell component. So the whole dunst path was
generating a config nothing read.
It was also actively wrong. pywal rendered ~/.cache/wal/dunstrc from the
installed template, then wal.sh restarted dunst on it while @ACCENT@ was
still an unsubstituted placeholder, and udt-accent restarted it a second
time after substituting. Two restarts per wallpaper change, the first on
a broken config, for a daemon that could not claim the bus name anyway.
Removes gen_dunst and its TARGETS entry, write_dunst and DUNSTRC, the
install block, templates/dunstrc.in and the gitignore entry. The reload
table now lists quickshell, which needs no signal: it watches the
generated palette and re-reads it in place.
The [state] roles stay. They were never dunst-only; waybar module states
and conky warnings use the same four.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
|
|
It configured clipmenu, the X11 clipboard manager .xprofile started. cliphist
through rofi replaced it, so the export had nothing left to configure.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_015gbjA2bmswN8jyPDKzrvqe
|
|
An X11 leftover nothing reads under Wayland. Nothing sources it, and every
program it started is either not running or started elsewhere now (dunst,
by udt-accent). Backed up to /data/udt-backup/xprofile.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_015gbjA2bmswN8jyPDKzrvqe
|
|
The GPG PIN dialog was the last unthemed Qt6 app. pinentry-qt links Qt6
despite the name, but gpg-agent is spawned from .bashrc and reparented to
init, so it never inherits the QT_QPA_PLATFORMTHEME that Hyprland sets for
its own children, and every pinentry it spawns fell back to Fusion.
Also restructures the document: it was headed "phase 1 (rofi)" and now
covers more than rofi, so the phase is a section rather than the title.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_015gbjA2bmswN8jyPDKzrvqe
|
|
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01G6aeE37K4GHBsaM51yLTTq
|
|
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01G6aeE37K4GHBsaM51yLTTq
|
|
Twelve call sites repointed, backups in /data/udt-backup.
Also records three things found during the migration: rofipass was passing a
-width flag that rofi 2.0.0 no longer has, the type-4 power menu reuses one
directory variable for two different themes, and ddgr_search.py is a rofi
script-mode plugin rather than a call site.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01G6aeE37K4GHBsaM51yLTTq
|
|
The plan claimed rofi 1.7.3, taken from a stale comment header in the user's
config.rasi. The installed version is 2.0.0.
Adds a `-dump-theme` parse check to the palette and each layout task. This
catches syntax errors without a display, which the plan previously treated as
impossible and deferred entirely to visual inspection. Every theme file in the
plan was verified to parse cleanly on 2.0.0.
Replaces the palette verification step, which built a throwaway wrapper theme
via printf just to have something that draws. A palette defines variables and
renders nothing, so there was nothing to look at; parsing is the real check.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01G6aeE37K4GHBsaM51yLTTq
|
|
Investigation while planning showed the spec's accent model could not work as
written. wallp invokes pywal with --theme, not -i, so colors come from a fixed
preset and never track the wallpaper: snapping would have mapped a constant to
a constant.
The obvious fix, switching to wallpaper-derived pywal, would have regressed a
problem the user had already solved. Wallpaper colors land in kitty's sixteen
ANSI slots, where nothing guarantees color4 stays legible against color0, which
is what made neovim comments disappear. Rofi is not exposed to that, since it
uses one accent against a fixed base.
So extraction now calls pywal.backends.colorz.get() directly. It returns a list
and writes nothing, leaving the preset cache that kitty, dunst and neovim read
untouched. Verified across six wallpapers with colors.json byte-identical after.
Also replaces HLS hue matching with CIELAB, after prototyping showed HLS
snapping orange to yellow and red to flamingo, and narrows the candidate set to
nine accents, dropping near-neutral tints and duplicate hues that captured
saturated inputs.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01G6aeE37K4GHBsaM51yLTTq
|
|
Catppuccin Macchiato base with a pywal-driven accent snapped to the nearest
named Macchiato accent. Phase 1 scope is rofi: collapse five theme systems
into three shared layouts over one palette, covering eleven call sites.
Records the four brainstorming decisions and the alternatives rejected, so
later phases (waybar, dunst, kitty, conky, hyprland, quickshell) reuse the
mechanism rather than relitigate it.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01G6aeE37K4GHBsaM51yLTTq
|