summaryrefslogtreecommitdiff
path: root/test/snapshots/layout-close.snap
diff options
context:
space:
mode:
authorGabriel Schneider <[email protected]>2026-07-06 13:10:53 -0300
committerGabriel Schneider <[email protected]>2026-08-01 15:02:07 -0300
commit04cd5a2b41efd6f39c3ba15c32e60843e2c6485d (patch)
tree55e82e6907041314ebd32bb29ea6844a9cd48c45 /test/snapshots/layout-close.snap
parentde4def3548a6729b0dfd2120495a61beef8c8c2c (diff)
downloadpardes-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-close.snap')
-rw-r--r--test/snapshots/layout-close.snap53
1 files changed, 53 insertions, 0 deletions
diff --git a/test/snapshots/layout-close.snap b/test/snapshots/layout-close.snap
new file mode 100644
index 00000000..63f5cd81
--- /dev/null
+++ b/test/snapshots/layout-close.snap
@@ -0,0 +1,53 @@
+# every pane close hands its space to ONE sibling, the rest of the column
+# keeps its sizes: Alt-c move-out, tag Del, and shell exit (pty EOF); an
+# emptied column hands its width to one neighbor
+file marker.txt x
+start 40 140
+wait 8000 marker.txt
+stable 700 20000
+# build a left column of five: Alt-n three times from pane 0 (active follows
+# the new pane, each split takes from the freshly split pane only)
+press left 5 8
+release left 5 8
+stable 400 5000
+key a-n
+stable 700 15000
+key a-n
+stable 700 15000
+key a-n
+stable 700 15000
+snap built
+# Alt-c: the active (4th) pane moves to a fresh column; the pane above it
+# absorbs its rows, the other three keep theirs (columns reflow horizontally)
+key a-c
+stable 700 15000
+snap altc
+# middle-click Del in the 2nd pane's tag: the pane above absorbs
+press middle 41 6
+release middle 41 6
+stable 700 10000
+snap del
+# exit the (now) 2nd shell (type the command, esc, Tab executes the word):
+# pty EOF, again only the pane above absorbs
+press left 5 14
+release left 5 14
+stable 400 5000
+key i
+text exit
+key esc
+settle 700
+key tab
+stable 700 10000
+snap exit
+# exit the moved-out pane's shell: its column empties and hands its width to
+# the middle column only; the left column's width must not change
+press left 100 8
+release left 100 8
+stable 400 5000
+key i
+text exit
+key esc
+settle 700
+key tab
+stable 700 10000
+snap colclose