version 1.127, 2015/02/01 23:43:23 |
version 1.128, 2015/02/06 17:17:12 |
|
|
void |
void |
server_client_set_title(struct client *c) |
server_client_set_title(struct client *c) |
{ |
{ |
struct session *s = c->session; |
struct session *s = c->session; |
const char *template; |
const char *template; |
char *title; |
char *title; |
|
struct format_tree *ft; |
|
|
template = options_get_string(&s->options, "set-titles-string"); |
template = options_get_string(&s->options, "set-titles-string"); |
|
|
title = status_replace(c, NULL, template, time(NULL), 1); |
ft = format_create(); |
|
format_defaults(ft, c, NULL, NULL, NULL); |
|
|
|
title = format_expand_time(ft, template, time(NULL)); |
if (c->title == NULL || strcmp(title, c->title) != 0) { |
if (c->title == NULL || strcmp(title, c->title) != 0) { |
free(c->title); |
free(c->title); |
c->title = xstrdup(title); |
c->title = xstrdup(title); |
tty_set_title(&c->tty, c->title); |
tty_set_title(&c->tty, c->title); |
} |
} |
free(title); |
free(title); |
|
|
|
format_free(ft); |
} |
} |
|
|
/* Dispatch message from client. */ |
/* Dispatch message from client. */ |