mirror of
				https://github.com/tmux/tmux.git
				synced 2025-11-04 09:26:05 +00:00 
			
		
		
		
	Merge branch 'obsd-master'
This commit is contained in:
		
							
								
								
									
										1
									
								
								tmux.h
									
									
									
									
									
								
							
							
						
						
									
										1
									
								
								tmux.h
									
									
									
									
									
								
							@@ -403,6 +403,7 @@ enum tty_code_code {
 | 
			
		||||
	TTYC_MS,
 | 
			
		||||
	TTYC_OP,
 | 
			
		||||
	TTYC_REV,
 | 
			
		||||
	TTYC_RGB,
 | 
			
		||||
	TTYC_RI,
 | 
			
		||||
	TTYC_RMACS,
 | 
			
		||||
	TTYC_RMCUP,
 | 
			
		||||
 
 | 
			
		||||
@@ -240,6 +240,7 @@ static const struct tty_term_code_entry tty_term_codes[] = {
 | 
			
		||||
	[TTYC_MS] = { TTYCODE_STRING, "Ms" },
 | 
			
		||||
	[TTYC_OP] = { TTYCODE_STRING, "op" },
 | 
			
		||||
	[TTYC_REV] = { TTYCODE_STRING, "rev" },
 | 
			
		||||
	[TTYC_RGB] = { TTYCODE_FLAG, "RGB" },
 | 
			
		||||
	[TTYC_RI] = { TTYCODE_STRING, "ri" },
 | 
			
		||||
	[TTYC_RMACS] = { TTYCODE_STRING, "rmacs" },
 | 
			
		||||
	[TTYC_RMCUP] = { TTYCODE_STRING, "rmcup" },
 | 
			
		||||
@@ -531,8 +532,11 @@ tty_term_find(char *name, int fd, char **cause)
 | 
			
		||||
		code->type = TTYCODE_STRING;
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	/* On terminals with RGB colour (TC), fill in setrgbf and setrgbb. */
 | 
			
		||||
	if (tty_term_flag(term, TTYC_TC) &&
 | 
			
		||||
	/*
 | 
			
		||||
	 * On terminals with RGB colour (Tc or RGB), fill in setrgbf and
 | 
			
		||||
	 * setrgbb if they are missing.
 | 
			
		||||
	 */
 | 
			
		||||
	if ((tty_term_flag(term, TTYC_TC) || tty_term_flag(term, TTYC_RGB)) &&
 | 
			
		||||
	    !tty_term_has(term, TTYC_SETRGBF) &&
 | 
			
		||||
	    !tty_term_has(term, TTYC_SETRGBB)) {
 | 
			
		||||
		code = &term->codes[TTYC_SETRGBF];
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										13
									
								
								tty.c
									
									
									
									
									
								
							
							
						
						
									
										13
									
								
								tty.c
									
									
									
									
									
								
							@@ -2051,11 +2051,15 @@ tty_try_colour(struct tty *tty, int colour, const char *type)
 | 
			
		||||
 | 
			
		||||
	if (colour & COLOUR_FLAG_256) {
 | 
			
		||||
		/*
 | 
			
		||||
		 * If the user has specified -2 to the client, setaf and setab
 | 
			
		||||
		 * may not work (or they may not want to use them), so send the
 | 
			
		||||
		 * usual sequence.
 | 
			
		||||
		 * If the user has specified -2 to the client (meaning
 | 
			
		||||
		 * TERM_256COLOURS is set), setaf and setab may not work (or
 | 
			
		||||
		 * they may not want to use them), so send the usual sequence.
 | 
			
		||||
		 *
 | 
			
		||||
		 * Also if RGB is set, setaf and setab do not support the 256
 | 
			
		||||
		 * colour palette so use the sequences directly there too.
 | 
			
		||||
		 */
 | 
			
		||||
		if (tty->term_flags & TERM_256COLOURS)
 | 
			
		||||
		if ((tty->term_flags & TERM_256COLOURS) ||
 | 
			
		||||
		    tty_term_has(tty->term, TTYC_RGB))
 | 
			
		||||
			goto fallback_256;
 | 
			
		||||
 | 
			
		||||
		/*
 | 
			
		||||
@@ -2096,6 +2100,7 @@ tty_try_colour(struct tty *tty, int colour, const char *type)
 | 
			
		||||
 | 
			
		||||
fallback_256:
 | 
			
		||||
	xsnprintf(s, sizeof s, "\033[%s;5;%dm", type, colour & 0xff);
 | 
			
		||||
	log_debug("%s: 256 colour fallback: %s", tty->client->name, s);
 | 
			
		||||
	tty_puts(tty, s);
 | 
			
		||||
	return (0);
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user