fix(rofi): #143 — reset selection to row 0 on query edits (inputchange)
Upstream keeps the selected row *index* across a refilter (rofi#2317),
so backspacing grew the list back under a stationary highlight and Enter
launched the wrong app. The maintainer's reply pointed at the
inputchange {} config block — adopted as pure config in the generated
config.rasi (kb-row-first on every query edit), no patch, no source
build. Covers every rofi surface: drun, text menus, dmenu pickers.
V2: headless VM (theme-shot variant driving QMP keystrokes). On HEAD the
repro left the highlight on row 3 (kitty -> Bulk Rename); patched, the
highlight snaps to the first entry after backspace — verified in the
executive-slate drun grid, boreal's whole-swap grid, and the
keyboard-layout dmenu picker. nix flake check --no-build passes; the
rendered config.rasi carries the nested block.
Backlog #143 deleted (watch closed), decision recorded as Resolved,
ROADMAP checkmark added.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
@@ -589,6 +589,25 @@ Design/decision records and a running log of shipped work (items marked
|
||||
hardened against — a clean install cannot reach that state. V2:
|
||||
`checks.doctor` grew a linger sub-case (warn fires, exit stays 0, clears
|
||||
after `disable-linger`). The Waybar exec-once loose thread became #149.
|
||||
- ✓ **Rofi highlight lands on an unrelated entry after backspace (#143,
|
||||
2026-07-17):** upstream keeps the selected row *index* across a refilter
|
||||
(rofi#2317), so backspacing grew the list back under a stationary
|
||||
highlight — Enter then launched the wrong app. Bernardo's 07-16 ruling
|
||||
("wait for upstream, no source-built rofi distro-wide") was priced
|
||||
against a patch; the maintainer's reply pointed at a knob the item's
|
||||
`-dump-config` survey had missed: the `inputchange {}` configuration
|
||||
block. Shipped as config, zero build cost: `inputchange { action:
|
||||
"kb-row-first"; }` in the generated `config.rasi` (rofi.nix
|
||||
extraConfig — home-manager renders nested sections), so every edit of
|
||||
the query resets the highlight to row 0, dmenu/launcher/text-menus
|
||||
alike — the same "reset on filter change" dmenu and fuzzel ship.
|
||||
Trade-off accepted: arrow-down-then-refine no longer holds position,
|
||||
but that is precisely the interaction that was broken. V2 headless VM
|
||||
(scratch theme-shot variant driving QMP keystrokes): on HEAD the
|
||||
repro's highlight stayed on row 3 ("kitty" → "Bulk Rename"); patched,
|
||||
backspace snaps it to the first entry — shown in the drun grid
|
||||
(executive-slate), boreal's whole-swap grid, and the keyboard-layout
|
||||
dmenu picker.
|
||||
- ✓ **Dock mode survives a rebuild (#142, 2026-07-16):** Bernardo: every rebuild
|
||||
while docked re-lit the laptop panel and threw a workspace onto it, and he
|
||||
re-picked Dock mode by hand. It was not forgetfulness — **a rebuild performed
|
||||
|
||||
Reference in New Issue
Block a user