diff options
author | nicm <nicm> | 2017-02-03 11:57:27 +0000 |
---|---|---|
committer | nicm <nicm> | 2017-02-03 11:57:27 +0000 |
commit | 7d23d019c0df197d724ced7fec21dc2047634c9b (patch) | |
tree | 7f07df20858bf10aef7db907bf4998b53fedd7db /status.c | |
parent | dd0c8147795c518de443c33895c614e52b42677f (diff) |
Add a window or pane id "tag" to each format tree and use it to separate
jobs, this means that if the same job is used for different windows or
panes (for example in pane-border-format), it will be run separately for
each pane.
Diffstat (limited to 'status.c')
-rw-r--r-- | status.c | 13 |
1 files changed, 9 insertions, 4 deletions
@@ -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); |