Skip to content

Conversation

@zats
Copy link

@zats zats commented Nov 2, 2025

This addresses #1525 #9100 #9430, form what I understood the repo guidelines this should be enough to put out a PR.

TLDR: When macOS tab contains 2+ surfaces we allow to pop active surface into a new native tab.

Note

PR made with help from Codex!

Changes

  1. First commit establishes infra necessary to detach the surface.DetachedSurface is probably the biggest conceptual change introduced here, it allows to represent the split operation and revert it later via undo stack.
  2. Second commit builds and connects necessary UI to invoke surface detachment

Tests

Ran macOS build from Xcode project on M4, see videos of the scenarios below

Right click and command palette integration

Screen.Recording.2025-10-31.at.1.34.23.PM.mp4

Undo support

Screen.Recording.2025-11-02.at.2.07.00.PM.mov

zats added 2 commits November 2, 2025 13:06
Document the detach helpers and surface snapshots. These APIs are consumed by the command palette and context menu wiring that lands in the following commit.
Wire the new detach helpers into the context menu and command palette, document the UI affordances, and wrap the detach/tab creation flow in a single undo grouping.
@zats zats requested a review from a team as a code owner November 2, 2025 19:20
@bo2themax
Copy link
Member

Looks great to me in general!👍🏻

Still smaller ux things to be confirmed

Copy link
Contributor

@mitchellh mitchellh left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Just marking for review because I want to take a closer look. It'll be a bit before I get back to macOS.

Thank you for working on this, though!

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.

3 participants