Skip to content

fix: keep tab controls on split panes and the window draggable from the top - #446

Merged
arzafran merged 5 commits into
mainfrom
fix/split-pane-tab-bars
Oct 20, 2026
Merged

arzafran merged 5 commits into
mainfrom
fix/split-pane-tab-bars

Conversation

@arzafran

@arzafran arzafran commented Oct 20, 2026 •

Copy link
Copy Markdown
Member

What this does

Fixes two problems caused by hiding the tab bar for a single tab (#432).

  1. Splitting a terminal left you stuck with two panes and no way to undo it with the mouse. Each pane had one tab, so neither showed a tab bar, and the close, new tab and split buttons live on that bar. Now every pane keeps its tab bar once the workspace is split.
  2. With one terminal and the sidebar open, the terminal reached the top edge of the window, so you couldn't drag the window from the top. A single tab still hides its tab bar, but an empty strip of the same height now takes its place. Dragging it moves the window, and double-clicking it zooms or minimizes like a normal titlebar.

Summary

  • PaneContainerView.showsTabStrip also returns true when the split tree has more than one pane. On macOS 26 the native chrome portal follows the same flag, so the focused pane gets its new-tab and split controls back too.
  • When the strip is hidden, the pane shows bonsplit's existing TabBarDragZoneView at the strip's height instead.
  • The changelog entry from fix: readable, wheel-scrollable tabs and no tab bar for a single tab #432 now describes both cases.
  • New UI test BonsplitTabDragUITests/testSplitPanesWithOneTabEachKeepTheirTabBars, backed by a PROGRAMA_UI_TEST_BONSPLIT_SPLIT_PANES option in the existing tab drag harness that builds the second tab as a right split.

The first commit adds only the split test, so its runs fail; the next adds the fix. There is no automated test for the window drag: CI runners drop synthetic mouse drags, the same reason the tab reorder test is skipped.

Test Plan

  • Split test on the test-only commit fails on macos-15 and macos-26
  • Split test on the fix passes on macos-15 and macos-26
  • BonsplitTabDragUITests class still passes apart from the known reorder test
  • Drag the window from the empty top strip with one tab and the sidebar open (by hand)

@arzafran arzafran changed the title fix: keep close and new-tab buttons on split panes fix: keep tab controls on split panes and the window draggable from the top Oct 20, 2026
@arzafran
arzafran merged commit 95682c8 into main Oct 20, 2026
11 of 13 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant