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:
		@@ -719,7 +719,7 @@ format_draw(struct screen_write_ctx *octx, const struct grid_cell *base,
 | 
			
		||||
	int			 focus_start = -1, focus_end = -1;
 | 
			
		||||
	int			 list_state = -1, fill = -1, even;
 | 
			
		||||
	enum style_align	 list_align = STYLE_ALIGN_DEFAULT;
 | 
			
		||||
	struct grid_cell	 gc, current_default;
 | 
			
		||||
	struct grid_cell	 gc, current_default, base_default;
 | 
			
		||||
	struct style		 sy, saved_sy;
 | 
			
		||||
	struct utf8_data	*ud = &sy.gc.data;
 | 
			
		||||
	const char		*cp, *end;
 | 
			
		||||
@@ -729,7 +729,9 @@ format_draw(struct screen_write_ctx *octx, const struct grid_cell *base,
 | 
			
		||||
	struct format_ranges	 frs;
 | 
			
		||||
	struct style_range	*sr;
 | 
			
		||||
 | 
			
		||||
	memcpy(&base_default, base, sizeof base_default);
 | 
			
		||||
	memcpy(¤t_default, base, sizeof current_default);
 | 
			
		||||
	base = &base_default;
 | 
			
		||||
	style_set(&sy, ¤t_default);
 | 
			
		||||
	TAILQ_INIT(&frs);
 | 
			
		||||
	log_debug("%s: %s", __func__, expanded);
 | 
			
		||||
@@ -847,6 +849,12 @@ format_draw(struct screen_write_ctx *octx, const struct grid_cell *base,
 | 
			
		||||
		} else if (sy.default_type == STYLE_DEFAULT_POP) {
 | 
			
		||||
			memcpy(¤t_default, base, sizeof current_default);
 | 
			
		||||
			sy.default_type = STYLE_DEFAULT_BASE;
 | 
			
		||||
		} else if (sy.default_type == STYLE_DEFAULT_SET) {
 | 
			
		||||
			memcpy(&base_default, &saved_sy.gc,
 | 
			
		||||
			    sizeof base_default);
 | 
			
		||||
			memcpy(¤t_default, &saved_sy.gc,
 | 
			
		||||
			    sizeof current_default);
 | 
			
		||||
			sy.default_type = STYLE_DEFAULT_BASE;
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		/* Check the list state. */
 | 
			
		||||
 
 | 
			
		||||
@@ -121,7 +121,12 @@ screen_redraw_pane_border(struct screen_redraw_ctx *ctx, struct window_pane *wp,
 | 
			
		||||
	u_int		 ex = wp->xoff + wp->sx, ey = wp->yoff + wp->sy;
 | 
			
		||||
	int		 hsplit = 0, vsplit = 0, pane_status = ctx->pane_status;
 | 
			
		||||
	int		 pane_scrollbars = ctx->pane_scrollbars, sb_w = 0;
 | 
			
		||||
	int		 sb_pos = ctx->pane_scrollbars_pos;
 | 
			
		||||
	int		 sb_pos;
 | 
			
		||||
 | 
			
		||||
	if (pane_scrollbars != 0)
 | 
			
		||||
		sb_pos = ctx->pane_scrollbars_pos;
 | 
			
		||||
	else
 | 
			
		||||
		sb_pos = 0;
 | 
			
		||||
 | 
			
		||||
	/* Inside pane. */
 | 
			
		||||
	if (px >= wp->xoff && px < ex && py >= wp->yoff && py < ey)
 | 
			
		||||
@@ -149,16 +154,24 @@ screen_redraw_pane_border(struct screen_redraw_ctx *ctx, struct window_pane *wp,
 | 
			
		||||
			if (wp->xoff - sb_w == 0 && px == wp->sx + sb_w)
 | 
			
		||||
				if (!hsplit || (hsplit && py <= wp->sy / 2))
 | 
			
		||||
					return (SCREEN_REDRAW_BORDER_RIGHT);
 | 
			
		||||
			if (wp->xoff - sb_w != 0 && px == wp->xoff - sb_w - 1)
 | 
			
		||||
				if (!hsplit || (hsplit && py > wp->sy / 2))
 | 
			
		||||
			if (wp->xoff - sb_w != 0) {
 | 
			
		||||
				if (px == wp->xoff - sb_w - 1 &&
 | 
			
		||||
				    (!hsplit || (hsplit && py > wp->sy / 2)))
 | 
			
		||||
					return (SCREEN_REDRAW_BORDER_LEFT);
 | 
			
		||||
		} else { /* sb_pos == PANE_SCROLLBARS_RIGHT */
 | 
			
		||||
				if (px == wp->xoff + wp->sx + sb_w - 1)
 | 
			
		||||
					return (SCREEN_REDRAW_BORDER_RIGHT);
 | 
			
		||||
			}
 | 
			
		||||
		} else { /* sb_pos == PANE_SCROLLBARS_RIGHT or disabled*/
 | 
			
		||||
			if (wp->xoff == 0 && px == wp->sx + sb_w)
 | 
			
		||||
				if (!hsplit || (hsplit && py <= wp->sy / 2))
 | 
			
		||||
					return (SCREEN_REDRAW_BORDER_RIGHT);
 | 
			
		||||
			if (wp->xoff != 0 && px == wp->xoff - 1)
 | 
			
		||||
				if (!hsplit || (hsplit && py > wp->sy / 2))
 | 
			
		||||
			if (wp->xoff != 0) {
 | 
			
		||||
				if (px == wp->xoff - 1 &&
 | 
			
		||||
				    (!hsplit || (hsplit && py > wp->sy / 2)))
 | 
			
		||||
					return (SCREEN_REDRAW_BORDER_LEFT);
 | 
			
		||||
				if (px == wp->xoff + wp->sx + sb_w)
 | 
			
		||||
					return (SCREEN_REDRAW_BORDER_RIGHT);
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										4
									
								
								style.c
									
									
									
									
									
								
							
							
						
						
									
										4
									
								
								style.c
									
									
									
									
									
								
							@@ -98,6 +98,8 @@ style_parse(struct style *sy, const struct grid_cell *base, const char *in)
 | 
			
		||||
			sy->default_type = STYLE_DEFAULT_PUSH;
 | 
			
		||||
		else if (strcasecmp(tmp, "pop-default") == 0)
 | 
			
		||||
			sy->default_type = STYLE_DEFAULT_POP;
 | 
			
		||||
		else if (strcasecmp(tmp, "set-default") == 0)
 | 
			
		||||
			sy->default_type = STYLE_DEFAULT_SET;
 | 
			
		||||
		else if (strcasecmp(tmp, "nolist") == 0)
 | 
			
		||||
			sy->list = STYLE_LIST_OFF;
 | 
			
		||||
		else if (strncasecmp(tmp, "list=", 5) == 0) {
 | 
			
		||||
@@ -310,6 +312,8 @@ style_tostring(struct style *sy)
 | 
			
		||||
			tmp = "push-default";
 | 
			
		||||
		else if (sy->default_type == STYLE_DEFAULT_POP)
 | 
			
		||||
			tmp = "pop-default";
 | 
			
		||||
		else if (sy->default_type == STYLE_DEFAULT_SET)
 | 
			
		||||
			tmp = "set-default";
 | 
			
		||||
		off += xsnprintf(s + off, sizeof s - off, "%s%s", comma, tmp);
 | 
			
		||||
		comma = ",";
 | 
			
		||||
	}
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										4
									
								
								tmux.1
									
									
									
									
									
								
							
							
						
						
									
										4
									
								
								tmux.1
									
									
									
									
									
								
							@@ -6359,6 +6359,10 @@ will be available in the
 | 
			
		||||
format variable.
 | 
			
		||||
.Ql X
 | 
			
		||||
must be at most 15 bytes in length.
 | 
			
		||||
.It Ic set-default
 | 
			
		||||
Set the current colours and attributes as the default, overwriting any previous
 | 
			
		||||
default.
 | 
			
		||||
The previous default cannot be restored.
 | 
			
		||||
.El
 | 
			
		||||
.Pp
 | 
			
		||||
Examples are:
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user