From 3c10df4f87490ecdc9d9a8ca443e57e8b96abbe9 Mon Sep 17 00:00:00 2001 From: nicm Date: Mon, 6 Jun 2016 07:23:36 +0000 Subject: Allow #[] in window-status-separator. --- status.c | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) (limited to 'status.c') 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); -- cgit