Skip to content

Commit 813531e

Browse files
committed
Fixed issue where keybindings would apply to other windows editors.
1 parent 9d493df commit 813531e

File tree

1 file changed

+10
-2
lines changed

1 file changed

+10
-2
lines changed

Sources/CodeEditSourceEditor/Controller/TextViewController+LoadView.swift

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -127,9 +127,17 @@ extension TextViewController {
127127

128128
func setUpKeyBindings(eventMonitor: inout Any?) {
129129
eventMonitor = NSEvent.addLocalMonitorForEvents(matching: .keyDown) { [weak self] event -> NSEvent? in
130-
guard self?.view.window?.firstResponder == self?.textView else { return event }
130+
guard let self = self else { return event }
131+
132+
// Check if this window is key and if the text view is the first responder
133+
let isKeyWindow = self.view.window?.isKeyWindow ?? false
134+
let isFirstResponder = self.view.window?.firstResponder === self.textView
135+
136+
// Only handle commands if this is the key window and text view is first responder
137+
guard isKeyWindow && isFirstResponder else { return event }
138+
131139
let modifierFlags = event.modifierFlags.intersection(.deviceIndependentFlagsMask)
132-
return self?.handleCommand(event: event, modifierFlags: modifierFlags.rawValue)
140+
return self.handleCommand(event: event, modifierFlags: modifierFlags.rawValue)
133141
}
134142
}
135143

0 commit comments

Comments
 (0)