diff options
| author | Gabriel Schneider <[email protected]> | 2026-07-06 13:10:53 -0300 |
|---|---|---|
| committer | Gabriel Schneider <[email protected]> | 2026-08-01 15:02:07 -0300 |
| commit | 04cd5a2b41efd6f39c3ba15c32e60843e2c6485d (patch) | |
| tree | 55e82e6907041314ebd32bb29ea6844a9cd48c45 /test/snapshots/layout-open.snap | |
| parent | de4def3548a6729b0dfd2120495a61beef8c8c2c (diff) | |
| download | pardes-04cd5a2b41efd6f39c3ba15c32e60843e2c6485d.tar.gz pardes-04cd5a2b41efd6f39c3ba15c32e60843e2c6485d.zip | |
layout: every pane open/close resizes exactly ONE sibling — never the whole column. Buggy paths fixed: Alt-n inserted a weight-1 shell (whole column reflowed) — now splitBelow the active pane; stackDocLeft (file/image/tutor open with no doc yet) gave the doc a fair share (every pane shrank) — now it halves only the old top pane's slot; ttyForDir (execute from a file pane) appended a weight-1 shell to the rightmost column — now splitBelow its bottom pane; Alt-c moved a pane out without absorbVWeight (all old siblings grew) — now the sibling above absorbs first. Underneath: splitBelow/absorbVWeight/stackDocLeft snap the whole column's weights to on-screen row counts, because computeGeom's per-pane round(avail*w/vsum) let fractional weights jiggle bystanders by a row; evictLonePristineTty recomputes geometry first (a just-stacked doc has no rect). New snap tests layout-open + layout-close cover Alt-n, doc stacking, ttyForDir, Alt-c, tag Del, pty EOF, and column-width handoff. Six goldens regenerated (fileedit, images, look-file, syntax, tutor, windowops): they had frozen the fair-share/append reflow this change removes; every diff is only the doc/split pane sizing, with untouched panes' boundaries restored bit-identical (e.g. bottom pane tag back at its boot row 17 instead of pushed to 22).
Diffstat (limited to 'test/snapshots/layout-open.snap')
| -rw-r--r-- | test/snapshots/layout-open.snap | 55 |
1 files changed, 55 insertions, 0 deletions
diff --git a/test/snapshots/layout-open.snap b/test/snapshots/layout-open.snap new file mode 100644 index 00000000..773cf70d --- /dev/null +++ b/test/snapshots/layout-open.snap @@ -0,0 +1,55 @@ +# every pane open splits ONE existing pane, the rest of the column keeps its +# sizes: Alt-n splits the active pane, a looked-up file stacking top-left +# splits only the old top pane, an execute-spawned shell for a file's dir +# splits only the bottom pane of the rightmost column +dirmk sub +file sub/f.txt echo 'TTY'OK +start 30 100 +wait 8000 sub +stable 700 20000 +# give pane 0 (top-left) some content so its content-height split is visible +press left 5 8 +release left 5 8 +stable 400 5000 +key i +text echo one; echo two +key enter +key esc +settle 700 +stable 400 5000 +snap before +# Alt-n: new shell below pane 0 — the bottom pane's boundary must not move +key a-n +stable 700 15000 +snap altn-left +# make the right column two panes (Alt-n in a fresh column, trivial split) +press left 70 8 +release left 70 8 +stable 400 5000 +key a-n +stable 700 15000 +snap altn-right +# look sub/f.txt from the bottom-left shell: the doc stacks at the top of the +# left column, splitting only the old top pane — lower boundaries must not move +press left 5 27 +release left 5 27 +stable 400 5000 +key i +text sub/f.txt +key esc +settle 700 +stable 400 5000 +press right 7 27 +release right 7 27 +stable 700 15000 +snap file-open +# execute the file's command (middle drag over line 1): no shell has cwd sub/, +# so one is forked at the bottom of the rightmost column, splitting only the +# pane above it +press middle 8 3 +drag middle 19 3 +release middle 19 3 +wait 10000 TTYOK +motion 40 25 +stable 700 10000 +snap ttydir |
