From bfe0be413a0f404dd6b6871f47d8c1c636383083 Mon Sep 17 00:00:00 2001 From: Guilherme Rambo Date: Thu, 16 Mar 2017 17:38:53 -0300 Subject: [PATCH 1/2] Using system appearance settings to choose between dark and light UI --- Xgist/BezelMessageWindowController.swift | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) diff --git a/Xgist/BezelMessageWindowController.swift b/Xgist/BezelMessageWindowController.swift index ddcabf3..4b6882b 100644 --- a/Xgist/BezelMessageWindowController.swift +++ b/Xgist/BezelMessageWindowController.swift @@ -65,13 +65,25 @@ final class BezelMessageWindowController: NSWindowController { window.setFrame(adjustedRect, display: false) } + private var backgroundMaterial: NSVisualEffectMaterial { + guard let systemTheme = UserDefaults.standard.object(forKey: "AppleInterfaceStyle") as? String else { return .mediumLight } + + return (systemTheme == "Dark") ? .dark : .mediumLight + } + + private var appearance: NSAppearance? { + let name = backgroundMaterial == .dark ? NSAppearanceNameVibrantDark : NSAppearanceNameAqua + + return NSAppearance(named: name) + } + private lazy var vfxView: NSVisualEffectView = { let v = NSVisualEffectView(frame: .zero) v.state = .active v.blendingMode = .behindWindow - v.material = .dark - v.appearance = NSAppearance(named: NSAppearanceNameVibrantDark) + v.material = self.backgroundMaterial + v.appearance = self.appearance v.maskImage = self.maskImage(with: Metrics.cornerRadius) return v @@ -159,6 +171,9 @@ final class BezelMessageWindowController: NSWindowController { } func show(for duration: TimeInterval, completion: (() -> Void)? = nil) { + vfxView.material = backgroundMaterial + vfxView.appearance = appearance + guard let window = window else { return } window.alphaValue = 0 From 242ff0a6e2c2832ae51948846eed909d5f272d87 Mon Sep 17 00:00:00 2001 From: Guilherme Rambo Date: Thu, 16 Mar 2017 18:15:49 -0300 Subject: [PATCH 2/2] Removed vestigial code from previous implementation --- Shared/BezelMessage.swift | 7 ------- Xgist/AppDelegate.swift | 4 ---- 2 files changed, 11 deletions(-) diff --git a/Shared/BezelMessage.swift b/Shared/BezelMessage.swift index dfa0b00..d973fa2 100644 --- a/Shared/BezelMessage.swift +++ b/Shared/BezelMessage.swift @@ -17,13 +17,6 @@ extension BezelMessage { static let clipboard = BezelMessage(imageName: "copy", title: "Link Copied") static let installed = BezelMessage(imageName: "message", title: "Xgist is Installed") - private var dict: [String: String] { - return [ - "imageName": imageName, - "title": title - ] - } - var urlEncoded: URL? { var components = URLComponents(string: "XgistMessage://message") diff --git a/Xgist/AppDelegate.swift b/Xgist/AppDelegate.swift index 554a64e..36f174b 100644 --- a/Xgist/AppDelegate.swift +++ b/Xgist/AppDelegate.swift @@ -54,9 +54,5 @@ class AppDelegate: NSObject, NSApplicationDelegate { } } - @objc private func killAgent() { - NSApp.terminate(nil) - } - }