Fix clone-in-kitty broken because of login wrapping

This commit is contained in:
Kovid Goyal
2023-09-24 11:21:32 +05:30
parent 68b861b188
commit 8e7b6ad3c3

View File

@@ -900,14 +900,17 @@ def clone_and_launch(msg: str, window: Window) -> None:
patch_cmdline('env', entry, cmdline)
c.opts.env = []
else:
try:
cmdline = window.child.cmdline_of_pid(c.pid)
except Exception:
cmdline = []
if not cmdline:
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
if window.child.is_default_shell:
cmdline = resolved_shell(get_options())
else:
try:
cmdline = window.child.cmdline_of_pid(c.pid)
except Exception:
cmdline = []
if not cmdline:
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
launch(get_boss(), c.opts, cmdline, active=window, is_clone_launch=is_clone_launch)