diff --git a/agent/BACKLOG.md b/agent/BACKLOG.md index d8d5376..9ab5576 100644 --- a/agent/BACKLOG.md +++ b/agent/BACKLOG.md @@ -26,6 +26,60 @@ next, in what order*. ## NEXT +### 31. rofi search broken under rofi 2.0.0 `[bug]` +(Raised by Bernardo, 2026-07-07.) Typing a lowercase query fails to +match (`steam` doesn't select **Steam**) and Enter launches the first +entry instead (ghostty) — i.e. matching behaves case-sensitively and the +selection never moves off row 0. **Not a missing config key:** the +generated config already sets `case-sensitive = false`, `matching = +"fuzzy"`, `sort = true`, `sorting-method = "fzf"`, and `rofi -dump-config` +shows rofi 2.0.0 honours them (they're its new defaults). The lock bump +`8fded63` pulled **rofi 2.0.0** (a major version) — this is a 2.0 +behaviour change. Needs interactive repro on a session (can't be +eyeballed headlessly). Candidate levers to A/B live: `matching` +(normal/prefix vs fuzzy), `-i`/`case-smart`/`normalize-match` (new 2.0 +knobs), `sort`/`sorting-method`, and the per-modi `sorting-method:"name"` +default 2.0 shows for drun. Fix once, then bake into +`programs.rofi.extraConfig`. Covers Bernardo's item 1 (case-insensitive +search). + +### 32. SUPER+? cheatsheet bind still not opening `[bug]` +(Raised by Bernardo, 2026-07-07 — item 2.) Item 26's fix (SHIFT in the +bind modmask so the shifted `question` keysym fires) shipped, but SUPER+? +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 +— cf. the item 24 audit). Trace the Display handler's Back case / +dispatch target. + +### 39. Icons in the power-profile rofi menu +(Raised by Bernardo, 2026-07-07 — item 9.) The power-profile picker +(rofi.nix `power-profile`) lists profiles as bare text; add per-profile +icons (performance/balanced/power-saver) like the other System rows. +Small. + +### 36. Battery / power quick menu +(Raised by Bernardo, 2026-07-07 — items "battery toggle in a rofi +submenu" + item 6.) Two slices: +- (a) **Move the charge-threshold toggle into the rofi System submenu.** + Iteration #55 put it in the gum control-center; Bernardo wants it as a + first-class row in `nomarchy-menu` › System (self-gated on the + `charge_control_end_threshold` sysfs node), reusing the preset picker. +- (b) `[human]` **Battery-icon click → a dedicated power menu** offering + charge threshold + power profile (and switching backend to TLP when + relevant). Bernardo will provide a mockup ("when it's time") — hold + design until then. Pairs with the instant-effect follow-up in PROPOSED. + ### 29. Laptop docking / external-monitor UX `[human]` (needs hardware) (Raised by Bernardo, 2026-07-07.) The shipped display application is weak and unintuitive, and Hyprland's model for workspaces across @@ -220,7 +274,42 @@ The remaining stretch of the CI item — checks-on-push is live and Register a second runner on a host with `/dev/kvm` + nix (host-mode label `nix-kvm`), then an agent uncomments the workflow's `vm-checks` job: the `checks.*` VM suite + real toplevel/HM builds on every push -(also upgrades item 14's bump gate from eval-only to the full suite). +that later upgrades item 14's bump gate from eval-only to the full suite. + +### 33. rofi page-overflow hint (scrollbar) +(Raised by Bernardo, 2026-07-07 — item 3.) When a list/grid overflows +onto another page, nothing signals there's more below. Add a scrollbar +(rofi's `scrollbar` element) or a "more ↓" hint, themed to the palette, +on the launcher grid and the long text menus. Check rofi 2.0.0's +scrollbar support/theming. + +### 35. Right-click volume → audio control app +(Raised by Bernardo, 2026-07-07 — item 5.) Right-click the Waybar +`pulseaudio` module to open a mixer (e.g. pavucontrol) in a floating +window. Wire `on-click-right` in `waybar.nix` AND the whole-swap jsoncs +(parity rule); add a Hyprland `windowrulev2 = float` for the mixer. +Ship the mixer in the template's `home.packages`. Pairs with item 41. + +### 37. Default video + audio players + mime associations +(Raised by Bernardo, 2026-07-07 — item 7.) Install a video player and an +audio player by default in `templates/downstream/home.nix`, and wire the +mime defaults (item 8's `xdg.mimeApps` surface) so audio/video files open +in them. (mpv already the video default per HARDWARE-QUEUE — confirm and +extend to audio; pick the audio player.) + +### 38. Capture-to-file keybinds +(Raised by Bernardo, 2026-07-07 — item 8.) Add binds for "capture region +→ file" and "capture screen → file" (distinct from the existing +clipboard/recording capture flows), landing PNGs in ~/Pictures. Add to +`keybinds.nix` (single source → Hyprland + the SUPER+? cheatsheet) and +the Capture menu; reuse the existing grim/slurp plumbing. + +### 41. Floating-window audit +(Raised by Bernardo, 2026-07-07 — item 11.) Decide which windows should +open floating by default (config dialogs, pavucontrol, file-chooser +portals, calculators, etc.) and add the `windowrulev2 = float` rules in +`hyprland.nix`. Enables items 35/36b. Produce the list first, then the +rules.