Repository navigation
Fix keyboard navigation in the Open Recent dialog - #725
Merged
Merged
Conversation
Make the keyboard open what the arrow keys picked, the same as a double click does, when the list rather than the search field has focus. * Open the selection on Return or keypad Enter reaching the controller from the list, which forwards those keys unhandled * Track the selection when it moves by keyboard, not only on a click * Cover both keys with tests that drive the list through key events
Move the selection up by exactly one row while the search field has focus, and stay put on the top row instead of throwing. * Step up from the current row once, not twice, which also stops the unsigned index wrapping below zero on the top row * Cover both cases with tests that type into the search field
goneng
force-pushed
the
open-recent-with-return
branch
from
September 25, 2026 17:18
b4b5d76 to
74c8782
Compare
goneng
marked this pull request as ready for review
September 25, 2026 17:20
Contributor
hannesa2
approved these changes
Sep 25, 2026
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.




Make the keyboard in the Open Recent dialog open and select the row it
points at, whether the list or the search field has focus.
Description
Tabbing from the search field to the list and picking a row with the
arrow keys left Return with nothing to do, so it just beeped; only the
search field handled it. With the search field focused, Up stepped two
rows at a time and threw on the top row, which AppKit swallows as a
lost keypress.
the selection when it moves by keyboard, not only on a click
Screenshots
In this case (when the list is in focus), pressing [Enter] just bleeps:
Test plan
OpenRecentControllerKeyboardTestsfail before each fix and passafter it; the full unit suite passes (220 tests)
in the search field, Up moves one row and stops on the top row