From c719acc86c4dda32b4fa36255e5ae0023423052f Mon Sep 17 00:00:00 2001 From: Choi Hyunjun <107416133+solssak@users.noreply.github.com> Date: Mon, 30 Mar 2026 14:25:56 +0900 Subject: [PATCH] fix: preserve horizontal tab bar in fullscreen with minimal mode Guard .ignoresSafeArea(.container, edges: .top) so it only applies in windowed minimal mode, not fullscreen. In fullscreen the safe area computation changes and causes Bonsplit tabs to disappear. Pass isFullScreen from ContentView to WorkspaceContentView and skip the ignoresSafeArea modifier when the window is fullscreen. Fixes #2317 --- Sources/ContentView.swift | 1 + Sources/WorkspaceContentView.swift | 3 ++- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/Sources/ContentView.swift b/Sources/ContentView.swift index 2f2dc1372af9..f76538695823 100644 --- a/Sources/ContentView.swift +++ b/Sources/ContentView.swift @@ -2378,6 +2378,7 @@ struct ContentView: View { workspace: tab, isWorkspaceVisible: presentation.isPanelVisible, isWorkspaceInputActive: isInputActive, + isFullScreen: isFullScreen, workspacePortalPriority: portalPriority, onThemeRefreshRequest: { reason, eventId, source, payloadHex in scheduleTitlebarThemeRefreshFromWorkspace( diff --git a/Sources/WorkspaceContentView.swift b/Sources/WorkspaceContentView.swift index ed1d961a63af..69cc0399c75f 100644 --- a/Sources/WorkspaceContentView.swift +++ b/Sources/WorkspaceContentView.swift @@ -225,6 +225,7 @@ struct WorkspaceContentView: View { @ObservedObject var workspace: Workspace let isWorkspaceVisible: Bool let isWorkspaceInputActive: Bool + let isFullScreen: Bool let workspacePortalPriority: Int let onThemeRefreshRequest: (( _ reason: String, @@ -377,7 +378,7 @@ struct WorkspaceContentView: View { } Group { - if isMinimalMode { + if isMinimalMode && !isFullScreen { bonsplitView .ignoresSafeArea(.container, edges: .top) } else {