summaryrefslogtreecommitdiff
path: root/test/snapshots/splitparent.snap
diff options
context:
space:
mode:
authorGabriel Schneider <[email protected]>2026-09-29 02:32:33 -0300
committerGabriel Schneider <[email protected]>2026-10-01 00:12:15 -0300
commit672b2643583d13feef5d47600e0f6c15f276fba2 (patch)
tree3d556d0f30e72c8b2ed7bd4177a802e2a0697992 /test/snapshots/splitparent.snap
parent45a66bd1c062a5cf4d63b1df68e050b059cdfa1d (diff)
downloadpardes-672b2643583d13feef5d47600e0f6c15f276fba2.tar.gz
pardes-672b2643583d13feef5d47600e0f6c15f276fba2.zip
No placement leaves a pane shorter than its tag and two rows
Placement could split a pane down to a tag and one row, or give a new one less. Every placement now checks the pane it made and each pane it shrank against its tag (wrapped at its width) plus two rows: where they lack the room, the column's tallest pane is halved instead, and where none can give it the new pane is refused with "no space for a pane in that column" (ENOSPC over 9P) and closed at the step's end, once its maker is done with it. splitBelow and splitParent leave two body rows (a boot layout, split before any row exists, is as before). Re-recorded by name: lookpanes (panes one or two rows lower) and splitparent (the 6-row squeeze now refuses); fs.py closes the scratches and long-named panes it no longer needs, since its 24-row session filled. Co-Authored-By: Claude Opus 5.5 <[email protected]>
Diffstat (limited to 'test/snapshots/splitparent.snap')
-rw-r--r--test/snapshots/splitparent.snap9
1 files changed, 6 insertions, 3 deletions
diff --git a/test/snapshots/splitparent.snap b/test/snapshots/splitparent.snap
index b9038af2..14391467 100644
--- a/test/snapshots/splitparent.snap
+++ b/test/snapshots/splitparent.snap
@@ -1,6 +1,7 @@
# a new pane never opens under a too-short parent: Alt-n from a tag-only pane
# splits the tall sibling in its column instead; when NO pane could leave the
-# newcomer 2 body rows, the tallest one anywhere is split
+# newcomer 2 body rows, the tallest one anywhere is split, and when that one
+# cannot keep its own tag and 2 rows either, the pane is refused
# pins the pardes placement rule (Placement pardes), which it covers
config Placement pardes
start 31 100 -n 3
@@ -18,8 +19,10 @@ snap shrunk
key a-n
stable 700 15000
snap swap-parent
-# squeeze the grid until no pane is 5 rows tall, then Alt-n again: the
-# tallest pane (right column) is split even though the active one is left
+# squeeze the grid until no pane can give a new one its tag and 2 rows, then
+# Alt-n again: the new shell is refused, and the message row says why (before
+# every pane had to keep only a tag and one row, the tallest pane anywhere was
+# split here)
resize 6 100
stable 700 15000
key a-n