From 0a05e36fe5912ac6f26f2c3ecea84c8b29a3fc8a Mon Sep 17 00:00:00 2001 From: "Danilo M." Date: Fri, 25 Sep 2026 20:23:01 +0200 Subject: feat(palette): emit peach, mauve and termblue for quickshell palette.rasi is what udt-accent forwards to quickshell as udt-palette.qml, and the keybind reminder there draws the macropad's orange, purple and blue keycaps. peach and mauve come from the peach and highlight roles every scheme defines; mauve used to be added only to waybar's compat list, which now reads it from ROFI_NAMES instead of defining it twice. The existing "blue" name carries the active-border role, magenta under candy-night, so the terminal's blue goes out as termblue. The first spelling, term_blue, made rofi reject palette.rasi and with it every theme; AGENTS.md now says so next to the selftest. Co-Authored-By: Claude Opus 5.5 --- bin/udt-palette | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) (limited to 'bin') diff --git a/bin/udt-palette b/bin/udt-palette index 04451f7..f603899 100755 --- a/bin/udt-palette +++ b/bin/udt-palette @@ -145,6 +145,12 @@ ROFI_NAMES = [ ("overlay0", "fg_faint"), ("overlay1", "mid_low"), ("overlay2", "mid_high"), ("red", "critical"), ("green", "success"), ("yellow", "warning"), ("teal", "info"), ("blue", "border_active"), ("lavender", "accent"), + # Not referenced by any rofi theme. Here because palette.rasi is also + # what udt-accent forwards to quickshell, whose keybind reminder draws + # the macropad's orange, purple and blue keycaps in them. "blue" above is + # the active border, which is magenta under candy-night; termblue is the + # terminal's blue, a real blue in every scheme but Dracula, which has none. + ("peach", "peach"), ("mauve", "highlight"), ("termblue", "blue"), ] @@ -192,11 +198,10 @@ def gen_waybar(res, scheme, palette): palette_rows = "\n".join(f"@define-color {k:<12}{v};" for k, v in sorted(palette.items())) - # The names the hand-edited stylesheets reference. ROFI_NAMES already maps - # most of them; mauve is the one waybar uses and rofi does not. + # The names the hand-edited stylesheets reference, all in ROFI_NAMES. compat_rows = "\n".join( f"@define-color {name:<12}{rgba(res[role])};" - for name, role in [*ROFI_NAMES, ("mauve", "highlight")]) + for name, role in ROFI_NAMES) def emit(role, css_name=None): c = res[role] -- cgit v1.2.3