diff --git a/macos/Sources/Features/Terminal/TerminalController.swift b/macos/Sources/Features/Terminal/TerminalController.swift index e2f423d07..5bb44f341 100644 --- a/macos/Sources/Features/Terminal/TerminalController.swift +++ b/macos/Sources/Features/Terminal/TerminalController.swift @@ -254,10 +254,7 @@ class TerminalController: NSWindowController, NSWindowDelegate, // Center the window to start, we'll move the window frame automatically // when cascading. window.center() - - // Set the background color of the window - window.backgroundColor = NSColor(ghostty.config.backgroundColor) - + // Handle titlebar tabs config option. Something about what we do while setting up the // titlebar tabs interferes with the window restore process unless window.tabbingMode // is set to .preferred, so we set it, and switch back to automatic as soon as we can. @@ -268,17 +265,20 @@ class TerminalController: NSWindowController, NSWindowDelegate, DispatchQueue.main.async { window.tabbingMode = .automatic } + + // Set the background color of the window + window.backgroundColor = NSColor(ghostty.config.backgroundColor) + + // Set a custom background on the titlebar - this is required for when + // titlebar tabs are used in conjunction with a transparent background. + window.setTitlebarBackground( + window + .backgroundColor + .withAlphaComponent(ghostty.config.backgroundOpacity) + .cgColor + ) } - - // Set a custom background on the titlebar - this is required for when - // titlebar tabs is used in conjunction with a transparent background. - window.setTitlebarBackground( - window - .backgroundColor - .withAlphaComponent(ghostty.config.backgroundOpacity) - .cgColor - ) - + // Initialize our content view to the SwiftUI root window.contentView = NSHostingView(rootView: TerminalView( ghostty: self.ghostty,