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 self.window.title = newValue
} }
.onChange(of: cellSize) { newValue in .onChange(of: cellSize) { newValue in
if !ghostty.windowStepResize { return }
guard let size = newValue else { return } guard let size = newValue else { return }
self.window.contentResizeIncrements = size self.window.contentResizeIncrements = size
} }

View File

@ -97,6 +97,15 @@ extension Ghostty {
return String(cString: ptr) 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. /// The background opacity.
var backgroundOpacity: Double { var backgroundOpacity: Double {
guard let config = self.config else { return 1 } guard let config = self.config else { return 1 }

View File

@ -390,6 +390,10 @@ keybind: Keybinds = .{},
@"window-height": u32 = 0, @"window-height": u32 = 0,
@"window-width": 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 /// Whether to allow programs running in the terminal to read/write to
/// the system clipboard (OSC 52, for googling). The default is to /// the system clipboard (OSC 52, for googling). The default is to
/// disallow clipboard reading but allow writing. /// disallow clipboard reading but allow writing.