ttoggle ATTR_REVERSE on selected text, factored some code and fixed Makefile. -… | |
git clone git://src.adamsgaard.dk/st | |
Log | |
Files | |
Refs | |
README | |
LICENSE | |
--- | |
commit 160bda1b60148ce8f7d3b001ada2b12f1da9e152 | |
parent 596bb133a55a6aba13b55795a9a38e29fcf1b38b | |
Author: Aurélien Aptel <[email protected]> | |
Date: Tue, 31 Aug 2010 11:02:17 +0200 | |
ttoggle ATTR_REVERSE on selected text, factored some code and fixed Makefile. | |
Diffstat: | |
M Makefile | 2 +- | |
M st.c | 25 ++++++++----------------- | |
2 files changed, 9 insertions(+), 18 deletions(-) | |
--- | |
diff --git a/Makefile b/Makefile | |
t@@ -8,7 +8,7 @@ OBJ = ${SRC:.c=.o} | |
all: options st | |
-options: options | |
+options: | |
@echo st build options: | |
@echo "CFLAGS = ${CFLAGS}" | |
@echo "LDFLAGS = ${LDFLAGS}" | |
diff --git a/st.c b/st.c | |
t@@ -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.ro… | |
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.ro… | |
- tswapscreen(); | |
- } | |
- break; | |
default: | |
goto unknown; | |
} | |
t@@ -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.ro… | |
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.ro… | |
- else | |
- tswapscreen(); | |
- break; | |
default: goto unknown; | |
} | |
} else { | |
t@@ -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.hasfocus = 1; | |
/* gc */ | |
dc.gc = XCreateGC(xw.dis, xw.win, 0, NULL); | |
XMapWindow(xw.dis, xw.win); | |
t@@ -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,… | |
i >= DRAW_BUF_SIZ)) { | |
xdraws(buf, base, ox, y, i); |