fix(waybar): inhibited notification state reads by shape, not color alone
All checks were successful
Check / eval (push) Successful in 2m59s
All checks were successful
Check / eval (push) Successful in 2m59s
Item 28 color-only accessibility sweep. Swept every Waybar status indicator for shape/glyph redundancy: all already carry non-color distinction (updates shows a count + self-hides; vpn/doctor/nightlight/ recording self-gate; battery/idle/muted are glyph-distinct) except the swaync notification module — its `inhibited-*` states reused the normal bells (/), so an app-inhibited (suppressed) state was distinguished from a normal one by color alone. Route every suppressed state (DND + inhibited) to the bell-off glyph + @muted, so "notifications are off right now" reads by SHAPE. Applied to the generated bar and all four whole-swaps (summer-day/night use their own bell-off glyph; executive-slate/boreal use ) — parity rule. Reuses the glyph DND already ships, so no new codepoint / tofu risk. Verified: V0 (flake check --no-build; 4 jsoncs valid JSON) + V1 (built homeConfigurations.nomarchy.activationPackage — the built config has inhibited-* = U+F009B and style.css routes .inhibited-* → @muted). V3 pending: live inhibited-state render with an app holding an inhibitor (HARDWARE-QUEUE). MEMORY gains the "status is never color-only" invariant. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
@@ -175,13 +175,21 @@ palettes + visual pass over previews; identity-aware curation):**
|
||||
- **P2 · text-on-surface < 4.5:** ristretto 3.88, latte 4.39 (menus
|
||||
and chips draw text on surface).
|
||||
- **P3 · accentAlt-on-base < 3:** latte 2.34, summer-day 2.83.
|
||||
- **Design rule (systemic, beats palette surgery): status is never
|
||||
color-only.** good/warn collapse under protanopia on ~half the
|
||||
themes and good/bad under deuteranopia (59 pair-findings) — that's
|
||||
inherent to red/green/yellow, not fixable per-palette. Battery and
|
||||
recording already carry glyph changes; sweep the remaining
|
||||
color-only indicators (updates count, notification dot, VPN shield
|
||||
states) for shape/glyph redundancy.
|
||||
- ~~**Design rule (systemic): status is never color-only.**~~ ✓ swept
|
||||
iteration #69 (2026-07-08). good/warn collapse under protanopia and
|
||||
good/bad under deuteranopia is inherent to red/green/yellow, not
|
||||
fixable per-palette — but the sweep found every Waybar status
|
||||
indicator already carries non-color redundancy: **updates** shows a
|
||||
count (` N`) and self-hides; **vpn/doctor/nightlight/recording**
|
||||
self-gate (presence *is* the state); **battery** changes glyph by
|
||||
level + bolt-on-charge; **idle_inhibitor** (/) and
|
||||
**pulseaudio.muted** () are glyph-distinct. The one real gap: swaync
|
||||
**inhibited-** states reused the normal bells (/), so "notifications
|
||||
suppressed by an inhibitor" was distinguished from normal by *color
|
||||
alone* — fixed by routing every suppressed state (DND or inhibited) to
|
||||
the bell-off glyph + @muted, in the generated bar and all four
|
||||
whole-swaps (parity). V3-pending: confirm the muted bell-off renders
|
||||
while an app holds a notification inhibitor (HARDWARE-QUEUE).
|
||||
- **Identity exemptions, made explicit:** vantablack + white
|
||||
(deliberately hueless statuses), lumon (all-blue), hackerman
|
||||
(matrix green statuses), matte-black/retro-82 (off-family hues) are
|
||||
|
||||
Reference in New Issue
Block a user