diff --git a/MonitorControl.xcodeproj/project.pbxproj b/MonitorControl.xcodeproj/project.pbxproj index cb54334..7380387 100644 --- a/MonitorControl.xcodeproj/project.pbxproj +++ b/MonitorControl.xcodeproj/project.pbxproj @@ -287,13 +287,13 @@ TargetAttributes = { 56754EAA1D9A4016007BCDC5 = { CreatedOnToolsVersion = 8.0; - DevelopmentTeam = KGY56RWR9A; + DevelopmentTeam = AZJ6KXSZ74; LastSwiftMigration = 0900; ProvisioningStyle = Automatic; }; F06792E6200A73460066C438 = { CreatedOnToolsVersion = 9.2; - DevelopmentTeam = KGY56RWR9A; + DevelopmentTeam = AZJ6KXSZ74; ProvisioningStyle = Automatic; }; }; @@ -363,13 +363,11 @@ ); inputPaths = ( "${SRCROOT}/Pods/Target Support Files/Pods-MonitorControl/Pods-MonitorControl-frameworks.sh", - "${BUILT_PRODUCTS_DIR}/HotKey/HotKey.framework", "${BUILT_PRODUCTS_DIR}/MASPreferences/MASPreferences.framework", "${BUILT_PRODUCTS_DIR}/MediaKeyTap/MediaKeyTap.framework", ); name = "[CP] Embed Pods Frameworks"; outputPaths = ( - "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/HotKey.framework", "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/MASPreferences.framework", "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/MediaKeyTap.framework", ); @@ -614,10 +612,10 @@ CODE_SIGN_IDENTITY = "Mac Developer"; CODE_SIGN_STYLE = Automatic; COMBINE_HIDPI_IMAGES = YES; - DEVELOPMENT_TEAM = KGY56RWR9A; + DEVELOPMENT_TEAM = AZJ6KXSZ74; INFOPLIST_FILE = "$(SRCROOT)/MonitorControl/Info.plist"; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks"; - PRODUCT_BUNDLE_IDENTIFIER = me.guillaumeb.MonitorControl; + PRODUCT_BUNDLE_IDENTIFIER = me.guillaumeb.MonitorControlD; PRODUCT_NAME = "$(TARGET_NAME)"; PROVISIONING_PROFILE_SPECIFIER = ""; SWIFT_OBJC_BRIDGING_HEADER = "MonitorControl/Bridging-Header.h"; @@ -633,10 +631,10 @@ CODE_SIGN_IDENTITY = "Mac Developer"; CODE_SIGN_STYLE = Automatic; COMBINE_HIDPI_IMAGES = YES; - DEVELOPMENT_TEAM = KGY56RWR9A; + DEVELOPMENT_TEAM = AZJ6KXSZ74; INFOPLIST_FILE = "$(SRCROOT)/MonitorControl/Info.plist"; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks"; - PRODUCT_BUNDLE_IDENTIFIER = me.guillaumeb.MonitorControl; + PRODUCT_BUNDLE_IDENTIFIER = me.guillaumeb.MonitorControlD; PRODUCT_NAME = "$(TARGET_NAME)"; PROVISIONING_PROFILE_SPECIFIER = ""; SWIFT_OBJC_BRIDGING_HEADER = "MonitorControl/Bridging-Header.h"; @@ -655,7 +653,7 @@ CODE_SIGN_IDENTITY = "Mac Developer"; CODE_SIGN_STYLE = Automatic; COMBINE_HIDPI_IMAGES = YES; - DEVELOPMENT_TEAM = KGY56RWR9A; + DEVELOPMENT_TEAM = AZJ6KXSZ74; GCC_C_LANGUAGE_STANDARD = gnu11; INFOPLIST_FILE = MonitorControlHelper/Info.plist; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks"; @@ -678,7 +676,7 @@ CODE_SIGN_IDENTITY = "Mac Developer"; CODE_SIGN_STYLE = Automatic; COMBINE_HIDPI_IMAGES = YES; - DEVELOPMENT_TEAM = KGY56RWR9A; + DEVELOPMENT_TEAM = AZJ6KXSZ74; GCC_C_LANGUAGE_STANDARD = gnu11; INFOPLIST_FILE = MonitorControlHelper/Info.plist; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks"; diff --git a/MonitorControl/AppDelegate.swift b/MonitorControl/AppDelegate.swift index 2ffed10..d9879b9 100644 --- a/MonitorControl/AppDelegate.swift +++ b/MonitorControl/AppDelegate.swift @@ -31,9 +31,19 @@ class AppDelegate: NSObject, NSApplicationDelegate, MediaKeyTapDelegate { var mediaKeyTap: MediaKeyTap? var prefsController: NSWindowController? + var keysListenedFor: [MediaKey] = [.brightnessUp, .brightnessDown, .mute, .volumeUp, .volumeDown] + func applicationDidFinishLaunching(_ aNotification: Notification) { app = self - mediaKeyTap = MediaKeyTap.init(delegate: self, forKeys: [.brightnessUp, .brightnessDown, .mute, .volumeUp, .volumeDown], observeBuiltIn: false) + + let listenFor = prefs.integer(forKey: Utils.PrefKeys.listenFor.rawValue) + if listenFor == Utils.ListenForKeys.brightnessOnlyKeys.rawValue { + keysListenedFor.removeSubrange(2...4) + } else if listenFor == Utils.ListenForKeys.volumeOnlyKeys.rawValue { + keysListenedFor.removeSubrange(0...1) + } + + mediaKeyTap = MediaKeyTap.init(delegate: self, forKeys: keysListenedFor, observeBuiltIn: false) let storyboard: NSStoryboard = NSStoryboard.init(name: NSStoryboard.Name(rawValue: "Main"), bundle: Bundle.main) let views = [ storyboard.instantiateController(withIdentifier: NSStoryboard.SceneIdentifier(rawValue: "MainPrefsVC")), @@ -42,6 +52,9 @@ class AppDelegate: NSObject, NSApplicationDelegate, MediaKeyTapDelegate { ] prefsController = MASPreferencesWindowController(viewControllers: views, title: NSLocalizedString("Preferences", comment: "Shown in Preferences window")) + NotificationCenter.default.addObserver(self, selector: #selector(handleListenForChanged), name: NSNotification.Name.init(Utils.PrefKeys.listenFor.rawValue), object: nil) + NotificationCenter.default.addObserver(self, selector: #selector(handleShowContrastChanged), name: NSNotification.Name.init(Utils.PrefKeys.showContrast.rawValue), object: nil) + statusItem.image = NSImage.init(named: NSImage.Name(rawValue: "status")) statusItem.menu = statusMenu @@ -65,6 +78,7 @@ class AppDelegate: NSObject, NSApplicationDelegate, MediaKeyTapDelegate { @IBAction func prefsClicked(_ sender: AnyObject) { if let prefsController = prefsController { prefsController.showWindow(sender) + NSApp.activate(ignoringOtherApps: true) prefsController.window?.makeKeyAndOrderFront(sender) } } @@ -76,15 +90,24 @@ class AppDelegate: NSObject, NSApplicationDelegate, MediaKeyTapDelegate { prefs.set(true, forKey: Utils.PrefKeys.appAlreadyLaunched.rawValue) prefs.set(false, forKey: Utils.PrefKeys.startAtLogin.rawValue) - prefs.set(true, forKey: Utils.PrefKeys.startWhenExternal.rawValue) + + prefs.set(false, forKey: Utils.PrefKeys.showContrast.rawValue) + prefs.set(false, forKey: Utils.PrefKeys.lowerContrast.rawValue) } } // MARK: - Menu func clearDisplays() { - for monitor in monitorItems { - statusMenu.removeItem(monitor) + if statusMenu.items.count > 2 { + var items: [NSMenuItem] = [] + for i in 0.. Bool in if let id = screen.deviceDescription[NSDeviceDescriptionKey.init("NSScreenNumber")] as? CGDirectDisplayID { @@ -155,6 +177,14 @@ class AppDelegate: NSObject, NSApplicationDelegate, MediaKeyTapDelegate { forDisplay: display, command: BRIGHTNESS, title: NSLocalizedString("Brightness", comment: "Shown in menu")) + if prefs.bool(forKey: Utils.PrefKeys.showContrast.rawValue) { + let contrastSliderHandler = Utils.addSliderMenuItem(toMenu: monitorSubMenu, + forDisplay: display, + command: CONTRAST, + title: NSLocalizedString("Contrast", comment: "Shown in menu")) + display.contrastSliderHandler = contrastSliderHandler + } + display.volumeSliderHandler = volumeSliderHandler display.brightnessSliderHandler = brightnessSliderHandler displays.append(display) @@ -173,33 +203,57 @@ class AppDelegate: NSObject, NSApplicationDelegate, MediaKeyTapDelegate { // MARK: - Media Key Tap delegate - func handle(mediaKey: MediaKey, event: KeyEvent) { + func handle(mediaKey: MediaKey, event: KeyEvent?) { guard let currentDisplay = Utils.getCurrentDisplay(from: displays) else { return } - var rel = 0 - - switch mediaKey { - case .brightnessUp: - rel = +self.step - let value = currentDisplay.calcNewValue(for: BRIGHTNESS, withRel: rel) - currentDisplay.setBrightness(to: value) - case .brightnessDown: - rel = -self.step - let value = currentDisplay.calcNewValue(for: BRIGHTNESS, withRel: rel) - currentDisplay.setBrightness(to: value) - case .mute: - currentDisplay.mute() - case .volumeUp: - rel = +self.step - let value = currentDisplay.calcNewValue(for: AUDIO_SPEAKER_VOLUME, withRel: rel) - currentDisplay.setVolume(to: value) - case .volumeDown: - rel = -self.step - let value = currentDisplay.calcNewValue(for: AUDIO_SPEAKER_VOLUME, withRel: rel) - currentDisplay.setVolume(to: value) - default: - return + let allDisplays = prefs.bool(forKey: Utils.PrefKeys.allScreens.rawValue) ? displays : [currentDisplay] + for display in allDisplays { + var rel = 0 + if prefs.bool(forKey: "\(display.identifier)-state") { + switch mediaKey { + case .brightnessUp: + rel = +self.step + let value = display.calcNewValue(for: BRIGHTNESS, withRel: rel) + display.setBrightness(to: value) + case .brightnessDown: + rel = -self.step + let value = currentDisplay.calcNewValue(for: BRIGHTNESS, withRel: rel) + display.setBrightness(to: value) + case .mute: + display.mute() + case .volumeUp: + rel = +self.step + let value = display.calcNewValue(for: AUDIO_SPEAKER_VOLUME, withRel: rel) + display.setVolume(to: value) + case .volumeDown: + rel = -self.step + let value = display.calcNewValue(for: AUDIO_SPEAKER_VOLUME, withRel: rel) + display.setVolume(to: value) + default: + return + } + } } } + // MARK: - Prefs notification + + @objc func handleListenForChanged() { + let listenFor = prefs.integer(forKey: Utils.PrefKeys.listenFor.rawValue) + keysListenedFor = [.brightnessUp, .brightnessDown, .mute, .volumeUp, .volumeDown] + if listenFor == Utils.ListenForKeys.brightnessOnlyKeys.rawValue { + keysListenedFor.removeSubrange(2...4) + } else if listenFor == Utils.ListenForKeys.volumeOnlyKeys.rawValue { + keysListenedFor.removeSubrange(0...1) + } + + mediaKeyTap?.stop() + mediaKeyTap = MediaKeyTap.init(delegate: self, forKeys: keysListenedFor, observeBuiltIn: false) + mediaKeyTap?.start() + } + + @objc func handleShowContrastChanged() { + self.updateDisplays() + } + } diff --git a/MonitorControl/Base.lproj/Main.storyboard b/MonitorControl/Base.lproj/Main.storyboard index f06a856..f133628 100644 --- a/MonitorControl/Base.lproj/Main.storyboard +++ b/MonitorControl/Base.lproj/Main.storyboard @@ -11,11 +11,11 @@ - + - + @@ -23,7 +23,7 @@ - - - + - - + - - - + + + + + + - - - - + + - + - + - + @@ -114,43 +112,15 @@ - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + @@ -159,30 +129,24 @@ - - - + - - - - - + diff --git a/MonitorControl/Objects/ButtonCellView.swift b/MonitorControl/Objects/ButtonCellView.swift index 806b2f0..292ff26 100644 --- a/MonitorControl/Objects/ButtonCellView.swift +++ b/MonitorControl/Objects/ButtonCellView.swift @@ -24,11 +24,10 @@ class ButtonCellView: NSTableCellView { case .on: prefs.set(true, forKey: "\(display.identifier)-state") case .off: - prefs.set(true, forKey: "\(display.identifier)-state") + prefs.set(false, forKey: "\(display.identifier)-state") default: break } - // TODO: Toggle enabled display state print("Toggle enabled display state -> \(sender.state == .on ? "on" : "off")") } } diff --git a/MonitorControl/Objects/Display.swift b/MonitorControl/Objects/Display.swift index dd47962..cf0f9eb 100644 --- a/MonitorControl/Objects/Display.swift +++ b/MonitorControl/Objects/Display.swift @@ -17,6 +17,7 @@ class Display { var isMuted: Bool = false var brightnessSliderHandler: SliderHandler? var volumeSliderHandler: SliderHandler? + var contrastSliderHandler: SliderHandler? private let prefs = UserDefaults.standard @@ -57,6 +58,18 @@ class Display { } func setBrightness(to value: Int) { + if prefs.bool(forKey: Utils.PrefKeys.lowerContrast.rawValue) { + if value == 0 { + Utils.sendCommand(CONTRAST, toMonitor: identifier, withValue: value) + if let slider = contrastSliderHandler?.slider { + slider.intValue = Int32(value) + } + } else if prefs.integer(forKey: "\(BRIGHTNESS)-\(identifier)") == 0 { + let contrastValue = prefs.integer(forKey: "\(CONTRAST)-\(identifier)") + Utils.sendCommand(CONTRAST, toMonitor: identifier, withValue: contrastValue) + } + } + Utils.sendCommand(BRIGHTNESS, toMonitor: identifier, withValue: value) if let slider = brightnessSliderHandler?.slider { slider.intValue = Int32(value) diff --git a/MonitorControl/Prefs/DisplayPrefsViewController.swift b/MonitorControl/Prefs/DisplayPrefsViewController.swift index 9d880da..36d585e 100644 --- a/MonitorControl/Prefs/DisplayPrefsViewController.swift +++ b/MonitorControl/Prefs/DisplayPrefsViewController.swift @@ -42,7 +42,6 @@ class DisplayPrefsViewController: NSViewController, MASPreferencesViewController prefs.set(false, forKey: Utils.PrefKeys.allScreens.rawValue) default: break } - // TODO: Toggle allScreens state print("Toggle allScreens state -> \(sender.state == .on ? "on" : "off")") } diff --git a/MonitorControl/Prefs/KeysPrefsViewController.swift b/MonitorControl/Prefs/KeysPrefsViewController.swift index b157528..298a922 100644 --- a/MonitorControl/Prefs/KeysPrefsViewController.swift +++ b/MonitorControl/Prefs/KeysPrefsViewController.swift @@ -17,24 +17,17 @@ class KeysPrefsViewController: NSViewController, MASPreferencesViewController { let prefs = UserDefaults.standard @IBOutlet var listenFor: NSPopUpButton! - @IBOutlet var listenOn: NSPopUpButton! override func viewDidLoad() { super.viewDidLoad() listenFor.selectItem(at: prefs.integer(forKey: Utils.PrefKeys.listenFor.rawValue)) - listenOn.selectItem(at: prefs.integer(forKey: Utils.PrefKeys.listenOn.rawValue)) } @IBAction func listenForChanged(_ sender: NSPopUpButton) { prefs.set(sender.selectedTag(), forKey: Utils.PrefKeys.listenFor.rawValue) - // TODO: Toggle keys listened for state print("Toggle keys listened for state state -> \(sender.selectedItem?.title ?? "")") + NotificationCenter.default.post(name: Notification.Name.init(Utils.PrefKeys.listenFor.rawValue), object: nil) } - @IBAction func listenOnChanged(_ sender: NSPopUpButton) { - prefs.set(sender.selectedTag(), forKey: Utils.PrefKeys.listenOn.rawValue) - // TODO: Toggle keys listened on state - print("Toggle keys listened on state state -> \(sender.selectedItem?.title ?? "")") - } } diff --git a/MonitorControl/Prefs/MainPrefsViewController.swift b/MonitorControl/Prefs/MainPrefsViewController.swift index 941eaba..6f78226 100644 --- a/MonitorControl/Prefs/MainPrefsViewController.swift +++ b/MonitorControl/Prefs/MainPrefsViewController.swift @@ -18,13 +18,15 @@ class MainPrefsViewController: NSViewController, MASPreferencesViewController { let prefs = UserDefaults.standard @IBOutlet var startAtLogin: NSButton! - @IBOutlet var startWhenExternal: NSButton! + @IBOutlet var showContrastSlider: NSButton! + @IBOutlet var lowerContrast: NSButton! override func viewDidLoad() { super.viewDidLoad() startAtLogin.state = prefs.bool(forKey: Utils.PrefKeys.startAtLogin.rawValue) ? .on : .off - startWhenExternal.state = prefs.bool(forKey: Utils.PrefKeys.startWhenExternal.rawValue) ? .on : .off + showContrastSlider.state = prefs.bool(forKey: Utils.PrefKeys.showContrast.rawValue) ? .on : .off + lowerContrast.state = prefs.bool(forKey: Utils.PrefKeys.lowerContrast.rawValue) ? .on : .off } @IBAction func startAtLoginClicked(_ sender: NSButton) { @@ -41,15 +43,26 @@ class MainPrefsViewController: NSViewController, MASPreferencesViewController { print("Toggle start at login state -> \(sender.state == .on ? "on" : "off")") } - @IBAction func startWhenExternalClicked(_ sender: NSButton) { + @IBAction func showContrastSliderClicked(_ sender: NSButton) { switch sender.state { case .on: - prefs.set(true, forKey: Utils.PrefKeys.startWhenExternal.rawValue) + prefs.set(true, forKey: Utils.PrefKeys.showContrast.rawValue) case .off: - prefs.set(false, forKey: Utils.PrefKeys.startWhenExternal.rawValue) + prefs.set(false, forKey: Utils.PrefKeys.showContrast.rawValue) default: break } - // TODO: Toggle start when external plugged in state - print("Toggle start when external plugged in state -> \(sender.state == .on ? "on" : "off")") + print("Toggle show contrast slider state -> \(sender.state == .on ? "on" : "off")") + NotificationCenter.default.post(name: Notification.Name.init(Utils.PrefKeys.showContrast.rawValue), object: nil) + } + + @IBAction func lowerContrastClicked(_ sender: NSButton) { + switch sender.state { + case .on: + prefs.set(true, forKey: Utils.PrefKeys.lowerContrast.rawValue) + case .off: + prefs.set(false, forKey: Utils.PrefKeys.lowerContrast.rawValue) + default: break + } + print("Toggle lower contrast after brightness state -> \(sender.state == .on ? "on" : "off")") } } diff --git a/MonitorControl/Utils.swift b/MonitorControl/Utils.swift index 3ca0618..54dc70c 100644 --- a/MonitorControl/Utils.swift +++ b/MonitorControl/Utils.swift @@ -179,6 +179,8 @@ class Utils: NSObject { } } + // MARK: - Enums + /// UserDefault Keys for the app prefs enum PrefKeys: String { /// Was the app launched once @@ -193,11 +195,26 @@ class Utils: NSObject { /// Keys listened for (Brightness/Volume) case listenFor - /// Keys listened on (mac or functions) - case listenOn + /// Show contrast sliders + case showContrast + + /// Lower contrast after brightness + case lowerContrast /// Change Brightness/Volume for all screens case allScreens } + /// Keys for the value of listenFor option + enum ListenForKeys: Int { + /// Listen for Brightness and Volume keys + case brightnessAndVolumeKeys = 0 + + /// Listen for Brightness keys only + case brightnessOnlyKeys = 1 + + /// Listen for Volume keys only + case volumeOnlyKeys = 2 + } + } diff --git a/MonitorControl/en.lproj/Main.strings b/MonitorControl/en.lproj/Main.strings index 12726cf..b72ba6e 100644 --- a/MonitorControl/en.lproj/Main.strings +++ b/MonitorControl/en.lproj/Main.strings @@ -8,12 +8,6 @@ /* Class = "NSTableColumn"; headerCell.title = "Enabled"; ObjectID = "8U8-ec-Zbv"; */ "8U8-ec-Zbv.headerCell.title" = "Enabled"; -/* Class = "NSMenuItem"; title = "Native Mac Keys"; ObjectID = "AiH-h3-2w5"; */ -"AiH-h3-2w5.title" = "Native Mac Keys"; - -/* Class = "NSTextFieldCell"; title = "Listen on"; ObjectID = "C3e-V0-Tn0"; */ -"C3e-V0-Tn0.title" = "Listen on"; - /* Class = "NSTableColumn"; headerCell.title = "Display Name"; ObjectID = "CHc-s5-4MN"; */ "CHc-s5-4MN.headerCell.title" = "Display Name"; @@ -56,9 +50,6 @@ /* Class = "NSTextFieldCell"; title = "Table View Cell"; ObjectID = "cUg-j2-8gt"; */ "cUg-j2-8gt.title" = "Table View Cell"; -/* Class = "NSMenuItem"; title = "Function Keys (F1, F2...)"; ObjectID = "dQm-ww-uhA"; */ -"dQm-ww-uhA.title" = "Function Keys (F1, F2...)"; - /* Class = "NSTableColumn"; headerCell.title = "Display Id"; ObjectID = "dgp-q7-cBK"; */ "dgp-q7-cBK.headerCell.title" = "Display Id"; @@ -70,3 +61,7 @@ /* Class = "NSTextFieldCell"; title = "General"; ObjectID = "ocE-Cc-2bi"; */ "ocE-Cc-2bi.title" = "General"; + +"8cS-Fg-fKy.title" = "Show a slider for contrast"; + +"JDl-l4-s8k.title" = "Lower Contrast after Brightness"; diff --git a/MonitorControl/fr.lproj/Main.strings b/MonitorControl/fr.lproj/Main.strings index 4d0745e..a248009 100644 --- a/MonitorControl/fr.lproj/Main.strings +++ b/MonitorControl/fr.lproj/Main.strings @@ -8,12 +8,6 @@ /* Class = "NSTableColumn"; headerCell.title = "Enabled"; ObjectID = "8U8-ec-Zbv"; */ "8U8-ec-Zbv.headerCell.title" = "Activé"; -/* Class = "NSMenuItem"; title = "Native Mac Keys"; ObjectID = "AiH-h3-2w5"; */ -"AiH-h3-2w5.title" = "Touches macOS Native"; - -/* Class = "NSTextFieldCell"; title = "Listen on"; ObjectID = "C3e-V0-Tn0"; */ -"C3e-V0-Tn0.title" = "Écouter sur"; - /* Class = "NSTableColumn"; headerCell.title = "Display Name"; ObjectID = "CHc-s5-4MN"; */ "CHc-s5-4MN.headerCell.title" = "Nom de l'écran"; @@ -56,9 +50,6 @@ /* Class = "NSTextFieldCell"; title = "Table View Cell"; ObjectID = "cUg-j2-8gt"; */ "cUg-j2-8gt.title" = "Table View Cell"; -/* Class = "NSMenuItem"; title = "Function Keys (F1, F2...)"; ObjectID = "dQm-ww-uhA"; */ -"dQm-ww-uhA.title" = "Touches de fonctions (F1, F2...)"; - /* Class = "NSTableColumn"; headerCell.title = "Display Id"; ObjectID = "dgp-q7-cBK"; */ "dgp-q7-cBK.headerCell.title" = "Identifiant"; @@ -70,3 +61,7 @@ /* Class = "NSTextFieldCell"; title = "General"; ObjectID = "ocE-Cc-2bi"; */ "ocE-Cc-2bi.title" = "Général"; + +"8cS-Fg-fKy.title" = "Afficher un slider pour le contraste"; + +"JDl-l4-s8k.title" = "Diminuer le contraste après la luminosité"; diff --git a/Podfile.lock b/Podfile.lock index c5291fe..b53b1c9 100644 --- a/Podfile.lock +++ b/Podfile.lock @@ -12,7 +12,7 @@ EXTERNAL SOURCES: CHECKOUT OPTIONS: MediaKeyTap: - :commit: d02f865ea962d5811375ddd047525baf409fb2b0 + :commit: f369a24f6c9931f2a1485a6cd1cef94a432bb36e :git: https://github.com/the0neyouseek/MediaKeyTap.git SPEC CHECKSUMS: