Get clone-in-kitty working for bash as well

This commit is contained in:
Kovid Goyal
2022-04-13 20:38:04 +05:30
parent 4b7c50518e
commit d0c0b01724
3 changed files with 38 additions and 8 deletions

View File

@@ -498,9 +498,11 @@ def parse_opts_for_clone(args: List[str]) -> LaunchCLIOptions:
def clone_and_launch(msg: str, window: Window) -> None:
import base64
import json
from .child import cmdline_of_process
args = []
cmdline: List[str] = []
env: Optional[Dict[str, str]] = None
cwd = ''
pid = -1
@@ -524,16 +526,19 @@ def clone_and_launch(msg: str, window: Window) -> None:
env[k] = v
elif k == 'cwd':
cwd = v
elif k == 'argv':
cmdline = json.loads(v)
opts = parse_opts_for_clone(args)
if cwd:
opts.cwd = cwd
opts.copy_colors = True
try:
cmdline = cmdline_of_process(pid)
except Exception:
cmdline = []
if not cmdline:
cmdline = list(window.child.argv)
if pid > -1:
try:
cmdline = cmdline_of_process(pid)
except Exception:
cmdline = []
if not cmdline:
cmdline = list(window.child.argv)
ssh_kitten_cmdline = window.ssh_kitten_cmdline()
if ssh_kitten_cmdline:
from kittens.ssh.main import set_cwd_in_cmdline, set_env_in_cmdline