aboutsummaryrefslogtreecommitdiff
path: root/status.c
diff options
context:
space:
mode:
Diffstat (limited to 'status.c')
-rw-r--r--status.c13
1 files changed, 9 insertions, 4 deletions
diff --git a/status.c b/status.c
index 9fc9a502..c4f79050 100644
--- a/status.c
+++ b/status.c
@@ -500,14 +500,19 @@ status_replace(struct client *c, struct winlink *wl, const char *fmt, time_t t)
{
struct format_tree *ft;
char *expanded;
+ u_int tag;
if (fmt == NULL)
return (xstrdup(""));
+ if (wl != NULL)
+ tag = FORMAT_WINDOW|wl->window->id;
+ else
+ tag = FORMAT_NONE;
if (c->flags & CLIENT_STATUSFORCE)
- ft = format_create(NULL, FORMAT_STATUS|FORMAT_FORCE);
+ ft = format_create(NULL, tag, FORMAT_STATUS|FORMAT_FORCE);
else
- ft = format_create(NULL, FORMAT_STATUS);
+ ft = format_create(NULL, tag, FORMAT_STATUS);
format_defaults(ft, c, NULL, wl, NULL);
expanded = format_expand_time(ft, fmt, t);
@@ -665,7 +670,7 @@ status_prompt_set(struct client *c, const char *msg, const char *input,
time_t t;
char *tmp;
- ft = format_create(NULL, 0);
+ ft = format_create(NULL, FORMAT_NONE, 0);
format_defaults(ft, c, NULL, NULL, NULL);
t = time(NULL);
@@ -726,7 +731,7 @@ status_prompt_update(struct client *c, const char *msg, const char *input)
time_t t;
char *tmp;
- ft = format_create(NULL, 0);
+ ft = format_create(NULL, FORMAT_NONE, 0);
format_defaults(ft, c, NULL, NULL, NULL);
t = time(NULL);