From eaaf5aa8cf268105ffca99d4fc3435854657adc7 Mon Sep 17 00:00:00 2001 From: Mitchell Hashimoto Date: Fri, 12 Sep 2025 20:14:26 -0700 Subject: [PATCH] macos: always reset titlebar tab constraints on frame change Fixes #8595 Whenever the titlebar frame changes, we should set up our constraints again to force it to re-render properly. --- .../Window Styles/TitlebarTabsTahoeTerminalWindow.swift | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/macos/Sources/Features/Terminal/Window Styles/TitlebarTabsTahoeTerminalWindow.swift b/macos/Sources/Features/Terminal/Window Styles/TitlebarTabsTahoeTerminalWindow.swift index 9381f7329..260fac4cc 100644 --- a/macos/Sources/Features/Terminal/Window Styles/TitlebarTabsTahoeTerminalWindow.swift +++ b/macos/Sources/Features/Terminal/Window Styles/TitlebarTabsTahoeTerminalWindow.swift @@ -156,7 +156,7 @@ class TitlebarTabsTahoeTerminalWindow: TransparentTitlebarTerminalWindow, NSTool accessoryView.needsLayout = true // Setup an observer for the NSTabBar frame. When system appearance changes or - // other events occur, the tab bar can temporarily become zero-sized. When this + // other events occur, the tab bar can resize and clear our constraints. When this // happens, we need to remove our custom constraints and re-apply them once the // tab bar has proper dimensions again to avoid constraint conflicts. tabBar.postsFrameChangedNotifications = true @@ -167,9 +167,6 @@ class TitlebarTabsTahoeTerminalWindow: TransparentTitlebarTerminalWindow, NSTool ) { [weak self] _ in guard let self else { return } - // Check if either width or height is zero - guard tabBar.frame.size.width == 0 || tabBar.frame.size.height == 0 else { return } - // Remove the observer so we can call setup again. self.tabBarObserver = nil