kilo icon indicating copy to clipboard operation
kilo copied to clipboard

Use smcup and rmcup to save/restore screen buffer

Open berdon opened this issue 7 years ago • 1 comments

Vim and others appear to do this. It also has the added benefit of fixing Page Up and Page Down on MacOS using Terminal.app.

void initEditor() {
	write(STDOUT_FILENO, "\033[?47h", 6);    // New (smcup)
	EditorConfig.cursor.x = 0;
	EditorConfig.cursor.y = 0;
	if (getWindowSize(&EditorConfig.screenRows, &EditorConfig.screenCols) == -1) die("getWindowSize");
	terminalClearScreen();
}

// ...

void disableRawMode() {
	write(STDOUT_FILENO, "\033[?47l", 6);    // New (rmcup)
	tcsetattr(STDIN_FILENO, TCSAFLUSH, &EditorConfig.orig_termios);
}

More info here.

berdon avatar Apr 13 '17 01:04 berdon

For what it's worth - some people don't like the fact that programs use smcup and rmcup.

berdon avatar Apr 13 '17 01:04 berdon