diff --git a/src/terminal.c b/src/terminal.c index b92cdab..861a21e 100644 --- a/src/terminal.c +++ b/src/terminal.c @@ -18,9 +18,15 @@ void die(const char *s) { void disableRawMode() { if (tcsetattr(STDIN_FILENO, TCSAFLUSH, &E.orig_termios) == -1) die("tcsetattr"); + + // Remove the alternate screen and restore the origin one + write(STDOUT_FILENO, "\x1b[?1049l", 8); } void enableRawMode() { + // Use the alternate screen + write(STDOUT_FILENO, "\x1b[?1049h", 8); + if (tcgetattr(STDIN_FILENO, &E.orig_termios) == -1) die("tcgetattr"); atexit(disableRawMode);