mirror of
				https://github.com/tmux/tmux.git
				synced 2025-10-26 12:27:15 +00:00 
			
		
		
		
	Add support for overline (SGR 53), from Ricardo Banffy.
This commit is contained in:
		| @@ -31,7 +31,7 @@ attributes_tostring(int attr) | ||||
| 	if (attr == 0) | ||||
| 		return ("none"); | ||||
|  | ||||
| 	len = xsnprintf(buf, sizeof buf, "%s%s%s%s%s%s%s%s%s%s%s%s", | ||||
| 	len = xsnprintf(buf, sizeof buf, "%s%s%s%s%s%s%s%s%s%s%s%s%s", | ||||
| 	    (attr & GRID_ATTR_BRIGHT) ? "bright," : "", | ||||
| 	    (attr & GRID_ATTR_DIM) ? "dim," : "", | ||||
| 	    (attr & GRID_ATTR_UNDERSCORE) ? "underscore," : "", | ||||
| @@ -43,7 +43,8 @@ attributes_tostring(int attr) | ||||
| 	    (attr & GRID_ATTR_UNDERSCORE_2) ? "double-underscore," : "", | ||||
| 	    (attr & GRID_ATTR_UNDERSCORE_3) ? "curly-underscore," : "", | ||||
| 	    (attr & GRID_ATTR_UNDERSCORE_4) ? "dotted-underscore," : "", | ||||
| 	    (attr & GRID_ATTR_UNDERSCORE_5) ? "dashed-underscore," : ""); | ||||
| 	    (attr & GRID_ATTR_UNDERSCORE_5) ? "dashed-underscore," : "", | ||||
| 	    (attr & GRID_ATTR_OVERLINE) ? "overline," : ""); | ||||
| 	if (len > 0) | ||||
| 		buf[len - 1] = '\0'; | ||||
|  | ||||
| @@ -73,7 +74,8 @@ attributes_fromstring(const char *str) | ||||
| 		{ "double-underscore", GRID_ATTR_UNDERSCORE_2 }, | ||||
| 		{ "curly-underscore", GRID_ATTR_UNDERSCORE_3 }, | ||||
| 		{ "dotted-underscore", GRID_ATTR_UNDERSCORE_4 }, | ||||
| 		{ "dashed-underscore", GRID_ATTR_UNDERSCORE_5 } | ||||
| 		{ "dashed-underscore", GRID_ATTR_UNDERSCORE_5 }, | ||||
| 		{ "overline", GRID_ATTR_OVERLINE } | ||||
| 	}; | ||||
|  | ||||
| 	if (*str == '\0' || strcspn(str, delimiters) == 0) | ||||
|   | ||||
							
								
								
									
										1
									
								
								grid.c
									
									
									
									
									
								
							
							
						
						
									
										1
									
								
								grid.c
									
									
									
									
									
								
							| @@ -790,6 +790,7 @@ grid_string_cells_code(const struct grid_cell *lastgc, | ||||
| 		{ GRID_ATTR_UNDERSCORE_3, 43 }, | ||||
| 		{ GRID_ATTR_UNDERSCORE_4, 44 }, | ||||
| 		{ GRID_ATTR_UNDERSCORE_5, 45 }, | ||||
| 		{ GRID_ATTR_OVERLINE, 53 }, | ||||
| 	}; | ||||
| 	n = 0; | ||||
|  | ||||
|   | ||||
							
								
								
									
										6
									
								
								input.c
									
									
									
									
									
								
							
							
						
						
									
										6
									
								
								input.c
									
									
									
									
									
								
							| @@ -2070,6 +2070,12 @@ input_csi_dispatch_sgr(struct input_ctx *ictx) | ||||
| 		case 49: | ||||
| 			gc->bg = 8; | ||||
| 			break; | ||||
| 		case 53: | ||||
| 			gc->attr |= GRID_ATTR_OVERLINE; | ||||
| 			break; | ||||
| 		case 55: | ||||
| 			gc->attr &= ~GRID_ATTR_OVERLINE; | ||||
| 			break; | ||||
| 		case 90: | ||||
| 		case 91: | ||||
| 		case 92: | ||||
|   | ||||
							
								
								
									
										3
									
								
								tmux.1
									
									
									
									
									
								
							
							
						
						
									
										3
									
								
								tmux.1
									
									
									
									
									
								
							| @@ -4091,6 +4091,7 @@ Set no attributes (turn off any active attributes). | ||||
| .Ic reverse , | ||||
| .Ic hidden , | ||||
| .Ic italics , | ||||
| .Ic overline , | ||||
| .Ic strikethrough , | ||||
| .Ic double-underscore , | ||||
| .Ic curly-underscore , | ||||
| @@ -4820,6 +4821,8 @@ to change the cursor colour from inside | ||||
| .Bd -literal -offset indent | ||||
| $ printf '\e033]12;red\e033\e\e' | ||||
| .Ed | ||||
| .It Em \&Smol | ||||
| Enable the overline attribute. | ||||
| .It Em \&Smulx | ||||
| Set a styled underline. | ||||
| The single parameter is one of: 0 for no underline, 1 for normal | ||||
|   | ||||
							
								
								
									
										2
									
								
								tmux.h
									
									
									
									
									
								
							
							
						
						
									
										2
									
								
								tmux.h
									
									
									
									
									
								
							| @@ -431,6 +431,7 @@ enum tty_code_code { | ||||
| 	TTYC_SITM, | ||||
| 	TTYC_SMACS, | ||||
| 	TTYC_SMCUP, | ||||
| 	TTYC_SMOL, | ||||
| 	TTYC_SMKX, | ||||
| 	TTYC_SMSO, | ||||
| 	TTYC_SMULX, | ||||
| @@ -568,6 +569,7 @@ enum utf8_state { | ||||
| #define GRID_ATTR_UNDERSCORE_3 0x400 | ||||
| #define GRID_ATTR_UNDERSCORE_4 0x800 | ||||
| #define GRID_ATTR_UNDERSCORE_5 0x1000 | ||||
| #define GRID_ATTR_OVERLINE 0x2000 | ||||
|  | ||||
| /* All underscore attributes. */ | ||||
| #define GRID_ATTR_ALL_UNDERSCORE \ | ||||
|   | ||||
| @@ -252,6 +252,7 @@ static const struct tty_term_code_entry tty_term_codes[] = { | ||||
| 	[TTYC_SMACS] = { TTYCODE_STRING, "smacs" }, | ||||
| 	[TTYC_SMCUP] = { TTYCODE_STRING, "smcup" }, | ||||
| 	[TTYC_SMKX] = { TTYCODE_STRING, "smkx" }, | ||||
| 	[TTYC_SMOL] = { TTYCODE_STRING, "Smol" }, | ||||
| 	[TTYC_SMSO] = { TTYCODE_STRING, "smso" }, | ||||
| 	[TTYC_SMULX] = { TTYCODE_STRING, "Smulx" }, | ||||
| 	[TTYC_SMUL] = { TTYCODE_STRING, "smul" }, | ||||
|   | ||||
							
								
								
									
										2
									
								
								tty.c
									
									
									
									
									
								
							
							
						
						
									
										2
									
								
								tty.c
									
									
									
									
									
								
							| @@ -2199,6 +2199,8 @@ tty_attributes(struct tty *tty, const struct grid_cell *gc, | ||||
| 		tty_putcode(tty, TTYC_INVIS); | ||||
| 	if (changed & GRID_ATTR_STRIKETHROUGH) | ||||
| 		tty_putcode(tty, TTYC_SMXX); | ||||
| 	if (changed & GRID_ATTR_OVERLINE) | ||||
| 		tty_putcode(tty, TTYC_SMOL); | ||||
| 	if ((changed & GRID_ATTR_CHARSET) && tty_acs_needed(tty)) | ||||
| 		tty_putcode(tty, TTYC_SMACS); | ||||
| } | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 nicm
					nicm