Unifying the old style.

This commit is contained in:
Christoph Lohmann 2012-09-04 20:34:43 +02:00
parent 98b6f84bfc
commit 59fe59d3d1

47
st.c
View file

@ -785,7 +785,7 @@ ttynew(void) {
close(s); close(s);
cmdfd = m; cmdfd = m;
signal(SIGCHLD, sigchld); signal(SIGCHLD, sigchld);
if (opt_io && !(fileio = fopen(opt_io, "w"))) { if(opt_io && !(fileio = fopen(opt_io, "w"))) {
fprintf(stderr, "Error opening %s:%s\n", fprintf(stderr, "Error opening %s:%s\n",
opt_io, strerror(errno)); opt_io, strerror(errno));
} }
@ -884,7 +884,7 @@ treset(void) {
}, .x = 0, .y = 0, .state = CURSOR_DEFAULT}; }, .x = 0, .y = 0, .state = CURSOR_DEFAULT};
memset(term.tabs, 0, term.col * sizeof(*term.tabs)); memset(term.tabs, 0, term.col * sizeof(*term.tabs));
for (i = TAB; i < term.col; i += TAB) for(i = TAB; i < term.col; i += TAB)
term.tabs[i] = 1; term.tabs[i] = 1;
term.top = 0, term.bot = term.row - 1; term.top = 0, term.bot = term.row - 1;
term.mode = MODE_WRAP; term.mode = MODE_WRAP;
@ -1203,7 +1203,7 @@ void
tsetmode(bool priv, bool set, int *args, int narg) { tsetmode(bool priv, bool set, int *args, int narg) {
int *lim, mode; int *lim, mode;
for (lim = args + narg; args < lim; ++args) { for(lim = args + narg; args < lim; ++args) {
if(priv) { if(priv) {
switch(*args) { switch(*args) {
case 1: case 1:
@ -1212,7 +1212,7 @@ tsetmode(bool priv, bool set, int *args, int narg) {
case 5: /* DECSCNM -- Reverve video */ case 5: /* DECSCNM -- Reverve video */
mode = term.mode; mode = term.mode;
MODBIT(term.mode,set, MODE_REVERSE); MODBIT(term.mode,set, MODE_REVERSE);
if (mode != term.mode) if(mode != term.mode)
redraw(); redraw();
break; break;
case 7: case 7:
@ -1237,11 +1237,11 @@ tsetmode(bool priv, bool set, int *args, int narg) {
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);
if ((set && !IS_SET(MODE_ALTSCREEN)) || if((set && !IS_SET(MODE_ALTSCREEN)) ||
(!set && IS_SET(MODE_ALTSCREEN))) { (!set && IS_SET(MODE_ALTSCREEN))) {
tswapscreen(); tswapscreen();
} }
if (*args != 1049) if(*args != 1049)
break; break;
/* pass through */ /* pass through */
case 1048: case 1048:
@ -1334,7 +1334,7 @@ csihandle(void) {
break; break;
case 'I': /* CHT -- Cursor Forward Tabulation <n> tab stops */ case 'I': /* CHT -- Cursor Forward Tabulation <n> tab stops */
DEFAULT(csiescseq.arg[0], 1); DEFAULT(csiescseq.arg[0], 1);
while (csiescseq.arg[0]--) while(csiescseq.arg[0]--)
tputtab(1); tputtab(1);
break; break;
case 'J': /* ED -- Clear screen */ case 'J': /* ED -- Clear screen */
@ -1399,7 +1399,7 @@ csihandle(void) {
break; break;
case 'Z': /* CBT -- Cursor Backward Tabulation <n> tab stops */ case 'Z': /* CBT -- Cursor Backward Tabulation <n> tab stops */
DEFAULT(csiescseq.arg[0], 1); DEFAULT(csiescseq.arg[0], 1);
while (csiescseq.arg[0]--) while(csiescseq.arg[0]--)
tputtab(0); tputtab(0);
break; break;
case 'd': /* VPA -- Move to <row> */ case 'd': /* VPA -- Move to <row> */
@ -1530,15 +1530,15 @@ void
tputtab(bool forward) { tputtab(bool forward) {
unsigned x = term.c.x; unsigned x = term.c.x;
if (forward) { if(forward) {
if (x == term.col) if(x == term.col)
return; return;
for (++x; x < term.col && !term.tabs[x]; ++x) for(++x; x < term.col && !term.tabs[x]; ++x)
/* nothing */ ; /* nothing */ ;
} else { } else {
if (x == 0) if(x == 0)
return; return;
for (--x; x > 0 && !term.tabs[x]; --x) for(--x; x > 0 && !term.tabs[x]; --x)
/* nothing */ ; /* nothing */ ;
} }
tmoveto(x, term.c.y); tmoveto(x, term.c.y);
@ -1548,8 +1548,9 @@ void
tputc(char *c) { tputc(char *c) {
char ascii = *c; char ascii = *c;
if (fileio) if(fileio)
putc(ascii, fileio); putc(ascii, fileio);
if(term.esc & ESC_START) { if(term.esc & ESC_START) {
if(term.esc & ESC_CSI) { if(term.esc & ESC_CSI) {
csiescseq.buf[csiescseq.len++] = ascii; csiescseq.buf[csiescseq.len++] = ascii;
@ -1568,7 +1569,7 @@ tputc(char *c) {
break; break;
default: default:
strescseq.buf[strescseq.len++] = ascii; strescseq.buf[strescseq.len++] = ascii;
if (strescseq.len+1 >= STR_BUF_SIZ) { if(strescseq.len+1 >= STR_BUF_SIZ) {
term.esc = 0; term.esc = 0;
strhandle(); strhandle();
} }
@ -1746,13 +1747,13 @@ tresize(int col, int row) {
term.line[i] = calloc(col, sizeof(Glyph)); term.line[i] = calloc(col, sizeof(Glyph));
term.alt [i] = calloc(col, sizeof(Glyph)); term.alt [i] = calloc(col, sizeof(Glyph));
} }
if (col > term.col) { if(col > term.col) {
bool *bp = term.tabs + term.col; bool *bp = term.tabs + term.col;
memset(bp, 0, sizeof(*term.tabs) * (col - term.col)); memset(bp, 0, sizeof(*term.tabs) * (col - term.col));
while (--bp > term.tabs && !*bp) while(--bp > term.tabs && !*bp)
/* nothing */ ; /* nothing */ ;
for (bp += TAB; bp < term.tabs + col; bp += TAB) for(bp += TAB; bp < term.tabs + col; bp += TAB)
*bp = 1; *bp = 1;
} }
/* update terminal size */ /* update terminal size */
@ -1805,7 +1806,7 @@ xloadcols(void) {
for(r = 0; r < 24; r++, i++) { for(r = 0; r < 24; r++, i++) {
color.red = color.green = color.blue = 0x0808 + 0x0a0a * r; color.red = color.green = color.blue = 0x0808 + 0x0a0a * r;
if (!XAllocColor(xw.dpy, xw.cmap, &color)) { if(!XAllocColor(xw.dpy, xw.cmap, &color)) {
dc.col[i] = white; dc.col[i] = white;
fprintf(stderr, "Could not allocate color %d\n", i); fprintf(stderr, "Could not allocate color %d\n", i);
} else } else
@ -2227,11 +2228,11 @@ void
cmessage(XEvent *e) { cmessage(XEvent *e) {
/* See xembed specs /* See xembed specs
http://standards.freedesktop.org/xembed-spec/xembed-spec-latest.html */ http://standards.freedesktop.org/xembed-spec/xembed-spec-latest.html */
if (e->xclient.message_type == xw.xembed && e->xclient.format == 32) { if(e->xclient.message_type == xw.xembed && e->xclient.format == 32) {
if (e->xclient.data.l[1] == XEMBED_FOCUS_IN) { if(e->xclient.data.l[1] == XEMBED_FOCUS_IN) {
xw.state |= WIN_FOCUSED; xw.state |= WIN_FOCUSED;
xseturgency(0); xseturgency(0);
} else if (e->xclient.data.l[1] == XEMBED_FOCUS_OUT) { } else if(e->xclient.data.l[1] == XEMBED_FOCUS_OUT) {
xw.state &= ~WIN_FOCUSED; xw.state &= ~WIN_FOCUSED;
} }
draw(); draw();
@ -2322,7 +2323,7 @@ main(int argc, char *argv[]) {
if(++i < argc) opt_embed = argv[i]; if(++i < argc) opt_embed = argv[i];
break; break;
case 'f': case 'f':
if (++i < argc) opt_io = argv[i]; if(++i < argc) opt_io = argv[i];
break; break;
case 'e': case 'e':
/* eat every remaining arguments */ /* eat every remaining arguments */