feat: make even-horizontal new-pane birth directly into the row tail #103

Closed
opened 2026-04-28 01:57:46 +00:00 by barrettruth · 0 comments
barrettruth commented 2026-04-28 01:57:46 +00:00

Problem

For even-horizontal, the next pane always belongs at the row tail. Even though the row will still equalize afterward, explicit managed new-pane should not have to birth the pane in the wrong branch first.

Blocked by: #101, #102

Proposed solution

Make even-horizontal target the semantic row tail directly during explicit managed new-pane. Accept full-row equalization afterward, but not a first-frame birth in the wrong branch.

Add or extend tests for:

  • 1 -> 2, where the first frame should already be a left-to-right row
  • n >= 2, where the new pane should be born at the row tail before equalization

Context

This is one of the easy local-win layouts in the new-pane topology matrix. External precedents like tmux-tilit and deck in tmux-tiling-revamped largely accept full equalization after split, but that does not mean the first branch must be wrong.

Acceptance notes

  • 1 -> 2 should not flash through a vertical stack.
  • For larger n, subsequent full-row equalization is acceptable.
  • Preserve append-order semantics.

Alternatives considered

  • Keep generic split then select-layout even-horizontal.
  • Treat all resulting motion as harmless because the layout equalizes anyway.
## Problem For `even-horizontal`, the next pane always belongs at the row tail. Even though the row will still equalize afterward, explicit managed `new-pane` should not have to birth the pane in the wrong branch first. Blocked by: #101, #102 ## Proposed solution Make `even-horizontal` target the semantic row tail directly during explicit managed `new-pane`. Accept full-row equalization afterward, but not a first-frame birth in the wrong branch. Add or extend tests for: - `1 -> 2`, where the first frame should already be a left-to-right row - `n >= 2`, where the new pane should be born at the row tail before equalization ## Context This is one of the easy local-win layouts in the `new-pane` topology matrix. External precedents like `tmux-tilit` and `deck` in `tmux-tiling-revamped` largely accept full equalization after split, but that does not mean the first branch must be wrong. ## Acceptance notes - `1 -> 2` should not flash through a vertical stack. - For larger `n`, subsequent full-row equalization is acceptable. - Preserve append-order semantics. ## Alternatives considered - Keep generic split then `select-layout even-horizontal`. - Treat all resulting motion as harmless because the layout equalizes anyway.
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
barrettruth/tmux-mosaic#103
No description provided.