diff --git a/agent/HARDWARE-QUEUE.md b/agent/HARDWARE-QUEUE.md index f8ad2b1..af8a425 100644 --- a/agent/HARDWARE-QUEUE.md +++ b/agent/HARDWARE-QUEUE.md @@ -616,6 +616,15 @@ Everything else below stays open; order is convenience, not a gate. Acer's own fontconfig/DPI resolving `ch` the same way — try it under a **JetBrainsMono 14 theme** (summer-day/night, kanagawa), the widest case. +- [ ] **Theme-switch bar round-trip (2026-07-19 waybar-poke + gtk-pin fix)** — + after `nomarchy-pull` + `nomarchy-home`, switch dark → light → dark + (e.g. boreal → kiln-clay → kiln). Pass = the bar visibly restarts on + each switch and the workspace digits land per theme (dark-on-accent + active pill, dimmed inactives on dark themes) with no color carried + over from the previous theme; then start/stop a screen recording and + toggle airplane mode — the supervisor must survive both pokes + (`pgrep -lx nomarchy-waybar` still lists it). + ## Latitude 5310 / 5410 only - [ ] **v1 QA batch on-hardware pass** (583708d batch was QEMU-verified) — general smoke before the next `main → v1` promotion (broader than diff --git a/agent/JOURNAL.md b/agent/JOURNAL.md index f12002a..1ceea89 100644 --- a/agent/JOURNAL.md +++ b/agent/JOURNAL.md @@ -19,6 +19,26 @@ Template: --- +## 2026-07-19 — stale workspace-digit colors after theme switch (prev commit + this) +- **Task:** Bernardo live: bar digit colors wrong for boreal / + executive-slate / kiln after switching; a reboot "fixed" it. +- **Did:** Root-caused on Newton. (1) Every bar poke used `pkill -x + waybar`, but the nixpkgs wrap renamed the comm `.waybar-wrapped` — + switches never restarted/reloaded the bar (and unanchored RTMIN pokes + were killing the supervisor). (2) Stylix's #98 bare `button label` pin + outranks the colors waybar.css inherits onto `#workspaces button`, + frozen at bar start — all three screenshots' digits were kiln-clay's + @text. Fixed the pattern in 7 sites; scoped the #98 pin to dialogs. +- **Verified:** V0 flake check + py_compile; V1 HM generation + system + toplevel; live on Newton (V3-grade): restart via the new pattern, + RTMIN poke with the supervisor surviving, pixel-verified boreal digits + (@base-on-accent active, @muted inactive) under the scoped gtk.css. +- **Pending:** HARDWARE-QUEUE: deploy round-trip after nomarchy-home. + NB: waybar 0.15.0 `reload_style_on_change` is inert with HM symlinks + (upstream); harmless now that the restart path works. +- **Next suggestion:** close the queue entry once Bernardo's deploy + round-trip passes. + ## 2026-07-17 — #143 closed via upstream's own knob; executive-slate gets the icon grid (f899b19 + this) - **Task:** Bernardo live: rofi#2317 got a maintainer reply → adopt; plus "make executive-slate's app menu the boreal-style icon grid". diff --git a/docs/ROADMAP.md b/docs/ROADMAP.md index 4339ee6..94fafe7 100644 --- a/docs/ROADMAP.md +++ b/docs/ROADMAP.md @@ -1947,6 +1947,12 @@ Design/decision records and a running log of shipped work (items marked unsupervised/custom bars; `reload_style_on_change` stays for manual `home-update` restyles. VM-verified on the headless software-GL desktop: SIGKILL → new pid; clean kill → respawn; SIGUSR2 → alive. + **Follow-up (2026-07-19):** a later waybar package wrap renamed the + comm to `.waybar-wrapped`, silently no-oping every `pkill -x waybar` + (switches stopped touching the bar → the stale workspace-digit-color + bug), while the *unanchored* RTMIN pokes substring-matched the + supervisor's `nomarchy-waybar` comm and killed it. All pokes now use + `-x 'waybar|\.waybar-wrapped'`. - ✓ **`sys-rebuild`** (Latitude QA request): the no-update twin of `sys-update` — snapshot-first system rebuild against the *current* lock, for config-only changes; `home-update` was already lock-free. diff --git a/modules/home/stylix.nix b/modules/home/stylix.nix index 80bab19..6c68f4d 100644 --- a/modules/home/stylix.nix +++ b/modules/home/stylix.nix @@ -128,8 +128,18 @@ in color: #${base16.base00}; } - /* Dialog / message-box action buttons (#98). */ - button, button label, + /* Dialog / message-box action buttons (#98) — dialog-scoped + ONLY, never a bare `button` / `button label`. This file is + loaded by every GTK3 process including Waybar, and a direct + `button label` rule beats the color waybar.css puts on + `#workspaces button` (a rule matching the label node always + outranks color inherited from the button), so the old bare + pin painted the workspace digits with whatever palette was + live when the bar process started — the 2026-07-19 + stale-digit bug: switch themes, digits keep the previous + gtk.css color until the bar restarts. The real #98 fix is + forcing adw-gtk3-dark (below); these pins are only the + dialog safety net for a light sheet slipping in. */ .dialog-action-area button, .dialog-action-area button label, messagedialog button, @@ -138,7 +148,9 @@ in .message-dialog button label { color: #${base16.base05}; } - button:disabled, button:disabled label { + .dialog-action-area button:disabled, .dialog-action-area button:disabled label, + messagedialog button:disabled, messagedialog button:disabled label, + .message-dialog button:disabled, .message-dialog button:disabled label { color: alpha(#${base16.base05}, 0.5); } /* Accent buttons: the palette's base as the label, on a chip