diff --git a/macos/Ghostty.sdef b/macos/Ghostty.sdef index 7d0e219ce..c2e60dc80 100644 --- a/macos/Ghostty.sdef +++ b/macos/Ghostty.sdef @@ -149,6 +149,9 @@ + + + diff --git a/macos/Sources/Features/AppleScript/ScriptSplitCommand.swift b/macos/Sources/Features/AppleScript/ScriptSplitCommand.swift index 6e90eda50..e74eed78f 100644 --- a/macos/Sources/Features/AppleScript/ScriptSplitCommand.swift +++ b/macos/Sources/Features/AppleScript/ScriptSplitCommand.swift @@ -28,6 +28,19 @@ final class ScriptSplitCommand: NSScriptCommand { return nil } + let baseConfig: Ghostty.SurfaceConfiguration + do { + if let scriptRecord = evaluatedArguments?["configuration"] as? NSDictionary { + baseConfig = try Ghostty.SurfaceConfiguration(scriptRecord: scriptRecord) + } else { + baseConfig = Ghostty.SurfaceConfiguration() + } + } catch { + scriptErrorNumber = errAECoercionFail + scriptErrorString = error.localizedDescription + return nil + } + // Find the window controller that owns this surface. guard let controller = surfaceView.window?.windowController as? BaseTerminalController else { scriptErrorNumber = errAEEventFailed @@ -35,7 +48,11 @@ final class ScriptSplitCommand: NSScriptCommand { return nil } - guard let newView = controller.newSplit(at: surfaceView, direction: direction.splitDirection) else { + guard let newView = controller.newSplit( + at: surfaceView, + direction: direction.splitDirection, + baseConfig: baseConfig + ) else { scriptErrorNumber = errAEEventFailed scriptErrorString = "Failed to create split." return nil @@ -71,4 +88,3 @@ private enum ScriptSplitDirection { } } } -