|
@ -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(); |
|
|
} |
|
|
} |
|
|
break; |
|
|
|
|
|
|
|
|
if(escseq.arg[0] == 1047) |
|
|
|
|
|
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(); |
|
|
break; |
|
|
|
|
|
|
|
|
if(escseq.arg[0] == 1047) |
|
|
|
|
|
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); |
|
|