mirror of
https://github.com/l0ng-ai/tty7.git
synced 2026-09-22 00:02:23 +00:00
The panel's footer says Tab is the way across once a query is in the box, and it never was. gpui-component's Root binds `tab` to its focus walker, gpui dispatches bindings *before* key listeners, so `on_switcher_key` never saw the key: Tab put a blue focus ring on the ellipsis button in the panel's own header and left the columns where they were. Tab and Shift-Tab now bind to the panel's own key context, which sits deeper in the dispatch path than Root's — the same shape the terminal already uses to keep Tab for the shell. Crossing over only helps if you can see where the cursor went, and you could not: both columns keep their rows inside one child element, and `ScrollHandle::scroll_to_item` indexes a scroll's *direct* children, so it could only ever find item 0. Walking a long tab list quietly left the selection below the fold. The selected row now wears a `ScrollAnchor`, and stepping the cursor scrolls to it — in either column.