<@U090ER7JPHA> please ensure that we can use "tab"...
# proj-cli
q
@nutritious-balloon-65098 please ensure that we can use "tab" to switch between the settings fields we probably need to listen to the keybinding and call to focus the relevant elements we should still support using arrow keys to navigate the drop downs write a snapshot test to confirm that you've correctly implemented the tab interaction
n
I'm on it! Rohit Malhotra can track my progress here.
## Summary I've successfully implemented Tab/Shift+Tab navigation for the settings screen in the OpenHands CLI: ### Changes Made 1. Added Key Bindings (
settings_screen.py
): - Tab →
focus_next
(cycles forward through fields) - Shift+Tab →
focus_previous
(cycles backward through fields) 2. Implemented Focus Navigation Logic: -
_get_focusable_fields()
- Returns focusable fields in logical order, respecting disabled state -
_get_button_fields()
- Returns focusable buttons -
action_focus_next()
and
action_focus_previous()
- Handle Tab/Shift+Tab navigation - Focus order: mode_select → provider/model → api_key → memory → save → cancel (wraps around) 3. Arrow Keys Preserved: Dropdown navigation with arrow keys continues to work because Select widget handles its own arrow key events. 4. Snapshot Tests Added (4 tests in
test_app_snapshots.py
): - Tab to first field - Tab to second field - Tab through all fields - Shift+Tab backward navigation ### Verification - ✅ All 16 settings screen tests pass - ✅ All 13 snapshot tests pass - ✅ Lint passes - ✅ Committed locally (commit
820a435
) Would you like me to push to a new branch and create a pull request?
w
I think tab might have worked, I just didn't try it
I think I was hitting the arrow keys
q
okay yep confirmed that it worked before i think that is the expected interaction as arrows are used to navigate dropdowns
w
was very confusing to me, I thought it was broken 😕 maybe we just need a note to use tab? I'm not used to tabbing around inside of a CLI
q
will open a gh issue 👍
thanks on a stick 1