ssh kitten: Fix non-standard properties in terminfo such as the ones used for true color not being copied

This commit is contained in:
Kovid Goyal 2021-06-12 07:27:14 +05:30
parent 7a44765860
commit 962acd1537
No known key found for this signature in database
GPG Key ID: 06BC317B515ACE7C
3 changed files with 5 additions and 2 deletions

View File

@ -93,6 +93,9 @@ To update |kitty|, :doc:`follow the instructions <binary>`.
- Remote control: Allow matching tabs by index number in currently active OS - Remote control: Allow matching tabs by index number in currently active OS
Window (:iss:`3708`) Window (:iss:`3708`)
- ssh kitten: Fix non-standard properties in terminfo such as the ones used for
true color not being copied (:iss:`312`)
0.20.3 [2021-05-06] 0.20.3 [2021-05-06]
---------------------- ----------------------

View File

@ -64,7 +64,7 @@ server, use the following one-liner instead (it
is slower as it needs to ssh into the server twice, but will work with most is slower as it needs to ssh into the server twice, but will work with most
servers):: servers)::
infocmp xterm-kitty | ssh myserver tic -x -o \~/.terminfo /dev/stdin infocmp -a xterm-kitty | ssh myserver tic -x -o \~/.terminfo /dev/stdin
If you are behind a proxy (like Balabit) that prevents this, you must redirect the If you are behind a proxy (like Balabit) that prevents this, you must redirect the
1st command to a file, copy that to the server and run ``tic`` manually. If you 1st command to a file, copy that to the server and run ``tic`` manually. If you

View File

@ -211,7 +211,7 @@ def main(args: List[str]) -> NoReturn:
else: else:
hostname, remote_args = server_args[0], server_args[1:] hostname, remote_args = server_args[0], server_args[1:]
cmd += ['-t', hostname] cmd += ['-t', hostname]
terminfo = subprocess.check_output(['infocmp']).decode('utf-8') terminfo = subprocess.check_output(['infocmp', '-a']).decode('utf-8')
f = get_posix_cmd if use_posix else get_python_cmd f = get_posix_cmd if use_posix else get_python_cmd
cmd += f(terminfo, remote_args) cmd += f(terminfo, remote_args)
os.execvp('ssh', cmd) os.execvp('ssh', cmd)