aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authoruser <user@clank>2026-08-11 16:45:20 +0200
committeruser <user@clank>2026-08-11 16:45:20 +0200
commita433a998139ad36c9725c8dd3598cd88306ad89a (patch)
tree0b20366e242930056d16f991c4196e19fc668cd2 /src
parentsl0p: optionally render the stacked-pane picker as a grid (diff)
downloadsl0ppij-a433a998139ad36c9725c8dd3598cd88306ad89a.tar.gz
sl0ppij-a433a998139ad36c9725c8dd3598cd88306ad89a.tar.xz
sl0ppij-a433a998139ad36c9725c8dd3598cd88306ad89a.zip
sl0p: clear the stale picker region when the layout re-flows
Adding a pane left old borders on screen until a resize forced a full redraw. Two causes. The picker draws each entry as its own chunk, so the space between and around the entries was never painted and kept the previous frame's contents; and adding a pane really does re-flow the whole grid, because a freshly created pane has no title yet and its "Pane #N" fallback is far wider than a named one, which widens every cell and drops the column count. Separately, refresh_or_dissolve_stack_list changed the reserved row count without forcing a clear, so when the list got shorter the visible pane moved up and the rows it vacated kept their old contents. Blanks only the spans no cell covers, never a cell's own columns: chunks are NOT composited last-wins, so blanking the whole region erased the entries instead of the stale contents under them -- the first attempt at this fix drew exactly one entry. stack_list_row_gaps is a free function so the covering invariant is testable: gaps and cells must tile each row exactly, with no overlap, across a sweep of row caps, label widths and member counts.
Diffstat (limited to 'src')
0 files changed, 0 insertions, 0 deletions