macOS: fix focus state when toggling command palette from inline title editor

This commit is contained in:
Lukas
2026-04-29 22:13:32 +02:00
parent 6590196661
commit 61595b5ec9

View File

@@ -1396,6 +1396,21 @@ class BaseTerminalController: NSWindowController,
@IBAction func toggleCommandPalette(_ sender: Any?) {
commandPaletteIsShowing.toggle()
if commandPaletteIsShowing {
// Fix the incorrect focus when toggling from InlineTitleEditor
// When toggling the command palette from the inline title editor,
// the first responder state of the surface is changed quickly from true to false.
// `makeFirstResponder:` is called by the title editor when finishing,
// but it happens **after** the command palette is shown,
// so the `focused` is set to `true` while the command palette is shown.
// (Could be an AppKit issue as well, since the resign is not called after but the command palette is receiving `keyDown`).
// Since `performKeyEquivalent(with:)` is called on all of the subviews
// until one of the return `true` so the paste action is consumed by the surface
// instead of the first responder (command palette).
_ = focusedSurface?.resignFirstResponder()
}
}
@IBAction func find(_ sender: Any) {