diff --git a/MTMR/AppDelegate.swift b/MTMR/AppDelegate.swift index 6c55260..9838b67 100644 --- a/MTMR/AppDelegate.swift +++ b/MTMR/AppDelegate.swift @@ -41,6 +41,12 @@ class AppDelegate: NSObject, NSApplicationDelegate { TouchBarController.shared.createAndUpdatePreset() } + @objc func toggleControlStrip(_ sender: Any?) { + TouchBarController.shared.controlStripState = !TouchBarController.shared.controlStripState + createMenu() + TouchBarController.shared.resetControlStrip() + } + @objc func openPreset(_ sender: Any?) { let dialog = NSOpenPanel(); @@ -71,6 +77,7 @@ class AppDelegate: NSObject, NSApplicationDelegate { menu.addItem(withTitle: "Preferences", action: #selector(openPrefereces(_:)), keyEquivalent: ",") menu.addItem(withTitle: "Reload Preset", action: #selector(updatePreset(_:)), keyEquivalent: "r") menu.addItem(withTitle: "Open Preset", action: #selector(openPreset(_:)), keyEquivalent: "O") + menu.addItem(withTitle: TouchBarController.shared.controlStripState ? "Hide Control Strip" : "Show Control Strip" , action: #selector(toggleControlStrip(_:)), keyEquivalent: "T") menu.addItem(NSMenuItem.separator()) menu.addItem(withTitle: "Quit", action: #selector(NSApplication.terminate(_:)), keyEquivalent: "q") statusItem.menu = menu diff --git a/MTMR/TouchBarController.swift b/MTMR/TouchBarController.swift index b981a29..a396add 100644 --- a/MTMR/TouchBarController.swift +++ b/MTMR/TouchBarController.swift @@ -61,6 +61,15 @@ class TouchBarController: NSObject, NSTouchBarDelegate { var scrollArea: NSCustomTouchBarItem? var centerScrollArea = NSTouchBarItem.Identifier("com.toxblh.mtmr.scrollArea.".appending(UUID().uuidString)) + var controlStripState: Bool { + get { + return UserDefaults.standard.bool(forKey: "com.toxblh.mtmr.settings.showControlStrip") + } + set { + UserDefaults.standard.set(!controlStripState, forKey: "com.toxblh.mtmr.settings.showControlStrip") + } + } + private override init() { super.init() SupportedTypesHolder.sharedInstance.register(typename: "exitTouchbar", item: .staticButton(title: "exit"), action: .custom(closure: { [weak self] in self?.dismissTouchBar()}), longAction: .none) @@ -152,7 +161,16 @@ class TouchBarController: NSObject, NSTouchBarDelegate { } @objc private func presentTouchBar() { - NSTouchBar.presentSystemModalFunctionBar(touchBar, placement: 1, systemTrayItemIdentifier: .controlStripItem) + if self.controlStripState { + NSTouchBar.presentSystemModalFunctionBar(touchBar, systemTrayItemIdentifier: .controlStripItem) + } else { + NSTouchBar.presentSystemModalFunctionBar(touchBar, placement: 1, systemTrayItemIdentifier: .controlStripItem) + } + } + + @objc func resetControlStrip() { + NSTouchBar.minimizeSystemModalFunctionBar(self.touchBar) + presentTouchBar() } @objc private func dismissTouchBar() {