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:
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 */