mirror of
https://github.com/pikami/st.git
synced 2024-11-29 15:25:42 +00:00
Unifying the old style.
This commit is contained in:
parent
98b6f84bfc
commit
59fe59d3d1
47
st.c
47
st.c
@ -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 */
|
||||||
|
Loading…
Reference in New Issue
Block a user