{ XK_End, "\033[4~" },
{ XK_Prior, "\033[5~" },
{ XK_Next, "\033[6~" },
+ { XK_F1, "\033OP" },
+ { XK_F2, "\033OQ" },
+ { XK_F3, "\033OR" },
+ { XK_F4, "\033OS" },
+ { XK_F5, "\033[15~" },
+ { XK_F6, "\033[17~" },
+ { XK_F7, "\033[18~" },
+ { XK_F8, "\033[19~" },
+ { XK_F9, "\033[20~" },
+ { XK_F10, "\033[21~" },
+ { XK_F11, "\033[23~" },
+ { XK_F12, "\033[24~" },
};
static char gfx[] = {
return;
}
memmove(&term.line[term.c.y][dst], &term.line[term.c.y][src], size * sizeof(Glyph));
- tclearregion(term.col-size, term.c.y, term.col-1, term.c.y);
+ tclearregion(term.col-n, term.c.y, term.col-1, term.c.y);
}
void
tinsertblank(int n) {
int src = term.c.x;
int dst = src + n;
- int size = term.col - n - src;
+ int size = term.col - dst;
if(dst >= term.col) {
tclearregion(term.c.x, term.c.y, term.col-1, term.c.y);
return;
}
memmove(&term.line[term.c.y][dst], &term.line[term.c.y][src], size * sizeof(Glyph));
- tclearregion(src, term.c.y, dst, term.c.y);
+ tclearregion(src, term.c.y, dst - 1, term.c.y);
}
void
if(term.line[term.c.y][term.c.x].state & GLYPH_SET)
g.c = term.line[term.c.y][term.c.x].c;
-
+
/* remove the old cursor */
if(term.line[oldy][oldx].state & GLYPH_SET)
xdraws(&term.line[oldy][oldx].c, term.line[oldy][oldx], oldx, oldy, 1);