macos: fix hasWindowButtons logic

pull/7528/head
Daniel Wennberg 2025-06-05 13:14:58 -07:00
parent efc1ceab5d
commit c2c267439b
1 changed files with 7 additions and 8 deletions

View File

@ -45,15 +45,14 @@ class TerminalWindow: NSWindow {
},
]
// false if all three traffic lights are missing/hidden, otherwise true
private var hasWindowButtons: Bool {
get {
if let close = standardWindowButton(.closeButton),
let miniaturize = standardWindowButton(.miniaturizeButton),
let zoom = standardWindowButton(.zoomButton) {
return !(close.isHidden && miniaturize.isHidden && zoom.isHidden)
} else {
return false
}
// if standardWindowButton(.theButton) == nil, the button isn't there, so coalesce to true
let closeIsHidden = standardWindowButton(.closeButton)?.isHiddenOrHasHiddenAncestor ?? true
let miniaturizeIsHidden = standardWindowButton(.miniaturizeButton)?.isHiddenOrHasHiddenAncestor ?? true
let zoomIsHidden = standardWindowButton(.zoomButton)?.isHiddenOrHasHiddenAncestor ?? true
return !(closeIsHidden && miniaturizeIsHidden && zoomIsHidden)
}
}
@ -78,7 +77,7 @@ class TerminalWindow: NSWindow {
if titlebarTabs {
generateToolbar()
}
level = UserDefaults.standard.value(forKey: Self.defaultLevelKey) as? NSWindow.Level ?? .normal
}