Merge pull request #1776 from mitchellh/reload-transparency

macos: only set bg color and titlebar color if opaque
This commit is contained in:
Mitchell Hashimoto
2024-05-17 17:11:46 -04:00
committed by GitHub

View File

@ -172,11 +172,22 @@ class TerminalController: NSWindowController, NSWindowDelegate,
} else {
window.titlebarFont = nil
}
// The titlebar is always updated. We don't need to worry about opacity
// because we handle it here.
let backgroundColor = OSColor(ghostty.config.backgroundColor)
window.backgroundColor = backgroundColor
window.titlebarColor = backgroundColor.withAlphaComponent(ghostty.config.backgroundOpacity)
window.updateTabBar()
if (window.isOpaque) {
// Bg color is only synced if we have no transparency. This is because
// the transparency is handled at the surface level (window.backgroundColor
// ignores alpha components)
window.backgroundColor = backgroundColor
// If there is transparency, calling this will make the titlebar opaque
// so we only call this if we are opaque.
window.updateTabBar()
}
}
/// Update all surfaces with the focus state. This ensures that libghostty has an accurate view about