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) - } - } 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