diff --git a/kitty/launch.py b/kitty/launch.py index db26a5590..6339364d8 100644 --- a/kitty/launch.py +++ b/kitty/launch.py @@ -801,7 +801,10 @@ def _launch( if opts.type == 'overlay-main': new_window.overlay_type = OverlayType.main if opts.var: - for key, val in parse_var(opts.var): + vars = tuple(parse_var(opts.var)) + if new_window.creation_spec: + new_window.creation_spec = new_window.creation_spec._replace(user_vars=vars) + for key, val in vars: new_window.set_user_var(key, val) return new_window return None diff --git a/kitty/window.py b/kitty/window.py index 3dbb1e5f8..ef06e8fd0 100644 --- a/kitty/window.py +++ b/kitty/window.py @@ -383,6 +383,7 @@ class WindowCreationSpec(NamedTuple): bias: float | None = None hold_after_ssh: bool = False spacing: tuple[str, ...] = () + user_vars: tuple[tuple[str, str], ...] = () def pagerhist(screen: Screen, as_ansi: bool = False, add_wrap_markers: bool = True, upto_output_start: bool = False) -> str: