macos: honor fullscreen setting

This commit is contained in:
Mitchell Hashimoto
2023-11-06 08:52:36 -08:00
parent 3564dd5e7e
commit efe9721c98
3 changed files with 18 additions and 0 deletions

View File

@ -67,6 +67,11 @@ class TerminalManager {
Self.lastCascadePoint = window.cascadeTopLeft(from: Self.lastCascadePoint)
}
if (ghostty.windowFullscreen) {
// NOTE: this doesn't properly handle non-native fullscreen yet
c.window?.toggleFullScreen(nil)
}
c.showWindow(self)
}

View File

@ -105,6 +105,15 @@ extension Ghostty {
_ = ghostty_config_get(config, &v, key, UInt(key.count))
return v
}
/// Whether to open new windows in fullscreen.
var windowFullscreen: Bool {
guard let config = self.config else { return true }
var v = false
let key = "fullscreen"
_ = ghostty_config_get(config, &v, key, UInt(key.count))
return v
}
/// The background opacity.
var backgroundOpacity: Double {

View File

@ -281,6 +281,10 @@ command: ?[]const u8 = null,
/// Start new windows in fullscreen. This setting applies to new
/// windows and does not apply to tabs, splits, etc. However, this
/// setting will apply to all new windows, not just the first one.
///
/// On macOS, this always creates the window in native fullscreen.
/// Non-native fullscreen is not currently supported with this
/// setting.
fullscreen: bool = false,
/// The title Ghostty will use for the window. This will force the title