mirror of
https://github.com/FBukovina/Atoll.git
synced 2026-10-28 15:44:32 +00:00
Working lock liveactivity
This commit is contained in:
parent
1ac788c5de
commit
05d41f6bb7
3 changed files with 63 additions and 8 deletions
|
|
@ -91,6 +91,7 @@ class AppDelegate: NSObject, NSApplicationDelegate {
|
|||
private var previousScreens: [NSScreen]?
|
||||
private var onboardingWindowController: NSWindowController?
|
||||
private var cancellables = Set<AnyCancellable>()
|
||||
private var windowsHiddenForLock = false
|
||||
|
||||
// Media key monitoring
|
||||
private var globalEventMonitor: Any?
|
||||
|
|
@ -209,14 +210,45 @@ class AppDelegate: NSObject, NSApplicationDelegate {
|
|||
|
||||
@objc func onScreenLocked(_: Notification) {
|
||||
print("Screen locked")
|
||||
cleanupWindows()
|
||||
hideWindowsForLock()
|
||||
}
|
||||
|
||||
|
||||
@objc func onScreenUnlocked(_: Notification) {
|
||||
print("Screen unlocked")
|
||||
DispatchQueue.main.asyncAfter(deadline: .now() + 1.0) { [weak self] in
|
||||
self?.cleanupWindows()
|
||||
self?.adjustWindowPosition(changeAlpha: true)
|
||||
guard let self = self else { return }
|
||||
self.restoreWindowsAfterLock()
|
||||
self.adjustWindowPosition(changeAlpha: true)
|
||||
}
|
||||
}
|
||||
|
||||
private func hideWindowsForLock() {
|
||||
guard !windowsHiddenForLock else { return }
|
||||
windowsHiddenForLock = true
|
||||
|
||||
if Defaults[.showOnAllDisplays] {
|
||||
for window in windows.values {
|
||||
window.alphaValue = 0
|
||||
window.orderOut(nil)
|
||||
}
|
||||
} else if let window = window {
|
||||
window.alphaValue = 0
|
||||
window.orderOut(nil)
|
||||
}
|
||||
}
|
||||
|
||||
private func restoreWindowsAfterLock() {
|
||||
guard windowsHiddenForLock else { return }
|
||||
windowsHiddenForLock = false
|
||||
|
||||
if Defaults[.showOnAllDisplays] {
|
||||
for window in windows.values {
|
||||
window.orderFrontRegardless()
|
||||
window.alphaValue = 1
|
||||
}
|
||||
} else if let window = window {
|
||||
window.orderFrontRegardless()
|
||||
window.alphaValue = 1
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue