Repository navigation
[ryoku] Hub search: keyboard navigation and Ctrl+F focus - #674
Merged
Merged
Conversation
Satirito
force-pushed
the
search-keyboard-nav
branch
2 times, most recently
from
October 30, 2026 18:15
0307f97 to
9da34b7
Compare
The rail search had no keyboard navigation over its results and answered only
to Ctrl+K. Up/Down now walk the hits with wrap-around, Enter opens the
selected one instead of always the top hit, the header shows N / TOTAL, and
Ctrl+F is accepted alongside Ctrl+K as the focus shortcut.
The settings search answered only to Ctrl+K and had no way to move between
results by keyboard: Enter always opened the top hit, and only the pointer
could select a row.
- A `searchCursor` property now tracks which result is active under the
keyboard. It resets to 0 on every edit and on dismissal, so refining a
query or reopening the field never leaves a stale row selected.
- `Keys.onUpPressed` / `Keys.onDownPressed` on the search field walk the
hits with wrap-around and scroll the list so the active row stays in view
(`searchList.positionViewAtIndex(hub.searchCursor, ListView.Contain)`).
- `onAccepted` opens `hub.searchCursor` instead of always index 0.
- The delegate highlights `rr.index === hub.searchCursor`, and
`MouseArea.onEntered` keeps the pointer and the keyboard cursor on the
same row, so a click after a key press looks like a continuation rather
than a jump.
- The header now shows `(cursor + 1) / TOTAL` next to the hit count.
- `Keys.onPressed` accepts `Ctrl+F` as well as `Ctrl+K`, the shortcut a
user instinctively reaches for in a settings app.
ryoku
- Read the existing handler at `Hub.ml` 1079-1084 and the overlay at
1752-1802 before editing; confirmed `Ctrl+F` was absent and that
`onAccepted` hardcoded index 0.
- Verified every edit against the file after writing: the cursor property,
the field handlers, the renamed `searchList` id, the delegate highlight,
the `onEntered` sync, the header counter, the `Ctrl+F` key test, and the
two reset sites all land where intended.
- `grep` confirms no em-dash in the three changed files.
- `.githooks/pre-commit` passes (rc=0). `qmllint` is not installed in this
environment, so the QML was validated by inspection instead; run
`qmllint ryoku/hub/quickshell/Hub.ml` on a dev box before merging.
- [x] One logical change, with a clear `[area] scope: summary` commit subject.
- [x] Matching `CHANGELOG.md` updated in the area I touched.
- [x] The git hooks pass locally; I did not use `--no-verify`.
- [x] QML parses where applicable. (`qmllint` is not installed here; verified
by inspection and the pre-commit hook.)
- [x] No duplicated config, no dead code, no commented-out code, no em-dash.
- [x] Docs updated: `ryoku/hub/README.md` mentions `Ctrl+F` alongside
`Ctrl+K`.
Note: New: Up/Down navigate the settings search results, Enter opens the
selected hit, and Ctrl+F focuses the search bar.
Satirito
force-pushed
the
search-keyboard-nav
branch
from
October 30, 2026 18:34
9da34b7 to
2459c66
Compare
Member
|
Thanks for the work here, this ships in the next v1 release. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What changed
The rail search had no keyboard navigation over its results and answered only
to Ctrl+K. Up/Down now walk the hits with wrap-around, Enter opens the
selected one instead of always the top hit, the header shows N / TOTAL, and
Ctrl+F is accepted alongside Ctrl+K as the focus shortcut.
Area
ryoku
How it was tested
Hub.ml1079-1084 and the overlay at1752-1802 before editing; confirmed
Ctrl+Fwas absent and thatonAcceptedhardcoded index 0.the field handlers, the renamed
searchListid, the delegate highlight,the
onEnteredsync, the header counter, theCtrl+Fkey test, and thetwo reset sites all land where intended.
grepconfirms no em-dash in the three changed files..githooks/pre-commitpasses (rc=0).qmllintis not installed in thisenvironment, so the QML was validated by inspection instead; run
qmllint ryoku/hub/quickshell/Hub.mlon a dev box before merging.Checklist
[area] scope: summarycommit subject.CHANGELOG.mdupdated in the area I touched.--no-verify.qmllintis not installed here; verifiedby inspection and the pre-commit hook.)
ryoku/hub/README.mdmentionsCtrl+FalongsideCtrl+K.Note: New: Up/Down navigate the settings search results, Enter opens the
selected hit, and Ctrl+F focuses the search bar.