diff --git a/agent/BACKLOG.md b/agent/BACKLOG.md index 9ab5576..02e9fed 100644 --- a/agent/BACKLOG.md +++ b/agent/BACKLOG.md @@ -50,12 +50,6 @@ still doesn't open the keybindings cheatsheet. Re-diagnose: confirm the Hyprland bind's modmask/keysym against the *actual* layout, whether rofi 2.0.0 changed anything, and that the cheatsheet path still resolves. -### 34. Menu "Back" shows double arrows `[bug]` -(Raised by Bernardo, 2026-07-07 — item 4.) The shared `↩ Back` row draws -a glyph arrow in its label AND an icon arrow — two arrows. Drop one (the -row icon or the inline glyph) so Back shows a single arrow. One fix in -the `back`/`row` helper in rofi.nix; applies to every submenu. - ### 40. Display rofi menu "Back" doesn't return `[bug]` (Raised by Bernardo, 2026-07-07 — item 10.) In System › Display, the Back row fails to return to the previous menu (other submenus' Back work diff --git a/agent/JOURNAL.md b/agent/JOURNAL.md index 45c1070..896d8fc 100644 --- a/agent/JOURNAL.md +++ b/agent/JOURNAL.md @@ -17,6 +17,20 @@ Template: --- +## 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. +- **Fix:** `back()` in `modules/home/rofi.nix` was `row "$BACK" + go-previous` (label + icon). Changed to `printf '%s\n' "$BACK"` — now + identical to what the plain pick-lists already append, so every Back row + shows a single `↩` glyph. Kept `BACK="↩ Back"` as the universal + label/match, so no case-branch comparison changed (no risk of a Back + that fails to return — the item-40 failure mode). Collision-exact match + preserved by the glyph. +- **Verified:** V0 `nix flake check --no-build` green (evaluates + homeConfigurations). Single-arrow result is deterministic from the code; + visual confirmation on hardware is nice-to-have, not load-bearing. + ## 2026-07-07 — Battery charge-limit quick toggle (iteration #55) - **Task:** BACKLOG PROPOSED (promoted by Bernardo) — a toggle for the battery charge threshold. diff --git a/modules/home/rofi.nix b/modules/home/rofi.nix index 64ee6eb..1d009f1 100644 --- a/modules/home/rofi.nix +++ b/modules/home/rofi.nix @@ -188,12 +188,14 @@ let # Esc is their back path; free-text prompts (web, ask) have no list to # append to — Esc cancels. Everything hand-rolled gets the row below. # General menu convention: every list menu ends with a "↩ Back" entry that - # returns one level up (so you never have to Esc out and reopen). `back` - # emits it with an icon; plain pick-lists append the bare label instead. - # Always matched EXACTLY ("↩ Back") so it can't collide with clipboard or - # filename content. The arrow + go-previous icon read as "go back". + # returns one level up (so you never have to Esc out and reopen). The `↩` + # glyph in the label IS the arrow — `back` must not also attach a + # go-previous icon, or icon menus render two arrows (item 34). So `back` + # is now just the plain-label emit, identical to what pick-lists append — + # one arrow everywhere. Always matched EXACTLY ("↩ Back") so it can't + # collide with clipboard or filename content. BACK="↩ Back" - back() { row "$BACK" go-previous; } + back() { printf '%s\n' "$BACK"; } case "''${1:-}" in power)