aboutsummaryrefslogtreecommitdiff
path: root/server-client.c
diff options
context:
space:
mode:
Diffstat (limited to 'server-client.c')
-rw-r--r--server-client.c14
1 files changed, 10 insertions, 4 deletions
diff --git a/server-client.c b/server-client.c
index 18eea9d9..3ca99077 100644
--- a/server-client.c
+++ b/server-client.c
@@ -782,19 +782,25 @@ server_client_check_redraw(struct client *c)
void
server_client_set_title(struct client *c)
{
- struct session *s = c->session;
- const char *template;
- char *title;
+ struct session *s = c->session;
+ const char *template;
+ char *title;
+ struct format_tree *ft;
template = options_get_string(&s->options, "set-titles-string");
- title = status_replace(c, NULL, NULL, 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) {
free(c->title);
c->title = xstrdup(title);
tty_set_title(&c->tty, c->title);
}
free(title);
+
+ format_free(ft);
}
/* Dispatch message from client. */