diff options
| author | Danilo M. <danix@danix.xyz> | 2026-09-27 18:23:03 +0200 |
|---|---|---|
| committer | Danilo M. <danix@danix.xyz> | 2026-09-27 18:23:03 +0200 |
| commit | 154bb069476e9e3a438b76774a739e980b49494e (patch) | |
| tree | 4c82e4cd7f15f40e08bd11a1749f44d910aa2abf /bin/udt-accent | |
| parent | 0a05e36fe5912ac6f26f2c3ecea84c8b29a3fc8a (diff) | |
| download | unified-desktop-theme-154bb069476e9e3a438b76774a739e980b49494e.tar.gz unified-desktop-theme-154bb069476e9e3a438b76774a739e980b49494e.zip | |
feat(palette): add a translucent scrim role for fullscreen overlays
The power menu's ground was a hardcoded rgba(36, 39, 58, 0.88),
Macchiato's base, so every other scheme drew its overlay with a
Macchiato tint. Each roles file now defines scrim as its own
background at 88% alpha, udt-palette emits it into palette.rasi, and
powermenu.rasi uses @scrim.
scrim is the first translucent palette entry, so udt-accent's QML
palette no longer drops the alpha pair: an opaque colour still goes
out as #rrggbb, a translucent one as QML's #aarrggbb.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Diffstat (limited to 'bin/udt-accent')
| -rwxr-xr-x | bin/udt-accent | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/bin/udt-accent b/bin/udt-accent index e366bb1..72d3a64 100755 --- a/bin/udt-accent +++ b/bin/udt-accent @@ -242,9 +242,9 @@ def write_hyprlock_border(name): def read_palette(): """Parse palette.rasi into {name: "#rrggbb"}. - rofi writes colours as #rrggbbaa; QML wants #rrggbb, and every entry in - that file is fully opaque, so the alpha pair is dropped rather than - converted. Returns an empty dict if the file is missing, which leaves the + rofi writes colours as #rrggbbaa; QML wants #rrggbb, or #aarrggbb when + translucent. Only scrim is, so an opaque alpha pair is dropped and any + other is moved to the front. Returns an empty dict if the file is missing, which leaves the QML palette to fall back to its own defaults. """ try: @@ -254,7 +254,8 @@ def read_palette(): found = {} for key, value in re.findall(r"(\w+):\s*#([0-9a-fA-F]{6,8})\s*;", text): - found[key] = "#" + value[:6] + alpha = value[6:].lower() + found[key] = "#" + (alpha if alpha not in ("", "ff") else "") + value[:6] return found |
