fix(rofi): Display menu Back returns to System on single-monitor
All checks were successful
Check / eval (push) Successful in 3m0s

The mode picker's Back did `exec "$0" display`. On a single-monitor
machine with no display profiles the output chooser is skipped, so
re-running `display` dropped straight back into the same mode picker — an
apparent no-op. Track modeBack (display when the chooser was shown, else
system) and dispatch Back to it, so single-monitor Back leaves Display.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
2026-07-07 21:45:11 +01:00
parent 6c61b51d55
commit cd5d3b51e2
3 changed files with 22 additions and 7 deletions

View File

@@ -17,6 +17,21 @@ Template:
---
## 2026-07-07 — Display menu "Back" doesn't return (iteration #57, item 40)
- **Task:** BACKLOG item 40 — in System Display the Back row didn't
return on a single-monitor machine.
- **Root cause:** the mode picker's Back did `exec "$0" display`. On a
single-monitor laptop with no display profiles, the output chooser is
skipped, so re-running `display` drops straight back into the *same*
mode picker — an apparent no-op. (Multi-monitor works: `display`
re-shows the chooser, a genuine previous level.)
- **Fix:** `modules/home/rofi.nix` display handler now tracks `modeBack`
`display` when the chooser was shown, else `system`. Mode-picker Back
does `exec "$0" "$modeBack"`, so single-monitor Back leaves Display for
System.
- **Verified:** V0 `nix flake check --no-build` green. Logic is
deterministic; the single- vs multi-monitor branch is the whole fix.
## 2026-07-07 — Menu "Back" double arrows (iteration #56, item 34)
- **Task:** BACKLOG item 34 — every submenu's `↩ Back` row drew two
arrows: the `↩` glyph in the label AND a themed `go-previous` icon.