mirror of
https://github.com/nicoverbruggen/phpmon.git
synced 2025-08-07 12:00:09 +02:00
👌 Improve handling of global hotkey load on startup
This commit is contained in:
@ -647,7 +647,7 @@
|
||||
CODE_SIGN_IDENTITY = "Apple Development";
|
||||
CODE_SIGN_STYLE = Automatic;
|
||||
COMBINE_HIDPI_IMAGES = YES;
|
||||
CURRENT_PROJECT_VERSION = 57;
|
||||
CURRENT_PROJECT_VERSION = 60;
|
||||
DEVELOPMENT_TEAM = 8M54J5J787;
|
||||
ENABLE_HARDENED_RUNTIME = YES;
|
||||
INFOPLIST_FILE = phpmon/Info.plist;
|
||||
@ -655,7 +655,7 @@
|
||||
"$(inherited)",
|
||||
"@executable_path/../Frameworks",
|
||||
);
|
||||
MARKETING_VERSION = 3.4.1;
|
||||
MARKETING_VERSION = 3.5.0;
|
||||
PRODUCT_BUNDLE_IDENTIFIER = com.nicoverbruggen.phpmon;
|
||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||
PROVISIONING_PROFILE_SPECIFIER = "";
|
||||
@ -671,7 +671,7 @@
|
||||
CODE_SIGN_IDENTITY = "Apple Development";
|
||||
CODE_SIGN_STYLE = Automatic;
|
||||
COMBINE_HIDPI_IMAGES = YES;
|
||||
CURRENT_PROJECT_VERSION = 57;
|
||||
CURRENT_PROJECT_VERSION = 60;
|
||||
DEVELOPMENT_TEAM = 8M54J5J787;
|
||||
ENABLE_HARDENED_RUNTIME = YES;
|
||||
INFOPLIST_FILE = phpmon/Info.plist;
|
||||
@ -679,7 +679,7 @@
|
||||
"$(inherited)",
|
||||
"@executable_path/../Frameworks",
|
||||
);
|
||||
MARKETING_VERSION = 3.4.1;
|
||||
MARKETING_VERSION = 3.5.0;
|
||||
PRODUCT_BUNDLE_IDENTIFIER = com.nicoverbruggen.phpmon;
|
||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||
PROVISIONING_PROFILE_SPECIFIER = "";
|
||||
|
@ -89,31 +89,34 @@ class App {
|
||||
On startup, the preferences should be loaded from the .plist, and we'll enable the shortcut if it is set.
|
||||
*/
|
||||
private func loadGlobalHotkey() {
|
||||
let hotkey = Preferences.preferences[.globalHotkey] as! String?
|
||||
if hotkey == nil {
|
||||
// Make sure we can retrieve the hotkey from preferences; if we cannot, no hotkey is set
|
||||
guard let hotkey = Preferences.preferences[.globalHotkey] as? String else {
|
||||
print("No global hotkey loaded")
|
||||
return
|
||||
}
|
||||
|
||||
let keybindPref = GlobalKeybindPreference.fromJson(hotkey!)
|
||||
|
||||
if (keybindPref != nil) {
|
||||
self.shortcutHotkey = HotKey(keyCombo: KeyCombo(
|
||||
carbonKeyCode: keybindPref!.keyCode,
|
||||
carbonModifiers: keybindPref!.carbonFlags
|
||||
))
|
||||
} else {
|
||||
// Make sure we can parse the JSON into the desired format; if we cannot, no hotkey is set
|
||||
guard let keybindPref = GlobalKeybindPreference.fromJson(hotkey) else {
|
||||
print("No global hotkey loaded, could not be parsed!")
|
||||
self.shortcutHotkey = nil
|
||||
return
|
||||
}
|
||||
|
||||
self.shortcutHotkey = HotKey(keyCombo: KeyCombo(
|
||||
carbonKeyCode: keybindPref.keyCode,
|
||||
carbonModifiers: keybindPref.carbonFlags
|
||||
))
|
||||
}
|
||||
|
||||
/**
|
||||
Sets up the action that needs to occur when the shortcut key is pressed (open the menu).
|
||||
*/
|
||||
private func setupGlobalHotkeyListener() {
|
||||
guard let hotKey = self.shortcutHotkey else {
|
||||
guard let hotkey = self.shortcutHotkey else {
|
||||
return
|
||||
}
|
||||
hotKey.keyDownHandler = {
|
||||
|
||||
hotkey.keyDownHandler = {
|
||||
MainMenu.shared.statusItem.button?.performClick(nil)
|
||||
NSApplication.shared.activate(ignoringOtherApps: true)
|
||||
}
|
||||
|
Reference in New Issue
Block a user