Don't force adding spaces after/before the window list. This can rather be achieved by changing the status-left/status-right options. In fact when status-justify is right meaning we place the window list to the right, we will see two separating spaces by default: one for window-status-separator and one for the forced space. This patch also fixes that. --- The OP's issue should be quite simply fixable if you move the extra space into the status-left option form which it can be easily removed by the users.
options-table.c | 2 +- status.c | 12 +++++------- tmux.1 | 4 +++- 3 files changed, 9 insertions(+), 9 deletions(-) diff --git a/options-table.c b/options-table.c index 8d680b3..3dfa004 100644 --- a/options-table.c +++ b/options-table.c @@ -389,7 +389,7 @@ const struct options_table_entry session_options_table[] = { { .name = "status-left", .type = OPTIONS_TABLE_STRING, - .default_str = "[#S]" + .default_str = "[#S] " }, { .name = "status-left-attr", diff --git a/status.c b/status.c index 19b0ec8..d2a18da 100644 --- a/status.c +++ b/status.c @@ -193,9 +193,9 @@ status_redraw(struct client *c) */ needed = 0; if (llen != 0) - needed += llen + 1; + needed += llen; if (rlen != 0) - needed += rlen + 1; + needed += rlen; if (c->tty.sx == 0 || c->tty.sx <= needed) goto out; wlavailable = c->tty.sx - needed; @@ -302,7 +302,6 @@ draw: screen_write_cursormove(&ctx, 0, 0); if (llen != 0) { screen_write_cnputs(&ctx, llen, &lgc, utf8flag, "%s", left); - screen_write_putc(&ctx, &stdgc, ' '); } if (larrow != 0) { memcpy(&gc, &stdgc, sizeof gc); @@ -313,21 +312,20 @@ draw: /* Draw the right string and arrow. */ if (rarrow != 0) { - screen_write_cursormove(&ctx, c->tty.sx - rlen - 2, 0); + screen_write_cursormove(&ctx, c->tty.sx - rlen - 1, 0); memcpy(&gc, &stdgc, sizeof gc); if (rarrow == -1) gc.attr ^= GRID_ATTR_REVERSE; screen_write_putc(&ctx, &gc, '>'); } else - screen_write_cursormove(&ctx, c->tty.sx - rlen - 1, 0); + screen_write_cursormove(&ctx, c->tty.sx - rlen, 0); if (rlen != 0) { - screen_write_putc(&ctx, &stdgc, ' '); screen_write_cnputs(&ctx, rlen, &rgc, utf8flag, "%s", right); } /* Figure out the offset for the window list. */ if (llen != 0) - wloffset = llen + 1; + wloffset = llen; else wloffset = 0; if (wlwidth < wlavailable) { diff --git a/tmux.1 b/tmux.1 index 273bcdc..c4bc954 100644 --- a/tmux.1 +++ b/tmux.1 @@ -2584,7 +2584,9 @@ By default, UTF-8 in .Ar string is not interpreted, to enable UTF-8, use the .Ic status-utf8 -option. +option. The default is +.Ql [#S]\ +which is the session's name in square brackets. .It Ic status-left-length Ar length Set the maximum .Ar length -- 2.1.3 ------------------------------------------------------------------------------ _______________________________________________ tmux-users mailing list tmux-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/tmux-users