static void xdraws(char *, Glyph, int, int, int, int);
static void xhints(void);
static void xclear(int, int, int, int);
-static void xclearborders(void);
static void xdrawcursor(void);
static void xinit(void);
static void xloadcols(void);
write(iofd, c, len);
switch(ascii) {
- case '\t':
+ case '\t': /* HT */
tputtab(1);
return;
- case '\b':
+ case '\b': /* BS */
tmoveto(term.c.x-1, term.c.y);
return;
- case '\r':
+ case '\r': /* CR */
tmoveto(0, term.c.y);
return;
- case '\f':
- case '\v':
- case '\n':
+ case '\f': /* LF */
+ case '\v': /* VT */
+ case '\n': /* LF */
/* go to first col if the mode is set */
tnewline(IS_SET(MODE_CRLF));
return;
- case '\a':
+ case '\a': /* BEL */
if(term.esc & ESC_STR)
break;
-
if(!(xw.state & WIN_FOCUSED))
xseturgency(1);
return;
- case '\033':
+ case '\033': /* ESC */
csireset();
term.esc = ESC_START;
return;
+ case '\016': /* SO */
+ term.c.attr.mode |= ATTR_GFX;
+ break;
+ case '\017': /* SI */
+ term.c.attr.mode &= ~ATTR_GFX;
+ return;
+ case '\032': /* SUB */
+ case '\030': /* CAN */
+ csireset();
+ return;
+ default:
+ /* case '\005': ENQ (IGNORED) */
+ /* case '\000': NUL (IGNORED) */
+ /* case '\021': XON (IGNORED) */
+ /* case '\023': XOFF (IGNORED) */
+ /* case 0177: DEL (IGNORED) */
+ break;
}
if(term.esc & ESC_START) {