mirror of
				https://github.com/tmux/tmux.git
				synced 2025-11-04 00:56:10 +00:00 
			
		
		
		
	Add window-status-separator option, from Thomas Adam.
This commit is contained in:
		@@ -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
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										16
									
								
								status.c
									
									
									
									
									
								
							
							
						
						
									
										16
									
								
								status.c
									
									
									
									
									
								
							@@ -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
									
									
									
									
									
								
							
							
						
						
									
										4
									
								
								tmux.1
									
									
									
									
									
								
							@@ -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
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user