]> git.ipfire.org Git - thirdparty/wireguard-apple.git/commitdiff
macOS: Support window management keyboard shortcuts
authorRoopesh Chander <roop@roopc.net>
Wed, 16 Jan 2019 12:31:59 +0000 (18:01 +0530)
committerRoopesh Chander <roop@roopc.net>
Wed, 16 Jan 2019 12:31:59 +0000 (18:01 +0530)
Signed-off-by: Roopesh Chander <roop@roopc.net>
WireGuard/WireGuard/UI/macOS/Application.swift

index fba0ac6e70402970fbbab71e3b1f9156635c8ad4..644bbabd86ef889a367640c08a53134171c8c4f1 100644 (file)
@@ -5,13 +5,16 @@ import Cocoa
 
 class Application: NSApplication {
 
-    private let editorCommands = [
+    private let characterKeyCommands = [
         "x": #selector(NSText.cut(_:)),
         "c": #selector(NSText.copy(_:)),
         "v": #selector(NSText.paste(_:)),
         "z": #selector(UndoActionRespondable.undo(_:)),
         "a": #selector(NSResponder.selectAll(_:)),
-        "Z": #selector(UndoActionRespondable.redo(_:))
+        "Z": #selector(UndoActionRespondable.redo(_:)),
+        "w": #selector(NSWindow.performClose(_:)),
+        "m": #selector(NSWindow.performMiniaturize(_:)),
+        "q": #selector(NSApplication.terminate(_:))
     ]
 
     private var appDelegate: AppDelegate? //swiftlint:disable:this weak_delegate
@@ -33,7 +36,7 @@ class Application: NSApplication {
 
         if event.type == .keyDown,
             (modifierFlags == NSEvent.ModifierFlags.command.rawValue || modifierFlags == NSEvent.ModifierFlags.command.rawValue | NSEvent.ModifierFlags.shift.rawValue),
-            let selector = editorCommands[event.charactersIgnoringModifiers ?? ""] {
+            let selector = characterKeyCommands[event.charactersIgnoringModifiers ?? ""] {
             sendAction(selector, to: nil, from: self)
         } else {
             super.sendEvent(event)