diff --git a/macos/Sources/Features/QuickTerminal/QuickTerminalController.swift b/macos/Sources/Features/QuickTerminal/QuickTerminalController.swift index 17650b5c6..eaefbf55b 100644 --- a/macos/Sources/Features/QuickTerminal/QuickTerminalController.swift +++ b/macos/Sources/Features/QuickTerminal/QuickTerminalController.swift @@ -257,7 +257,7 @@ class QuickTerminalController: BaseTerminalController { guard surfaceTree.contains(view) else { return } // Set the target surface as focused before animation DispatchQueue.main.async { - Ghostty.moveFocus(to: view, from: self.focusedSurface) + Ghostty.moveFocus(to: view) } // Animation completion handler will handle window/app activation animateIn() diff --git a/macos/Sources/Features/Terminal/BaseTerminalController.swift b/macos/Sources/Features/Terminal/BaseTerminalController.swift index 4298dd1e6..a34be4125 100644 --- a/macos/Sources/Features/Terminal/BaseTerminalController.swift +++ b/macos/Sources/Features/Terminal/BaseTerminalController.swift @@ -240,12 +240,7 @@ class BaseTerminalController: NSWindowController, // Move focus to the target surface and activate the window/app DispatchQueue.main.async { - // We suppress the spurious unfocus signal by passing nil for `from` - // when the surface is already the logically focused one. - Ghostty.moveFocus( - to: view, - from: (self.focusedSurface == view) ? nil : self.focusedSurface - ) + Ghostty.moveFocus(to: view) view.window?.makeKeyAndOrderFront(nil) if !NSApp.isActive { NSApp.activate(ignoringOtherApps: true)