feat: add Command-number launch hints and Finder icon

This commit is contained in:
2026-10-13 22:08:14 +02:00
parent d3f9ec92d7
commit 77f62b8d41
7 changed files with 176 additions and 12 deletions
@@ -0,0 +1,34 @@
import Foundation
/// Monotonic timestamps are supplied by the window; tests never wait on a real clock.
public struct CommandNumberShortcuts: Sendable {
private var heldSince: TimeInterval?
public private(set) var isVisible = false
public init() {}
/// Returns true only when a fresh, eligible Command-only hold begins.
public mutating func update(commandOnly: Bool, eligible: Bool, at time: TimeInterval) -> Bool {
guard commandOnly && eligible else { reset(); return false }
guard heldSince == nil else { return false }
heldSince = time
return true
}
public mutating func reveal(at time: TimeInterval) -> Bool {
guard let heldSince, time - heldSince >= 1 else { return false }
isVisible = true
return true
}
public func index(for key: String) -> Int? {
guard isVisible, key.utf8.count == 1, let digit = key.utf8.first,
(49...57).contains(digit) else { return nil }
return Int(digit - 49)
}
public mutating func reset() {
heldSince = nil
isVisible = false
}
}