From 21926a49bd0a6dce3a877bcdcffeaafdc2529a0a Mon Sep 17 00:00:00 2001 From: Lstarsky0 <59827030+Lstarsky0@users.noreply.github.com> Date: Sun, 18 Oct 2026 19:53:10 +0800 Subject: [PATCH] fix(tui): size the /statusline picker for its padding rows The picker asks centered_modal_area for one row per item plus five: two header lines, the action footer and the border. The block also has Padding::uniform(1), which takes a row above and below, and those two were never counted. So the popup is always two rows short and the last two items, Workspace and Git branch, sit below the fold at every terminal size. At 120x40 the list stops at "Output rate" with a dozen empty rows above the popup, and nothing says there is more until you arrow past the bottom. Ask for seven rows on top of the items, the same allowance the /feedback picker makes for the same block. Terminals too short for the whole list still get the clamped popup and the scroll they have today. Signed-off-by: Lstarsky0 <59827030+Lstarsky0@users.noreply.github.com> --- crates/tui/src/tui/views/status_picker.rs | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/crates/tui/src/tui/views/status_picker.rs b/crates/tui/src/tui/views/status_picker.rs index fdcca0e1cf..c0fbe980e0 100644 --- a/crates/tui/src/tui/views/status_picker.rs +++ b/crates/tui/src/tui/views/status_picker.rs @@ -205,10 +205,10 @@ impl ModalView for StatusPickerView { fn render(&self, area: Rect, buf: &mut Buffer) { // Two header lines + one row per StatusItem + the wrapping action - // footer that now lives inside the body (one row more than the old - // border footer). centered_modal_area clamps this to the frame and - // lets the scroll offset absorb any remaining overflow. - let needed_height = (self.rows.len() as u16).saturating_add(5); + // footer that now lives inside the body, plus the border and padding + // rows above and below. centered_modal_area clamps this to the frame + // and lets the scroll offset absorb any remaining overflow. + let needed_height = (self.rows.len() as u16).saturating_add(7); let popup_area = centered_modal_area(area, 64, needed_height, 40, 8); render_modal_surface(area, popup_area, buf);