Add a helper function to open the terminal for attach-/new-session.

This commit is contained in:
Nicholas Marriott
2012-05-06 07:38:17 +00:00
parent 218b692221
commit 37f9bb46d8
4 changed files with 25 additions and 19 deletions

View File

@ -105,6 +105,25 @@ server_client_create(int fd)
log_debug("new client %d", fd);
}
/* Open client terminal if needed. */
int
server_client_open(struct client *c, struct session *s, char **cause)
{
struct options *oo = s != NULL ? &s->options : &global_s_options;
char *overrides;
if (!(c->flags & CLIENT_TERMINAL)) {
*cause = xstrdup ("not a terminal");
return (-1);
}
overrides = options_get_string(oo, "terminal-overrides");
if (tty_open(&c->tty, overrides, cause) != 0)
return (-1);
return (0);
}
/* Lost a client. */
void
server_client_lost(struct client *c)