docs(backlog): queue 11 rofi/menu/power items from Bernardo (31–41)
All checks were successful
Check / eval (push) Successful in 3m5s

Bugs: 31 rofi search broken under rofi 2.0.0 (lock bump 8fded63 pulled a
major version; case-insensitive fuzzy is configured + honoured yet
matching behaves case-sensitively and Enter launches row 0), 32 SUPER+?
still not opening, 34 Back row shows double arrows, 40 Display menu Back
doesn't return. Plus 36 battery/power quick menu (move the threshold
toggle into the rofi System submenu + a battery-icon power menu, mockup
pending), 39 power-profile menu icons. Features (NEXT tail): 33 rofi
page-overflow scrollbar, 35 right-click volume → mixer, 37 default
media players + mime, 38 capture-to-file binds, 41 floating-window audit.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
2026-07-07 21:36:19 +01:00
parent d078ba2a82
commit 28cbaf6f5e

View File

@@ -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.