BugFix: Display Lock and Unlock Lag

This commit is contained in:
Hariharan Mudaliar 2026-01-09 12:32:00 +05:30
commit bb183a701d
No known key found for this signature in database
GPG key ID: 025583EB0BE5640E
8 changed files with 132 additions and 18 deletions

View file

@ -38,7 +38,7 @@ final class LockScreenWeatherPanelManager {
}
private func render(snapshot: LockScreenWeatherSnapshot, makeVisible: Bool) {
guard let screen = NSScreen.main else { return }
guard let screen = currentScreen() else { return }
if !makeVisible, window == nil {
return
}
@ -111,7 +111,7 @@ final class LockScreenWeatherPanelManager {
func refreshPositionForOffsets(animated: Bool = true) {
guard let window, let snapshot = lastSnapshot else { return }
guard let screen = NSScreen.main else { return }
guard let screen = currentScreen() else { return }
let size = lastContentSize ?? window.frame.size
let targetFrame = frame(for: size, snapshot: snapshot, on: screen)
latestFrame = targetFrame
@ -153,4 +153,8 @@ final class LockScreenWeatherPanelManager {
refreshPositionForOffsets(animated: false)
print("LockScreenWeatherPanelManager: realigned window due to \(reason)")
}
private func currentScreen() -> NSScreen? {
LockScreenDisplayContextProvider.shared.contextSnapshot()?.screen ?? NSScreen.main
}
}