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:
Nicholas Marriott 2013-03-04 08:52:41 +00:00
parent a2f52d4224
commit 208881a735
2 changed files with 11 additions and 1 deletions

View File

@ -296,8 +296,16 @@ client_main(int argc, char **argv, int flags)
ppid = getppid();
if (client_exittype == MSG_DETACHKILL && ppid > 1)
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);
}
setblocking(STDIN_FILENO, 1);
return (client_exitval);
}

View File

@ -956,6 +956,8 @@ server_client_msg_identify(
if (data->flags & IDENTIFY_CONTROL) {
c->stdin_callback = control_callback;
c->flags |= CLIENT_CONTROL;
if (data->flags & IDENTIFY_TERMIOS)
evbuffer_add_printf(c->stdout_data, "\033P1000p");
server_write_client(c, MSG_STDIN, NULL, 0);
c->tty.fd = -1;