fix(themes): light themes — readable inactive workspaces + notification hover
All checks were successful
Check / eval (push) Successful in 4m9s
All checks were successful
Check / eval (push) Successful in 4m9s
Two hardware-reported contrast bugs, both the same family: surfaces
that fell back to something designed on dark.
1. Inactive workspace numbers unreadable on every light theme.
- Generated bar: the @muted dim role is floor-gated at only 2.0:1 —
fine as "dim" on dark, washed out at number size on light. Light
mode now promotes inactive buttons to @subtext (3.0 floor,
typically 4-7:1); dark themes keep @muted.
- boreal-dawn + kiln-clay whole-swaps: same @muted -> @subtext
(6.4:1 / 6.6:1).
- summer-day whole-swap: had NO button color rule at all — the
container's @fg does not inherit into GTK buttons, so the numbers
took the GTK default over the cream chip. Explicit @fg_dim
(= the palette's subtext, 4.0:1) added.
- executive-ivory already used @subtext; untouched.
2. Notification popup unreadable on hover (bg turns dark, text stays
dark). Root cause found by probing, not guessing: the popup body is
one big GTK button (.notification-default-action) and swaync's
DEFAULT stylesheet — still loaded under our style.css — hovers it to
rgb(56,56,56). Our sheet never overrode that node (only the
control-center row), so the default bled through; on light themes
dark @text sat on it. Now the body + action buttons + close button
are re-pinned to the palette's alpha(@text) tint construction —
mode-proof by construction. The first fix attempt (row-level hover)
was probed, SHOWN insufficient, and replaced.
Verification: V2. nix flake check --no-build, theme-wholeswap,
theme-contrast green. §3 evidence viewed: a purpose-built VM hover
probe under summer-day (notify-send -u critical, cursor parked ON the
popup, screenshot) — before: dark card, drowned text (reproduces the
report exactly, /nix/store/q1qf67fl...notify-shot-summer-day); after:
cream card + faint tint, fully readable (shot-notify2). Bar renders
verified under catppuccin-latte (generated light path incl. the mode
branch) and summer-day (edited whole-swap). An inactive-number visual
needs two live workspaces — VM shows one — so the on-hardware
confirmation is queued (HARDWARE-QUEUE light-theme refits entry);
the ratio change itself is machine-checked.
Bookkeeping riding along: BACKLOG #152 deleted (shipped in d79ad35).
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
@@ -33,24 +33,6 @@ flake pin are different root causes even when they show up on the same machine.
|
||||
|
||||
## NEXT
|
||||
|
||||
### 152. Generated waybar polish: bar height vs workspace highlighter, right-edge icon spacing
|
||||
|
||||
Bernardo, 2026-07-17. Two visual fixes to the **generated** bar (the one
|
||||
every theme without a `waybar.jsonc`/`waybar.css` whole-swap gets — the
|
||||
4 whole-swap themes are out of scope unless the parity rule drags them in):
|
||||
- **Bar height:** make the bar a bit taller so the selected-workspace
|
||||
highlighter no longer renders taller than the bar itself (today it
|
||||
visually overflows/clips the bar edge).
|
||||
- **Right-module spacing:** the icon distances on the right cluster look
|
||||
uneven — e.g. the power button sits too close to the screen edge; give
|
||||
the cluster consistent inter-icon spacing and sane end padding.
|
||||
|
||||
This is §3 visual-protocol work (agent/THEME-DESIGN.md + VERIFICATION §3):
|
||||
before/after screenshots, two themes (one generated palette + one
|
||||
whole-swap for the no-regression side), scripted checks first, actually
|
||||
view the captures. Waybar CSS ↔ tray-menu gotchas in agent/MEMORY.md
|
||||
apply (never scope `*`).
|
||||
|
||||
### 151. `[human]` v1 launch plan — devise with Bernardo (includes the GitHub move)
|
||||
|
||||
Bernardo, 2026-07-17: before tagging v1, sit down and devise the launch plan.
|
||||
|
||||
@@ -42,6 +42,14 @@ Everything else below stays open; order is convenience, not a gate.
|
||||
four (the `*`-reset counter-rules). If a VM-rendered preview looks
|
||||
off in the theme-picker grid next to the hardware-captured ones,
|
||||
recapture that preview on hardware into themes/<slug>/preview.png.
|
||||
- [ ] **Light-theme contrast refits (2026-07-18 report)** — under any
|
||||
light theme: (1) with two workspaces open, the inactive number is
|
||||
readable on the bar (subtext, not the washed-out grey); (2) hover a
|
||||
notification popup — background stays the theme's light card with a
|
||||
faint tint, text readable (the swaync default's dark
|
||||
.notification-default-action hover is now overridden); close
|
||||
button matches the palette. VM-verified with a hover probe under
|
||||
summer-day; this is the on-hardware confirmation of the report.
|
||||
- [ ] **Auto-theme pair flip on hardware** — set
|
||||
`settings.autoTheme.{day,night}` to one of the new pairs (e.g.
|
||||
kiln-clay / kiln), force sunrise/sunset around the current time,
|
||||
|
||||
Reference in New Issue
Block a user