1
0
mirror of https://github.com/tmux/tmux.git synced 2025-03-28 01:08:53 +00:00

Add window-status-separator option, from Thomas Adam.

This commit is contained in:
Nicholas Marriott 2012-04-23 22:23:14 +00:00
parent ed58b2d353
commit e02d1bce98
3 changed files with 21 additions and 4 deletions

View File

@ -691,6 +691,11 @@ const struct options_table_entry window_options_table[] = {
.default_str = "#I:#W#F"
},
{ .name = "window-status-separator",
.type = OPTIONS_TABLE_STRING,
.default_str = " "
},
{ .name = "wrap-search",
.type = OPTIONS_TABLE_FLAG,
.default_num = 1

View File

@ -160,11 +160,12 @@ status_redraw(struct client *c)
struct winlink *wl;
struct screen old_status, window_list;
struct grid_cell stdgc, lgc, rgc, gc;
struct options *oo;
time_t t;
char *left, *right;
char *left, *right, *sep;
u_int offset, needed;
u_int wlstart, wlwidth, wlavailable, wloffset, wlsize;
size_t llen, rlen;
size_t llen, rlen, seplen;
int larrow, rarrow, utf8flag;
/* No status line? */
@ -230,7 +231,11 @@ status_redraw(struct client *c)
if (wl == s->curw)
wloffset = wlwidth;
wlwidth += wl->status_width + 1;
oo = &wl->window->options;
sep = options_get_string(oo, "window-status-separator");
seplen = screen_write_strlen(utf8flag, "%s", sep);
wlwidth += wl->status_width + seplen;
}
/* Create a new screen for the window list. */
@ -241,7 +246,10 @@ status_redraw(struct client *c)
RB_FOREACH(wl, winlinks, &s->windows) {
screen_write_cnputs(&ctx,
-1, &wl->status_cell, utf8flag, "%s", wl->status_text);
screen_write_putc(&ctx, &stdgc, ' ');
oo = &wl->window->options;
sep = options_get_string(oo, "window-status-separator");
screen_write_nputs(&ctx, -1, &stdgc, utf8flag, "%s", sep);
}
screen_write_stop(&ctx);

4
tmux.1
View File

@ -2700,6 +2700,10 @@ option for details of special character sequences available.
The default is
.Ql #I:#W#F .
.Pp
.It Ic window-status-separator Ar string
Sets the separator drawn between windows in the status line.
The default is a single space character.
.Pp
.It Xo Ic xterm-keys
.Op Ic on | off
.Xc