summaryrefslogtreecommitdiffstats
path: root/status.c
diff options
context:
space:
mode:
authornicm <nicm>2016-06-06 07:23:36 +0000
committernicm <nicm>2016-06-06 07:23:36 +0000
commit3c10df4f87490ecdc9d9a8ca443e57e8b96abbe9 (patch)
tree391e58e8164369ec9f21be1dbe77f5b70a92ceb1 /status.c
parent1921fac814b98607031d975b69c6293a6227e274 (diff)
Allow #[] in window-status-separator.
Diffstat (limited to 'status.c')
-rw-r--r--status.c13
1 files changed, 8 insertions, 5 deletions
diff --git a/status.c b/status.c
index 1bd02c43..607d6476 100644
--- a/status.c
+++ b/status.c
@@ -257,16 +257,19 @@ status_get_window_at(struct client *c, u_int x)
struct session *s = c->session;
struct winlink *wl;
struct options *oo;
- size_t len;
+ const char *sep;
+ size_t seplen;
x += c->wlmouse;
RB_FOREACH(wl, winlinks, &s->windows) {
oo = wl->window->options;
- len = strlen(options_get_string(oo, "window-status-separator"));
+
+ sep = options_get_string(oo, "window-status-separator");
+ seplen = screen_write_cstrlen("%s", sep);
if (x < wl->status_width)
return (wl->window);
- x -= wl->status_width + len;
+ x -= wl->status_width + seplen;
}
return (NULL);
}
@@ -344,7 +347,7 @@ status_redraw(struct client *c)
oo = wl->window->options;
sep = options_get_string(oo, "window-status-separator");
- seplen = screen_write_strlen("%s", sep);
+ seplen = screen_write_cstrlen("%s", sep);
wlwidth += wl->status_width + seplen;
}
@@ -359,7 +362,7 @@ status_redraw(struct client *c)
oo = wl->window->options;
sep = options_get_string(oo, "window-status-separator");
- screen_write_nputs(&ctx, -1, &stdgc, "%s", sep);
+ screen_write_cnputs(&ctx, -1, &stdgc, "%s", sep);
}
screen_write_stop(&ctx);