ttoggle ATTR_REVERSE on selected text, factored some code and fixed Makefile. - st - [fork] customized build of st, the simple terminal
(HTM) git clone git://src.adamsgaard.dk/st
(DIR) Log
(DIR) Files
(DIR) Refs
(DIR) README
(DIR) LICENSE
---
(DIR) commit 160bda1b60148ce8f7d3b001ada2b12f1da9e152
(DIR) parent 596bb133a55a6aba13b55795a9a38e29fcf1b38b
(HTM) Author: Aurélien Aptel <aurelien.aptel@gmail.com>
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(-)
---
(DIR) 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}"
(DIR) 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.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;
}
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.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 {
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.dis, xw.scr));
+ 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, new) ||
i >= DRAW_BUF_SIZ)) {
xdraws(buf, base, ox, y, i);