Как работает ncurses?
При инициализации окна, используя библиотеку ncurses — initscr(), — будто бы создаётся отдельная область. То есть стирается текст терминала, сбрасывается прокрутка и мы теперь пишем в "чистом" окне. Потом, при выходе, данные восстанавливаются. Уж навряд ли библиотека сохраняет и загружает весь текст. И, думается мне, реализовано это при помощи управляющих последовательностей терминала. Отпишитесь, пожалуйста, кто знает, как такое сделать: нет желания копаться в исходниках.
Ответы (1 шт):
Не знаю, как сделано в ncurses, а в gist.github.com/fnky/458719343aabd01cfb17a3a4f7296797 пишут:
Common Private Modes
These are some examples of private modes, which are not defined by the specification, but are implemented in most terminals ...
ESC[?47h save screen
ESC[?47l restore screen
(найдено в гугле по запросу terminal escape sequence)