aboutsummaryrefslogtreecommitdiffstats
path: root/zellij-utils/src/input/theme.rs
diff options
context:
space:
mode:
authoruser <user@clank>2026-08-11 16:19:19 +0200
committeruser <user@clank>2026-08-11 16:19:19 +0200
commitc51e5caa6d5c9368db0ddbd6b406047dfc451e20 (patch)
tree6747c34b75272888520315b17341f521b0d9409c /zellij-utils/src/input/theme.rs
parentsl0p: fix clicking a scrolled stack entry selecting the wrong pane (diff)
downloadsl0ppij-c51e5caa6d5c9368db0ddbd6b406047dfc451e20.tar.gz
sl0ppij-c51e5caa6d5c9368db0ddbd6b406047dfc451e20.tar.xz
sl0ppij-c51e5caa6d5c9368db0ddbd6b406047dfc451e20.zip
sl0p: click the picker's indicator row to expand a capped stack
The cap made the picker a scrolling viewport -- everything stays reachable by moving focus -- but there was no way to see the whole stack at once. Clicking "+N more" expands it to every member; the indicator becomes "- fewer" and collapses it again. Collapse gets its own label because an invisible way back out is not an affordance. Hangs off the indicator row because that row is already reserved, already rendered, and resolves to no member, so it is free real estate. It is also why this needs no new keybinding: mouse handling is entirely server-side, while Action is a protobuf enum we cannot extend without protoc. A click rather than hover, as expanding changes the reserved row count and so resizes the visible pane's PTY -- acceptable once per deliberate click, not on every mouse move. All three consumers of the row -> member mapping (renderer, reserved-row budget, mouse hit-test) now go through stack_list_window_for, so expansion cannot desync them the way the cap desynced the hit-test in 844617b4.
Diffstat (limited to 'zellij-utils/src/input/theme.rs')
0 files changed, 0 insertions, 0 deletions