diff options
| author | user <user@clank> | 2026-08-11 16:19:19 +0200 |
|---|---|---|
| committer | user <user@clank> | 2026-08-11 16:19:19 +0200 |
| commit | c51e5caa6d5c9368db0ddbd6b406047dfc451e20 (patch) | |
| tree | 6747c34b75272888520315b17341f521b0d9409c /zellij-utils/src/input/theme.rs | |
| parent | sl0p: fix clicking a scrolled stack entry selecting the wrong pane (diff) | |
| download | sl0ppij-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
