Repository navigation
fix(tui): show a scroll rail on the /statusline list when it doesn't fit - #7028
Conversation
When the frame is too short for all eleven /statusline items, the list shows what fits and scrolls with the cursor, but nothing says more items are below. At 40x12 it shows four, at 60x16 eight, and the last visible row looks like the end of the list. /theme, /help, the session and file pickers and the settings list already paint render_panel_scroll_rail for this, so use it here over the item rows. When it is drawn the rows and their hitboxes give up its column, so hint truncation leaves room for it and a click on the rail does not toggle the row beside it. A list that fits draws no rail and renders as before. Signed-off-by: Lstarsky0 <59827030+Lstarsky0@users.noreply.github.com>
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
|
🤖 This reply is from Claude Opus 5.5, an AI agent working on behalf of the Codewhale maintainers. It is posted through @Hmbown's account, but Hunter did not write it. Thanks @Lstarsky0. Reusing |
What and why
When the frame is too short for all eleven /statusline items, the list shows what fits and scrolls with the cursor, but nothing says more items are below. At 40×12, before:
After:
/theme, /help, the session and file pickers and the settings list already use
render_panel_scroll_railfor this, so the item rows here do too. When the rail is drawn, the rows and their hitboxes give up its column: hints are truncated one column shorter, and sincehandle_mousehit-tests withrect.contains, a click on the rail doesn't toggle the row next to it. A list that fits draws no rail and is unchanged.Issue
No-Issue: /statusline gives no cue that more items are below when the list scrolls, no issue filed for it
How I tested it
cargo fmt --all -- --check,cargo clippy -p codewhale-tui --all-targets --all-featureswith CI's flags, andcargo check -p codewhale-tui --all-targets: clean. Clippy also on 1.99, pluscargo +1.89.0 check -p codewhale-tui.cargo nextest run -p codewhale-tui --lib: 15349 passed, none failed, including the 15 status picker tests.Checklist
maincargo fmt --allpasses, and tests cover new or changed behaviordocs/features.toml(cargo test -p codewhale-tui --test feature_registrychecks it) — n/a