Решил попробовать - как программы (текстовые редакторы) прокручивают текст. Как вы знаете, такие программы при перемещении курсора "вверх/вниз" и вводе текста не распечатывают весь обновленный экран заново, а изменяют его содержимое. То есть они каким-то образом пишут прямо в буфер терминала. Решил узнать как это делается. В гугле все тихо - может не так вопрос задаю? "Как писать прямо в буфер терминала?", "Прокрутка текста". Не нашел. Решил покопаться в исходниках. У меня были HTEditor и Biew. У первого исходники очень запутанны, поэтому сказу принялся за второго. Нашел файлы keyboard.c и vio.c. Первый устанавливает режимы терминала перед началом работы, а второй вроде бы выводит текст на экран. Как он это делает я не нашел. Но понял одно - у программы есть 2-мерный массив, она изменяет его содержимое и вместе с этим изменяется содержимое экрана. Вспомнил что ee тоже так должен делать. Посмотрел его исходники. Есть new_curse.c, к-й выполняет некоторые функции curses'а (очень полезно кстати посмотреть - на предмет как работают нек. из них). А при компиляции есть выбор - либо new_curses.h, либо curses. Его смотрел я Си-файл, но опять ничего не нашел. Уж больно большой. Из всех вызовов - только ioctl, устанавливающий / получающий флаги терминала и fcntl, к-й тоже самое делает с открытым файлом. Подскажет кто-нибудь, как это сделать? Или правильный вопрос, нужные curses-функции или системные вызовы.
Похожие темы
- Форум Буфер обмена для терминала (2016)
- Форум Текст в буфер обмена (2015)
- Форум Восстановление текста из буфера (2008)
- Форум Просмотр картинок прямо из терминала (2015)
- Форум Научиться грамотно писать тексты (2014)
- Форум Добавляем текст к буферу копирования (2014)
- Форум как скопировать в буфер весь текст (несколько экранов) в эмуляторе терминала? (2016)
- Форум Писать текст в root-window (2005)
- Форум Эмулятор терминала с горизонтальным буфером экрана (2007)
- Форум Простые математические вычисления прямо в тексте (2012)