vtgl

terminal emulator implemented in OpenGL
git clone anongit@rnpnr.xyz:vtgl.git
Log | Files | Refs | Feed | LICENSE

Commit: c17496893702a3d46aadad93346b4d810613bd7f
Parent: d8af0c3314ee05138b7aaacdc2bc830637e02eda
Author: Randy Palamar
Date:   Sun, 25 Aug 2024 16:41:38 -0600

add ESC D (linefeed), CSI f (cursor movement), and ignore set_mode 8, 40, 45

Diffstat:
Mterminal.c | 9++++++++-
1 file changed, 8 insertions(+), 1 deletion(-)

diff --git a/terminal.c b/terminal.c @@ -416,7 +416,10 @@ set_mode(Term *t, CSI *csi, b32 set) break; case PRIV(3): /* DECCOLM: 132/80 Column Mode */ case PRIV(4): /* DECSCLM: Fast/Slow Scroll */ + case PRIV(8): /* DECARM: Auto-Repeat Keys */ case PRIV(12): /* AT&T 610: Start blinking cursor */ + case PRIV(40): /* xterm: (dis)allow 132/80 Column Mode */ + case PRIV(45): /* XTREVWRAP: xterm reverse wrap around */ case PRIV(1015): /* urxvt: (broken) mouse mode */ /* IGNORED */ break; @@ -710,6 +713,7 @@ handle_csi(Term *t, s8 *raw) case 'a': cursor_step_raw(t, ORONE(csi.argv[0]), 0, 1); break; case 'd': cursor_move_to(t, csi.argv[0] - 1, p.x); break; case 'e': cursor_step_raw(t, ORONE(csi.argv[0]), 1, 0); break; + case 'f': cursor_move_to(t, csi.argv[0] - 1, csi.argv[1] - 1); break; case 'h': set_mode(t, &csi, 1); break; case 'l': set_mode(t, &csi, 0); break; case 'm': set_colours(t, &csi); break; @@ -835,7 +839,10 @@ handle_escape(Term *t, s8 *raw, Arena a) case 'c': /* RIS -- Reset to Initial State */ term_reset(t); break; - case 'E': /* NEL - Next Line */ + case 'D': /* IND -- Linefeed */ + push_newline(t, 0); + break; + case 'E': /* NEL -- Next Line */ push_newline(t, 1); break; case 'M': /* RI -- Reverse Index */