toggle ATTR_REVERSE on selected text, factored some code and fixed Makefile.
This commit is contained in:
		
							
								
								
									
										2
									
								
								Makefile
									
									
									
									
									
								
							
							
						
						
									
										2
									
								
								Makefile
									
									
									
									
									
								
							| @@ -8,7 +8,7 @@ OBJ = ${SRC:.c=.o} | ||||
|  | ||||
| all: options st | ||||
|  | ||||
| options: options | ||||
| options: | ||||
| 	@echo st build options: | ||||
| 	@echo "CFLAGS   = ${CFLAGS}" | ||||
| 	@echo "LDFLAGS  = ${LDFLAGS}" | ||||
|   | ||||
							
								
								
									
										21
									
								
								st.c
									
									
									
									
									
								
							
							
						
						
									
										21
									
								
								st.c
									
									
									
									
									
								
							| @@ -828,22 +828,17 @@ csihandle(void) { | ||||
| 			case 25: | ||||
| 				term.c.state |= CURSOR_HIDE; | ||||
| 				break; | ||||
| 			case 1049: /* = 1047 and 1048 */ | ||||
| 			case 1047: | ||||
| 				if(IS_SET(MODE_ALTSCREEN)) { | ||||
| 					tclearregion(0, 0, term.col-1, term.row-1); | ||||
| 					tswapscreen(); | ||||
| 				} | ||||
| 				if(escseq.arg[0] == 1047) | ||||
| 					break; | ||||
| 			case 1048: | ||||
| 				tcursor(CURSOR_LOAD); | ||||
| 				break; | ||||
| 			case 1049: | ||||
| 				tcursor(CURSOR_LOAD); | ||||
| 				if(IS_SET(MODE_ALTSCREEN)) { | ||||
| 					tclearregion(0, 0, term.col-1, term.row-1); | ||||
| 					tswapscreen(); | ||||
| 				} | ||||
| 				break; | ||||
| 			default: | ||||
| 				goto unknown; | ||||
| 			} | ||||
| @@ -888,22 +883,17 @@ csihandle(void) { | ||||
| 			case 25: | ||||
| 				term.c.state &= ~CURSOR_HIDE; | ||||
| 				break; | ||||
| 			case 1049: /* = 1047 and 1048 */ | ||||
| 			case 1047: | ||||
| 				if(IS_SET(MODE_ALTSCREEN)) | ||||
| 					tclearregion(0, 0, term.col-1, term.row-1); | ||||
| 				else | ||||
| 					tswapscreen(); | ||||
| 				if(escseq.arg[0] == 1047) | ||||
| 					break; | ||||
| 			case 1048: | ||||
| 				tcursor(CURSOR_SAVE); | ||||
| 				break; | ||||
| 			case 1049: | ||||
| 				tcursor(CURSOR_SAVE); | ||||
| 				if(IS_SET(MODE_ALTSCREEN)) | ||||
| 					tclearregion(0, 0, term.col-1, term.row-1); | ||||
| 				else | ||||
| 					tswapscreen(); | ||||
| 				break; | ||||
| 			default: goto unknown; | ||||
| 			} | ||||
| 		} else { | ||||
| @@ -1222,6 +1212,7 @@ xinit(void) { | ||||
| 	xw.bufw = xw.w - 2*BORDER; | ||||
| 	xw.bufh = xw.h - 2*BORDER; | ||||
| 	xw.buf = XCreatePixmap(xw.dis, xw.win, xw.bufw, xw.bufh, XDefaultDepth(xw.dis, xw.scr)); | ||||
| 	xw.hasfocus = 1; | ||||
| 	/* gc */ | ||||
| 	dc.gc = XCreateGC(xw.dis, xw.win, 0, NULL); | ||||
| 	XMapWindow(xw.dis, xw.win); | ||||
| @@ -1322,7 +1313,7 @@ draw(int redraw_all) { | ||||
| 		for(x = 0; x < term.col; x++) { | ||||
| 			new = term.line[y][x]; | ||||
| 			if(selbx!=-1 && new.c && selected(x, y)) | ||||
| 				new.mode = ATTR_REVERSE; | ||||
| 				new.mode ^= ATTR_REVERSE; | ||||
| 			if(i > 0 && (!(new.state & GLYPH_SET) || ATTRCMP(base, new) || | ||||
| 					i >= DRAW_BUF_SIZ)) { | ||||
| 				xdraws(buf, base, ox, y, i); | ||||
|   | ||||
		Reference in New Issue
	
	Block a user