config: add window-step-resize option

This commit is contained in:
Gregory Anders
2023-10-27 09:30:15 -05:00
parent 0f73bf32e6
commit add2b675bd
3 changed files with 14 additions and 0 deletions

View File

@ -82,6 +82,7 @@ struct PrimaryView: View {
self.window.title = newValue
}
.onChange(of: cellSize) { newValue in
if !ghostty.windowStepResize { return }
guard let size = newValue else { return }
self.window.contentResizeIncrements = size
}

View File

@ -97,6 +97,15 @@ extension Ghostty {
return String(cString: ptr)
}
/// Whether to resize windows in discrete steps or use "fluid" resizing
var windowStepResize: Bool {
guard let config = self.config else { return true }
var v = false
let key = "window-step-resize"
_ = ghostty_config_get(config, &v, key, UInt(key.count))
return v
}
/// The background opacity.
var backgroundOpacity: Double {
guard let config = self.config else { return 1 }

View File

@ -390,6 +390,10 @@ keybind: Keybinds = .{},
@"window-height": u32 = 0,
@"window-width": u32 = 0,
/// Whether to resize the window in discrete increments of the focused surface's
/// cell size. Currently only supported on macOS.
@"window-step-resize": bool = false,
/// Whether to allow programs running in the terminal to read/write to
/// the system clipboard (OSC 52, for googling). The default is to
/// disallow clipboard reading but allow writing.