mirror of
https://github.com/kovidgoyal/kitty
synced 2026-07-28 03:01:57 +02:00
Better fix for clone-in-kitty
This commit is contained in:
@@ -900,17 +900,20 @@ def clone_and_launch(msg: str, window: Window) -> None:
|
|||||||
patch_cmdline('env', entry, cmdline)
|
patch_cmdline('env', entry, cmdline)
|
||||||
c.opts.env = []
|
c.opts.env = []
|
||||||
else:
|
else:
|
||||||
if window.child.is_default_shell:
|
try:
|
||||||
cmdline = resolved_shell(get_options())
|
cmdline = window.child.cmdline_of_pid(c.pid)
|
||||||
else:
|
except Exception:
|
||||||
try:
|
cmdline = []
|
||||||
cmdline = window.child.cmdline_of_pid(c.pid)
|
if not cmdline:
|
||||||
except Exception:
|
cmdline = list(window.child.argv)
|
||||||
cmdline = []
|
if cmdline and cmdline[0].startswith('-'): # on macOS, run via run-shell kitten
|
||||||
if not cmdline:
|
if window.child.is_default_shell:
|
||||||
cmdline = list(window.child.argv)
|
|
||||||
if cmdline and cmdline[0] == window.child.final_argv0:
|
|
||||||
cmdline[0] = window.child.final_exe
|
|
||||||
if cmdline and cmdline == [window.child.final_exe] + window.child.argv[1:]:
|
|
||||||
cmdline = window.child.unmodified_argv
|
cmdline = window.child.unmodified_argv
|
||||||
|
else:
|
||||||
|
cmdline[0] = cmdline[0][1:]
|
||||||
|
cmdline[0] = which(cmdline[0]) or cmdline[0]
|
||||||
|
if cmdline and cmdline[0] == window.child.final_argv0:
|
||||||
|
cmdline[0] = window.child.final_exe
|
||||||
|
if cmdline and cmdline == [window.child.final_exe] + window.child.argv[1:]:
|
||||||
|
cmdline = window.child.unmodified_argv
|
||||||
launch(get_boss(), c.opts, cmdline, active=window, is_clone_launch=is_clone_launch)
|
launch(get_boss(), c.opts, cmdline, active=window, is_clone_launch=is_clone_launch)
|
||||||
|
|||||||
Reference in New Issue
Block a user