Merge pull request #315 from Vayn/develop

Make HUD window front but not in focus
This commit is contained in:
Qiu Yuzhou
2017-04-09 13:30:57 +08:00
committed by GitHub
2 changed files with 5 additions and 6 deletions

View File

@ -562,8 +562,8 @@ class AppDelegate: NSObject, NSApplicationDelegate, NSUserNotificationCenterDele
toastWindowCtrl = ToastWindowController(windowNibName: "ToastWindowController") toastWindowCtrl = ToastWindowController(windowNibName: "ToastWindowController")
toastWindowCtrl.message = message toastWindowCtrl.message = message
toastWindowCtrl.showWindow(self) toastWindowCtrl.showWindow(self)
NSApp.activate(ignoringOtherApps: true) //NSApp.activate(ignoringOtherApps: true)
toastWindowCtrl.window?.makeKeyAndOrderFront(self) //toastWindowCtrl.window?.makeKeyAndOrderFront(self)
toastWindowCtrl.fadeInHud() toastWindowCtrl.fadeInHud()
} }
} }

View File

@ -34,10 +34,11 @@ class ToastWindowController: NSWindowController {
if let win = self.window { if let win = self.window {
win.isOpaque = false win.isOpaque = false
win.backgroundColor = .clear win.backgroundColor = .clear
win.level = Int(CGWindowLevelForKey(.utilityWindow)) + 1000
win.styleMask = .borderless win.styleMask = .borderless
win.hidesOnDeactivate = false win.hidesOnDeactivate = false
win.collectionBehavior = .canJoinAllSpaces win.collectionBehavior = .canJoinAllSpaces
win.level = Int(CGWindowLevelForKey(.floatingWindow))
win.orderFrontRegardless()
} }
let viewLayer: CALayer = CALayer() let viewLayer: CALayer = CALayer()
@ -83,8 +84,6 @@ class ToastWindowController: NSWindowController {
fadingOut = false fadingOut = false
self.window?.orderFrontRegardless()
CATransaction.begin() CATransaction.begin()
CATransaction.setAnimationDuration(kHudFadeInDuration) CATransaction.setAnimationDuration(kHudFadeInDuration)
CATransaction.setCompletionBlock { self.didFadeIn() } CATransaction.setCompletionBlock { self.didFadeIn() }
@ -113,7 +112,7 @@ class ToastWindowController: NSWindowController {
func didFadeOut() -> Void { func didFadeOut() -> Void {
if fadingOut { if fadingOut {
self.window?.orderOut(nil) self.window?.orderOut(self)
} }
fadingOut = false fadingOut = false
} }