Func is one button with a dark panel of functions; Translator (⌃⌥R or Func): selected text RU<->EN via macOS Translation or claude Haiku, card holds the notch open

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
maksarsanjeev
2026-10-07 15:57:06 +03:00
parent 9570dc190f
commit e11d06c73e
7 changed files with 356 additions and 13 deletions
@@ -18,6 +18,7 @@ enum ShortcutAction: String, CaseIterable, Sendable {
case muteToggle = "muteToggle" // ⌃⌥M — mute / unmute sounds
case desktopToggle = "desktopToggle" // ⌃⌥D — send Mochi to desktop / bring back
case wardrobeToggle = "wardrobeToggle" // ⌃⌥G — open / close wardrobe
case translate = "translate" // ⌃⌥R — translate the selected text (BroV)
// MARK: UserDefaults keys
@@ -48,6 +49,7 @@ enum ShortcutAction: String, CaseIterable, Sendable {
case .muteToggle: return "Выключить / включить звук"
case .desktopToggle: return "BroV на рабочий стол / обратно"
case .wardrobeToggle: return "Открыть / закрыть гардероб"
case .translate: return "Перевести выделенный текст"
}
}
@@ -104,6 +106,7 @@ enum ShortcutLogic {
.muteToggle: ShortcutSpec(keyCode: 46, nsFlags: ShortcutSpec.ctrlOpt), // ⌃⌥M
.desktopToggle: ShortcutSpec(keyCode: 2, nsFlags: ShortcutSpec.ctrlOpt), // ⌃⌥D
.wardrobeToggle: ShortcutSpec(keyCode: 5, nsFlags: ShortcutSpec.ctrlOpt), // ⌃⌥G
.translate: ShortcutSpec(keyCode: 15, nsFlags: ShortcutSpec.ctrlOpt), // ⌃⌥R
]
// MARK: - Load / save (UserDefaults)