From addb99ed506b6b7f42c1221ba48048ab170bc316 Mon Sep 17 00:00:00 2001 From: Austin Wang Date: Tue, 17 Feb 2026 14:59:24 -0800 Subject: [PATCH] Add "+" menu button to horizontal tab bar for new terminal/browser tabs (#48) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Adds a "+" button to the tab bar (next to split buttons) that shows a dropdown menu with "New Terminal ⌘T" and "New Browser ⌘⇧L" options. - Uses native NSButton + NSMenu so the icon matches the split buttons - Menu appears below the button - Routes tab creation through new didRequestNewTab delegate method Co-authored-by: Claude Opus 4.6 --- Sources/Workspace.swift | 11 +++++++++++ vendor/bonsplit | 2 +- 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/Sources/Workspace.swift b/Sources/Workspace.swift index 510c9479..74b7f2fa 100644 --- a/Sources/Workspace.swift +++ b/Sources/Workspace.swift @@ -1443,6 +1443,17 @@ extension Workspace: BonsplitDelegate { } } + func splitTabBar(_ controller: BonsplitController, didRequestNewTab kind: String, inPane pane: PaneID) { + switch kind { + case "terminal": + _ = newTerminalSurface(inPane: pane) + case "browser": + _ = newBrowserSurface(inPane: pane) + default: + _ = newTerminalSurface(inPane: pane) + } + } + func splitTabBar(_ controller: BonsplitController, didChangeGeometry snapshot: LayoutSnapshot) { _ = snapshot scheduleTerminalGeometryReconcile() diff --git a/vendor/bonsplit b/vendor/bonsplit index 1d41e7b9..2ff740da 160000 --- a/vendor/bonsplit +++ b/vendor/bonsplit @@ -1 +1 @@ -Subproject commit 1d41e7b9ecfd310e6d780c2d93e74a34d759edc8 +Subproject commit 2ff740da4aa150202afac7e224001807c321ed7c