mirror of
https://github.com/tmate-io/tmate.git
synced 2025-04-02 03:46:47 +02:00
Send DSC 1000p at the beginning of a -CC client's lifetime and ST and
the end, from George Nachman.
This commit is contained in:
parent
efa06643b0
commit
62db3c8efe
10
client.c
10
client.c
@ -292,8 +292,16 @@ client_main(int argc, char **argv, int flags)
|
|||||||
ppid = getppid();
|
ppid = getppid();
|
||||||
if (client_exittype == MSG_DETACHKILL && ppid > 1)
|
if (client_exittype == MSG_DETACHKILL && ppid > 1)
|
||||||
kill(ppid, SIGHUP);
|
kill(ppid, SIGHUP);
|
||||||
} else if (flags & IDENTIFY_TERMIOS)
|
} else if (flags & IDENTIFY_TERMIOS) {
|
||||||
|
if (flags & IDENTIFY_CONTROL) {
|
||||||
|
if (client_exitreason != CLIENT_EXIT_NONE)
|
||||||
|
printf("%%exit %s\n", client_exit_message());
|
||||||
|
else
|
||||||
|
printf("%%exit\n");
|
||||||
|
printf("\033\\");
|
||||||
|
}
|
||||||
tcsetattr(STDOUT_FILENO, TCSAFLUSH, &saved_tio);
|
tcsetattr(STDOUT_FILENO, TCSAFLUSH, &saved_tio);
|
||||||
|
}
|
||||||
setblocking(STDIN_FILENO, 1);
|
setblocking(STDIN_FILENO, 1);
|
||||||
return (client_exitval);
|
return (client_exitval);
|
||||||
}
|
}
|
||||||
|
@ -957,6 +957,8 @@ server_client_msg_identify(
|
|||||||
if (data->flags & IDENTIFY_CONTROL) {
|
if (data->flags & IDENTIFY_CONTROL) {
|
||||||
c->stdin_callback = control_callback;
|
c->stdin_callback = control_callback;
|
||||||
c->flags |= CLIENT_CONTROL;
|
c->flags |= CLIENT_CONTROL;
|
||||||
|
if (data->flags & IDENTIFY_TERMIOS)
|
||||||
|
evbuffer_add_printf(c->stdout_data, "\033P1000p");
|
||||||
server_write_client(c, MSG_STDIN, NULL, 0);
|
server_write_client(c, MSG_STDIN, NULL, 0);
|
||||||
|
|
||||||
c->tty.fd = -1;
|
c->tty.fd = -1;
|
||||||
|
Loading…
Reference in New Issue
Block a user