feat(bar): group rhythm + semantic @muted dim states (item 28c)
All checks were successful
Check / eval (push) Successful in 2m57s
All checks were successful
Check / eval (push) Successful in 2m57s
Two polish items from the 1080p review. The right cluster gains a wider breath (margin-left 14px) before each functional group — media (pulseaudio/cpu/memory), toggles (powerprofile/nightlight/language), status (battery/updates/notification); a self-hiding group head degrades to the uniform spacing. Dim states (inactive workspaces, DND bell, muted volume) move from alpha(@text, 0.5) tints to the palette's @muted role — safe now that 28b floor-gates muted/base >= 2.0 in every theme; the CSS comment that warned against @muted documented the pre-28b palettes and now states the new invariant. Whole-swap bars untouched (authored identity). Verified: V0; V1 (rendered CSS carries the rule + 4 @muted uses); visual — tokyo-night 1080p re-capture shows the themed backdrop (iteration #35's fix, navy not black), the group gap, and legible muted workspaces. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
@@ -279,13 +279,14 @@ let
|
||||
border-radius: ${toString t.ui.rounding}px;
|
||||
}
|
||||
|
||||
/* Dim/secondary shades are alpha(@text) tints, NOT the palette's
|
||||
subtext/muted roles — those mean "on-surface" in some palettes
|
||||
(flexoki-light: subtext==base, gruvbox: muted≈base) and vanish
|
||||
against the bar (item 27; tools/check-theme-contrast.py). */
|
||||
/* Dim states use the palette's @muted role: since item 28b it is
|
||||
floor-guaranteed legible on @base in every theme (muted/base >=
|
||||
2.0, gated by tools/check-theme-contrast.py) — the palettes that
|
||||
once made it vanish (gruvbox muted≈base, item 27) were retuned.
|
||||
Secondary-but-not-dim stays alpha(@text, 0.85). */
|
||||
#workspaces button {
|
||||
padding: 0 8px;
|
||||
color: alpha(@text, 0.5);
|
||||
color: @muted;
|
||||
border-radius: ${toString t.ui.rounding}px;
|
||||
}
|
||||
|
||||
@@ -314,6 +315,13 @@ let
|
||||
padding: 0 10px;
|
||||
}
|
||||
|
||||
/* Group rhythm (item 28c): a wider breath before each functional
|
||||
group of the right cluster — media/stats · toggles · status —
|
||||
on top of the uniform module spacing. A group head can self-hide
|
||||
(e.g. no battery on desktops); grouping then degrades to the
|
||||
uniform spacing, never breaks. */
|
||||
#pulseaudio, #custom-powerprofile, #battery { margin-left: 14px; }
|
||||
|
||||
/* Caffeine engaged → warm tone (the screen is being held awake). */
|
||||
#idle_inhibitor.activated { color: @warn; }
|
||||
|
||||
@@ -336,9 +344,9 @@ let
|
||||
/* notifications waiting → accent; Do-Not-Disturb → muted bell-off */
|
||||
#custom-notification.notification { color: @accent; }
|
||||
#custom-notification.dnd-none,
|
||||
#custom-notification.dnd-notification { color: alpha(@text, 0.5); }
|
||||
#custom-notification.dnd-notification { color: @muted; }
|
||||
|
||||
#pulseaudio.muted { color: alpha(@text, 0.5); }
|
||||
#pulseaudio.muted { color: @muted; }
|
||||
#battery.warning { color: @warn; }
|
||||
#battery.critical { color: @bad; }
|
||||
#battery.charging { color: @good; }
|
||||
|
||||
Reference in New Issue
Block a user