diff options
| author | Danilo M. <danix@danix.xyz> | 2026-09-11 10:52:07 +0200 |
|---|---|---|
| committer | Danilo M. <danix@danix.xyz> | 2026-09-11 10:52:07 +0200 |
| commit | f6ee56d57435ad6b3e11c28ee81a41fffbeca03b (patch) | |
| tree | 5317a8388a55a1afb47285ac06f9d79e10800d60 /bin/udt-accent | |
| parent | 9da84aa09ce479a329db5decde96d0ae0cced527 (diff) | |
| download | unified-desktop-theme-f6ee56d57435ad6b3e11c28ee81a41fffbeca03b.tar.gz unified-desktop-theme-f6ee56d57435ad6b3e11c28ee81a41fffbeca03b.zip | |
feat: unify Qt5, Qt6 and GTK on Macchiato with a lavender accent
Installs the upstream Catppuccin Kvantum and GTK themes and points all four
toolkits at them. Qt5 and Qt6 previously disagreed with each other as well as
with the desktop: qt5ct carried a hand-rolled grey/purple palette and qt6ct used
the stock darker.conf. Both now take their palette from Kvantum.
Two things were not where they looked. GTK3's theme comes from gsettings on
Wayland, not settings.ini, and gsettings was pinned to Breeze, which silently
overrode the file; its icon-theme was likewise on breeze-dark while
settings.ini said Material-Black-Plum-Suru. GTK4 ignores gtk-theme-name
entirely, so its stylesheet is symlinked into ~/.config/gtk-4.0 instead.
The accent is fixed rather than wallpaper-tracking, since Qt and GTK apps only
reread a theme on restart. Lavender also replaces mauve as udt-accent's
fallback so everything without a wallpaper-derived accent agrees.
catppuccin/gtk is archived upstream. v1.0.3 works today but will not track
future libadwaita changes; it is removable by deleting the directory.
The tracked qt5ct/qt6ct files carry only the theme-relevant keys: the live
files also hold an ignored_applications list of local paths.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01G6aeE37K4GHBsaM51yLTTq
Diffstat (limited to 'bin/udt-accent')
| -rwxr-xr-x | bin/udt-accent | 16 |
1 files changed, 10 insertions, 6 deletions
diff --git a/bin/udt-accent b/bin/udt-accent index 978f340..e88a512 100755 --- a/bin/udt-accent +++ b/bin/udt-accent @@ -19,12 +19,15 @@ import sys import tempfile from pathlib import Path -# The nine candidate accents. rosewater and flamingo are excluded as -# near-neutral tints that capture saturated inputs; maroon, sapphire and -# lavender are excluded as near-duplicate hues of red, sky and mauve. +# The candidate accents. rosewater and flamingo are excluded as near-neutral +# tints that capture saturated inputs, and maroon and sapphire as near-duplicate +# hues of red and sky. lavender sits close to mauve but is kept: it is the +# desktop-wide fallback, used by Qt, GTK and anything else that needs one fixed +# accent, so it has to be a value snap() can also return. ACCENTS = { - "pink": "#f5bde6", - "mauve": "#c6a0f6", + "pink": "#f5bde6", + "mauve": "#c6a0f6", + "lavender": "#b7bdf8", "red": "#ed8796", "peach": "#f5a97f", "yellow": "#eed49f", @@ -34,7 +37,7 @@ ACCENTS = { "blue": "#8aadf4", } -FALLBACK = "mauve" +FALLBACK = "lavender" MIN_CHROMA = 10.0 OUTPUT = Path.home() / ".cache" / "wal" / "udt-accent.rasi" @@ -226,6 +229,7 @@ def selftest(): # A near-grey has an unstable hue angle and must take the fallback. assert snap("#888888") == FALLBACK, snap("#888888") + assert FALLBACK in ACCENTS, FALLBACK # Border neighbours must be distinct from the accent and from each other, # or the gradient has nothing to animate between. |
