From eaa0d871fa1f144abfe09127c3638229cc8d3eb5 Mon Sep 17 00:00:00 2001 From: Lawrence Chen Date: Sun, 15 Mar 2026 21:52:23 -0700 Subject: [PATCH] Stop terminal focus from stealing Settings --- Sources/GhosttyTerminalView.swift | 20 +++++++++++++++++--- 1 file changed, 17 insertions(+), 3 deletions(-) diff --git a/Sources/GhosttyTerminalView.swift b/Sources/GhosttyTerminalView.swift index 013e387f..2383126a 100644 --- a/Sources/GhosttyTerminalView.swift +++ b/Sources/GhosttyTerminalView.swift @@ -5869,9 +5869,22 @@ func shouldAllowEnsureFocusWindowActivation( activeTabManager: TabManager?, targetTabManager: TabManager, keyWindow: NSWindow?, - mainWindow: NSWindow? + mainWindow: NSWindow?, + targetWindow: NSWindow ) -> Bool { - activeTabManager === targetTabManager || (keyWindow == nil && mainWindow == nil) + guard activeTabManager === targetTabManager || (keyWindow == nil && mainWindow == nil) else { + return false + } + + if let keyWindow { + return keyWindow === targetWindow + } + + if let mainWindow { + return mainWindow === targetWindow + } + + return true } final class GhosttySurfaceScrollView: NSView { @@ -7289,7 +7302,8 @@ final class GhosttySurfaceScrollView: NSView { activeTabManager: delegate.tabManager, targetTabManager: tabManager, keyWindow: NSApp.keyWindow, - mainWindow: NSApp.mainWindow + mainWindow: NSApp.mainWindow, + targetWindow: window ) else { return }