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:
@@ -62,6 +62,15 @@ iteration would otherwise rediscover.
|
||||
state write re-copies the source before eval — the wallpapers-artifact
|
||||
split (BACKLOG LATER) is the decided fix (§ Faster switches).
|
||||
|
||||
## Design invariants
|
||||
- **Waybar status is never color-only** (item 28 sweep, iteration #69):
|
||||
every status module must distinguish its states by SHAPE (glyph) or
|
||||
presence (self-hide), never color alone — good/warn/bad collapse under
|
||||
color-blindness. When adding a state, give it a distinct glyph or gate
|
||||
the module on it; a new `class` that only recolors an existing glyph is
|
||||
a regression. Suppressed notification states (DND *and* app-inhibited)
|
||||
all use the bell-off glyph + @muted.
|
||||
|
||||
## Gotchas (cost a debugging session once)
|
||||
- Waybar `layer: top` renders above **even real-fullscreen windows** — the
|
||||
bar draws over a fullscreen video. `layer: bottom` lets the fullscreen
|
||||
|
||||
Reference in New Issue
Block a user