Skip to content

Commit c54dede

Browse files
committed
Fix for window disappearing when de-minimize from dock
Window appears for a sub second and then disappears. This change adds reset and set for window level on lifecycle changes.
1 parent 16b012a commit c54dede

File tree

1 file changed

+15
-0
lines changed

1 file changed

+15
-0
lines changed

BuildTimeAnalyzer/ViewController.swift

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,21 @@ class ViewController: NSViewController {
5252
NotificationCenter.default.addObserver(self, selector: #selector(windowWillClose(notification:)), name: .NSWindowWillClose, object: nil)
5353
}
5454

55+
override func viewWillAppear() {
56+
super.viewWillAppear()
57+
58+
// Set window level before view is displayed
59+
makeWindowTopMost(topMost: UserSettings.windowShouldBeTopMost)
60+
}
61+
62+
override func viewWillDisappear() {
63+
super.viewWillDisappear()
64+
65+
// Reset window level before view is hidden
66+
// Reference: https://developer.apple.com/library/content/documentation/Cocoa/Conceptual/WinPanel/Concepts/WindowLevel.html
67+
makeWindowTopMost(topMost: false)
68+
}
69+
5570
func windowWillClose(notification: NSNotification) {
5671
guard let object = notification.object, !(object is NSPanel) else { return }
5772
NotificationCenter.default.removeObserver(self)

0 commit comments

Comments
 (0)