Add TBC sequence
This sequence clears tab stops in the terminal. If the argument is not present or is zero, then removes the tab stop of the current horizontal position. If the argument is 3 then removes all the tab stops of the terminal. It was necessary modify the terminfo entry tbc, because it has \E[2g instead of the correct \E[3g. Signed-off-by: Roberto E. Vargas Caballero <k0ga@shike2.com> --- st.c | 12 ++++++++++++ st.info | 2 +- 2 files changed, 13 insertions(+), 1 deletion(-)
This commit is contained in:
		
							parent
							
								
									93901ca4fe
								
							
						
					
					
						commit
						c084c06b40
					
				
							
								
								
									
										12
									
								
								st.c
								
								
								
								
							
							
						
						
									
										12
									
								
								st.c
								
								
								
								
							|  | @ -1203,6 +1203,18 @@ csihandle(void) { | ||||||
| 		DEFAULT(escseq.arg[0], 1); | 		DEFAULT(escseq.arg[0], 1); | ||||||
| 		tmoveto(0, term.c.y-escseq.arg[0]); | 		tmoveto(0, term.c.y-escseq.arg[0]); | ||||||
| 		break; | 		break; | ||||||
|  | 	case 'g': /* TBC -- Tabulation clear */ | ||||||
|  | 		switch (escseq.arg[0]) { | ||||||
|  | 		case 0: /* clear current tab stop */ | ||||||
|  | 			term.tabs[term.c.x] = 0; | ||||||
|  | 			break; | ||||||
|  | 		case 3: /* clear all the tabs */ | ||||||
|  | 			memset(term.tabs, 0, term.col * sizeof(*term.tabs)); | ||||||
|  | 			break; | ||||||
|  | 		default: | ||||||
|  | 			goto unknown; | ||||||
|  | 		} | ||||||
|  | 		break; | ||||||
| 	case 'G': /* CHA -- Move to <col> */ | 	case 'G': /* CHA -- Move to <col> */ | ||||||
| 	case '`': /* XXX: HPA -- same? */ | 	case '`': /* XXX: HPA -- same? */ | ||||||
| 		DEFAULT(escseq.arg[0], 1); | 		DEFAULT(escseq.arg[0], 1); | ||||||
|  |  | ||||||
		Loading…
	
		Reference in New Issue