X-Git-Url: https://git.danieliu.xyz/?a=blobdiff_plain;f=st.c;h=8bbb1a59b54f38b94229a491fd29b128697cb5c8;hb=7cdaf130b17e4991da9bb3d8d1341e0092474a73;hp=15ff4f8594138ded3a9efe28b931c510bec05c40;hpb=3ba517e796e0c7a73c5030ad791be1db36a8cec5;p=st.git diff --git a/st.c b/st.c index 15ff4f8..8bbb1a5 100644 --- a/st.c +++ b/st.c @@ -856,10 +856,21 @@ tputc(char c) { tmoveto(term.c.x+1, term.c.y); term.esc = 0; break; - case 'D': + case 'D': /* XXX: CUP (VT100) or IND (VT52) ... */ tmoveto(term.c.x-1, term.c.y); term.esc = 0; break; + case 'E': /* NEL -- Next line */ + tnewline(); + term.esc = 0; + break; + case 'M': /* RI -- Reverse index */ + if(term.c.y == term.top) + tinsertblankline(1); + else + tmoveto(term.c.x, term.c.y-1); + term.esc = 0; + break; case '=': /* DECPAM */ term.mode |= MODE_APPKEYPAD; term.esc = 0; @@ -868,6 +879,14 @@ tputc(char c) { term.mode &= ~MODE_APPKEYPAD; term.esc = 0; break; + case '7': + tcursor(CURSOR_SAVE); + term.esc = 0; + break; + case '8': + tcursor(CURSOR_LOAD); + term.esc = 0; + break; default: fprintf(stderr, "erresc: unknown sequence ESC %02X '%c'\n", c, isprint(c)?c:'.'); term.esc = 0;