Skip to content

Fix tab split movement and fullscreen - #2487

Merged
brsbl merged 3 commits into
mainfrom
bb/fix-tab-split-actions-thr_q8degf2y66
Aug 27, 2026
Merged

Fix tab split movement and fullscreen#2487
brsbl merged 3 commits into
mainfrom
bb/fix-tab-split-actions-thr_q8degf2y66

Conversation

@brsbl

@brsbl brsbl commented Aug 26, 2026

Copy link
Copy Markdown
Collaborator

Summary

  • Bind Info move actions to the pane that owns the control instead of the globally focused pane.
  • Give tab splits real maximize/restore behavior while preserving their split layout and selection state.
  • Use Maximize pane / Restore split on web and Full Screen / Exit Full Screen in desktop.
  • Keep the desktop Browser's native WebContentsView from covering the arrangement menu and move targets.
  • Show the new-tab + only in the focused split pane while reserving its space in inactive panes.
  • Keep the Info scrollbar hidden at rest, show it during active scrolling, then hide it after 600 ms of inactivity.

Info and Diff remain fixed throughout; this layer does not make them closeable.

Screenshot evidence

Web captures use Chrome for Testing 151.0.7922.71 at the same 1440×900 CSS viewport (DPR 2) and the same one-file Split tab UX verification fixture. Desktop captures use Electron 41.7.0 / Chrome 146.0.7680.216 with identical 1440×900 native window bounds and the same Browser/Info split. The before revision is exact parent head 35050edb632c1007f14978c6c5e5bfe4dd83a259; the after revision is exact PR head 1dbfc83bd587b98968d6b0a839da9f81751ce3b9.

Info move ownership

Before, Move bottom invoked from Info moves the previously focused Diff pane instead, leaving Info above Diff.

Before: Info move action moves the wrong pane

After, Info itself moves below Diff.

After: Info moves below Diff in its own split

True pane maximization

Before, activating fullscreen expands the right panel but leaves both split panes visible.

Before: fullscreen leaves the sibling pane visible

After, Info fills the right workspace and the preserved Diff pane is hidden until restore.

After: Info is maximized across the right workspace

Runtime-specific copy

Before, the web arrangement menu says Full Screen.

Before: web menu uses Full Screen copy

After, web says Maximize pane.

After: web menu uses Maximize pane copy

Focused-pane new-tab action

Before, the + stays in the upper Diff pane even though the lower Info pane is focused.

Before: new-tab action stays in the wrong vertical pane

After, the only visible + follows focus into the lower Info pane; the upper row keeps a reserved slot so its tabs do not shift.

After: focused lower Info pane owns the new-tab action

Desktop Browser overlay

Before, the native Example Domain view paints over the renderer menu, leaving only the Full Screen row visible.

Before: native Browser view clips the desktop arrangement menu

After, desktop retains Full Screen copy and the complete Move grid renders above the Browser surface.

After: complete desktop arrangement menu renders above the Browser

Info scrollbar final behavior

At rest after a completed scroll, the overflowing Info pane has no visible thumb.

After at rest: Info scrollbar is hidden

During active scrolling in the same layout, the thumb is visible at the right edge.

After while scrolling: Info scrollbar is visible

Validation

  • Capture manifests record the exact revisions and environments above, identical fixtures and viewports, zero rendered error states, corrected pane order, a maximized Info pane, runtime-specific menu copy, focused-pane + ownership, and transparent/active scrollbar states.
  • The desktop pair is a native screencapture, not a renderer-only image, so it includes the WebContentsView that caused the clipping.
  • Regression coverage in this layer targets pane-bound move actions, maximize/restore persistence, keyboard menu entry, runtime copy, Browser overlay reference counting, focused-pane new-tab ownership, and the 600 ms transient-scrollbar lifecycle.
  • Tests, typechecks, lint, and other CI-equivalent checks run on the pull request through GitHub Actions; none were run locally for this screenshot audit.

BB-Thread-ID: thr_q8degf2y66

AGENT GENERATED: by GPT-5.6-Sol

@brsbl
brsbl force-pushed the bb/fix-tab-split-actions-thr_q8degf2y66 branch from 06c1bcc to 6c18c90 Compare August 27, 2026 00:16
@brsbl
brsbl force-pushed the bb/fix-tab-split-actions-thr_q8degf2y66 branch from 2da9937 to 1dbfc83 Compare August 27, 2026 20:54
@brsbl
brsbl force-pushed the bb/fix-tab-split-actions-thr_q8degf2y66 branch from 1dbfc83 to ef22d77 Compare August 27, 2026 23:47
Base automatically changed from bb/fix-split-tab-ux-thr_q8degf2y66 to main August 27, 2026 23:50
@SawyerHood
SawyerHood force-pushed the bb/fix-tab-split-actions-thr_q8degf2y66 branch from ef22d77 to 754e991 Compare August 27, 2026 23:50
@brsbl
brsbl merged commit 698bd53 into main Aug 27, 2026
15 checks passed
@brsbl
brsbl deleted the bb/fix-tab-split-actions-thr_q8degf2y66 branch August 27, 2026 23:55
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