Start the task switcher focused on its list

This commit is contained in:
Ian Gulliver
2026-10-21 10:50:13 -07:00
parent fab6ce5831
commit 761b9ced6a
2 changed files with 20 additions and 4 deletions
+7 -2
View File
@@ -143,7 +143,7 @@ final class Overlays {
guard let self, let window = self.window, win == ObjectIdentifier(window) else {
return false
}
return self.key(code, flags, chars, ctrl)
return self.key(event, code, flags, chars, ctrl)
}
return taken ? nil : event
}
@@ -158,7 +158,7 @@ final class Overlays {
}
}
private func key(_ code: UInt16, _ flags: NSEvent.ModifierFlags, _ chars: String, _ ctrl: @MainActor (String) -> Bool) -> Bool {
private func key(_ event: NSEvent, _ code: UInt16, _ flags: NSEvent.ModifierFlags, _ chars: String, _ ctrl: @MainActor (String) -> Bool) -> Bool {
if !dialogOpen && flags.contains(.control) && !flags.contains(.command) && goKeys.contains(chars) {
return ctrl(chars)
}
@@ -203,6 +203,11 @@ final class Overlays {
switcher.pick()
return true
}
if switcher.inList && (flags.isDisjoint(with: [.command, .control, .function]) || (flags.subtracting(.capsLock) == .command && chars.lowercased() == "v")) {
switcher.pending = event
switcher.inList = false
return true
}
}
return false
}