mirror of
				https://github.com/tmux/tmux.git
				synced 2025-11-04 00:56:10 +00:00 
			
		
		
		
	Merge branch 'obsd-master'
This commit is contained in:
		@@ -130,7 +130,7 @@ cmd_confirm_before_callback(struct client *c, void *data, const char *s,
 | 
			
		||||
 | 
			
		||||
	if (s == NULL)
 | 
			
		||||
		goto out;
 | 
			
		||||
	if (s[0] != cdata->confirm_key && (s[0] != '\0' || !cdata->default_yes))
 | 
			
		||||
	if (s[0] != cdata->confirm_key && (s[0] != '\r' || !cdata->default_yes))
 | 
			
		||||
		goto out;
 | 
			
		||||
	retcode = 0;
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -1025,6 +1025,24 @@ const struct options_table_entry options_table[] = {
 | 
			
		||||
	  .text = "Format of the position indicator in copy mode."
 | 
			
		||||
	},
 | 
			
		||||
 | 
			
		||||
	{ .name = "copy-mode-position-style",
 | 
			
		||||
	  .type = OPTIONS_TABLE_STRING,
 | 
			
		||||
	  .scope = OPTIONS_TABLE_WINDOW,
 | 
			
		||||
	  .default_str = "#{mode-style}",
 | 
			
		||||
	  .flags = OPTIONS_TABLE_IS_STYLE,
 | 
			
		||||
	  .separator = ",",
 | 
			
		||||
	  .text = "Style of position indicator in copy mode."
 | 
			
		||||
	},
 | 
			
		||||
 | 
			
		||||
	{ .name = "copy-mode-selection-style",
 | 
			
		||||
	  .type = OPTIONS_TABLE_STRING,
 | 
			
		||||
	  .scope = OPTIONS_TABLE_WINDOW,
 | 
			
		||||
	  .default_str = "#{mode-style}",
 | 
			
		||||
	  .flags = OPTIONS_TABLE_IS_STYLE,
 | 
			
		||||
	  .separator = ",",
 | 
			
		||||
	  .text = "Style of selection in copy mode."
 | 
			
		||||
	},
 | 
			
		||||
 | 
			
		||||
	{ .name = "fill-character",
 | 
			
		||||
	  .type = OPTIONS_TABLE_STRING,
 | 
			
		||||
	  .scope = OPTIONS_TABLE_WINDOW,
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										16
									
								
								tmux.1
									
									
									
									
									
								
							
							
						
						
									
										16
									
								
								tmux.1
									
									
									
									
									
								
							@@ -4890,6 +4890,22 @@ or
 | 
			
		||||
contains
 | 
			
		||||
.Ql vi .
 | 
			
		||||
.Pp
 | 
			
		||||
.It Ic copy-mode-position-style Ar style
 | 
			
		||||
Set the style of the position indicator in copy mode.
 | 
			
		||||
For how to specify
 | 
			
		||||
.Ar style ,
 | 
			
		||||
see the
 | 
			
		||||
.Sx STYLES
 | 
			
		||||
section.
 | 
			
		||||
.Pp
 | 
			
		||||
.It Ic copy-mode-selection-style Ar style
 | 
			
		||||
Set the style of the selection in copy mode.
 | 
			
		||||
For how to specify
 | 
			
		||||
.Ar style ,
 | 
			
		||||
see the
 | 
			
		||||
.Sx STYLES
 | 
			
		||||
section.
 | 
			
		||||
.Pp
 | 
			
		||||
.It Ic mode-style Ar style
 | 
			
		||||
Set window modes style.
 | 
			
		||||
For how to specify
 | 
			
		||||
 
 | 
			
		||||
@@ -4391,13 +4391,15 @@ window_copy_write_line(struct window_mode_entry *wme,
 | 
			
		||||
	char				*expanded;
 | 
			
		||||
	struct format_tree		*ft;
 | 
			
		||||
 | 
			
		||||
	style_apply(&gc, oo, "mode-style", NULL);
 | 
			
		||||
	ft = format_create_defaults(NULL, NULL, NULL, NULL, wp);
 | 
			
		||||
 | 
			
		||||
	style_apply(&gc, oo, "copy-mode-position-style", ft);
 | 
			
		||||
	gc.flags |= GRID_FLAG_NOPALETTE;
 | 
			
		||||
	style_apply(&mgc, oo, "copy-mode-match-style", NULL);
 | 
			
		||||
	style_apply(&mgc, oo, "copy-mode-match-style", ft);
 | 
			
		||||
	mgc.flags |= GRID_FLAG_NOPALETTE;
 | 
			
		||||
	style_apply(&cgc, oo, "copy-mode-current-match-style", NULL);
 | 
			
		||||
	style_apply(&cgc, oo, "copy-mode-current-match-style", ft);
 | 
			
		||||
	cgc.flags |= GRID_FLAG_NOPALETTE;
 | 
			
		||||
	style_apply(&mkgc, oo, "copy-mode-mark-style", NULL);
 | 
			
		||||
	style_apply(&mkgc, oo, "copy-mode-mark-style", ft);
 | 
			
		||||
	mkgc.flags |= GRID_FLAG_NOPALETTE;
 | 
			
		||||
 | 
			
		||||
	window_copy_write_one(wme, ctx, py, hsize - data->oy + py,
 | 
			
		||||
@@ -4406,14 +4408,12 @@ window_copy_write_line(struct window_mode_entry *wme,
 | 
			
		||||
	if (py == 0 && s->rupper < s->rlower && !data->hide_position) {
 | 
			
		||||
		value = options_get_string(oo, "copy-mode-position-format");
 | 
			
		||||
		if (*value != '\0') {
 | 
			
		||||
			ft = format_create_defaults(NULL, NULL, NULL, NULL, wp);
 | 
			
		||||
			expanded = format_expand(ft, value);
 | 
			
		||||
			if (*expanded != '\0') {
 | 
			
		||||
				screen_write_cursormove(ctx, 0, 0, 0);
 | 
			
		||||
				format_draw(ctx, &gc, sx, expanded, NULL, 0);
 | 
			
		||||
			}
 | 
			
		||||
			free(expanded);
 | 
			
		||||
			format_free(ft);
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
@@ -4421,6 +4421,8 @@ window_copy_write_line(struct window_mode_entry *wme,
 | 
			
		||||
		screen_write_cursormove(ctx, screen_size_x(s) - 1, py, 0);
 | 
			
		||||
		screen_write_putc(ctx, &grid_default_cell, '$');
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	format_free(ft);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
static void
 | 
			
		||||
@@ -4668,6 +4670,7 @@ window_copy_set_selection(struct window_mode_entry *wme, int may_redraw,
 | 
			
		||||
	struct grid_cell		 gc;
 | 
			
		||||
	u_int				 sx, sy, cy, endsx, endsy;
 | 
			
		||||
	int				 startrelpos, endrelpos;
 | 
			
		||||
	struct format_tree		*ft;
 | 
			
		||||
 | 
			
		||||
	window_copy_synchronize_cursor(wme, no_reset);
 | 
			
		||||
 | 
			
		||||
@@ -4689,8 +4692,10 @@ window_copy_set_selection(struct window_mode_entry *wme, int may_redraw,
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	/* Set colours and selection. */
 | 
			
		||||
	style_apply(&gc, oo, "mode-style", NULL);
 | 
			
		||||
	ft = format_create_defaults(NULL, NULL, NULL, NULL, wp);
 | 
			
		||||
	style_apply(&gc, oo, "copy-mode-selection-style", ft);
 | 
			
		||||
	gc.flags |= GRID_FLAG_NOPALETTE;
 | 
			
		||||
	format_free(ft);
 | 
			
		||||
	screen_set_selection(s, sx, sy, endsx, endsy, data->rectflag,
 | 
			
		||||
	    data->modekeys, &gc);
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user