diff options
| author | Aurélien Aptel <aurelien.aptel@gmail.com> | 2010-08-31 11:02:17 +0200 | 
|---|---|---|
| committer | Aurélien Aptel <aurelien.aptel@gmail.com> | 2010-08-31 11:02:17 +0200 | 
| commit | 160bda1b60148ce8f7d3b001ada2b12f1da9e152 (patch) | |
| tree | 82d8203c1a7c307b3f374c39e055bd4c06ac4bf9 | |
| parent | 596bb133a55a6aba13b55795a9a38e29fcf1b38b (diff) | |
toggle ATTR_REVERSE on selected text, factored some code and fixed Makefile.
| -rw-r--r-- | Makefile | 2 | ||||
| -rw-r--r-- | st.c | 25 | 
2 files changed, 9 insertions, 18 deletions
| @@ -8,7 +8,7 @@ OBJ = ${SRC:.c=.o}  all: options st -options: options +options:  	@echo st build options:  	@echo "CFLAGS   = ${CFLAGS}"  	@echo "LDFLAGS  = ${LDFLAGS}" @@ -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();  				} -				break; +				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(); -				break;				 +				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); | 
