2011-01-24 3 views
1

Я хочу взять на себя консоль, как это делает меньше, чтобы сделать более интерактивное приложение. Похоже, у них есть полный контроль над тем, что нарисовано где. Как я могу это сделать?Как сделать меньше на консоль?

+1

Возможно, вы должны пометить это своим языком. Как есть, это довольно расплывчато. –

ответ

5

Он использует библиотеку ncurses для обработки терминала.

0

Посмотрите «curses» в документации к вашей системе.

1

В первую очередь, less и другие полноэкранные терминальные приложения используют альтернативный режим экрана; иначе известный как режим DEC 1049. terminfo хранит строки, необходимые для входа/выхода из этого режима в

enter_ca_mode=\E[?1049h 
exit_ca_mode=\E[?1049l 

После ввода альтернативного режима экрана, вы получаете полный контроль экрана с помощью обычных управляющих последовательностей, опираясь на совершенно отдельный «буфер» на большинстве терминалов, что оставляет регулярный буфер (например, может содержать прокрутку bash) незатронутым. Когда вы снова покидаете альтернативный режим экрана, он восстанавливает предыдущее содержимое и состояние курсора.