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