Я хочу взять на себя консоль, как это делает меньше, чтобы сделать более интерактивное приложение. Похоже, у них есть полный контроль над тем, что нарисовано где. Как я могу это сделать?Как сделать меньше на консоль?
ответ
Он использует библиотеку ncurses для обработки терминала.
Посмотрите «curses» в документации к вашей системе.
Пропускные коды ANSI могут быть местом для запуска. http://en.wikipedia.org/wiki/ANSI_escape_code
В первую очередь, less
и другие полноэкранные терминальные приложения используют альтернативный режим экрана; иначе известный как режим DEC 1049. terminfo
хранит строки, необходимые для входа/выхода из этого режима в
enter_ca_mode=\E[?1049h
exit_ca_mode=\E[?1049l
После ввода альтернативного режима экрана, вы получаете полный контроль экрана с помощью обычных управляющих последовательностей, опираясь на совершенно отдельный «буфер» на большинстве терминалов, что оставляет регулярный буфер (например, может содержать прокрутку bash) незатронутым. Когда вы снова покидаете альтернативный режим экрана, он восстанавливает предыдущее содержимое и состояние курсора.
Возможно, вы должны пометить это своим языком. Как есть, это довольно расплывчато. –