Как использовать последовательности ESC для создания терминального региона с возможностью прокрутки

Немного Google ищет на основе Вашего начального канала, ведомого к этому.

Кэширование SSD Используя Учебное руководство dm-кэша

При ответе на обновление ядра от того, что я вижу, последняя версия имеет ядро 2.6.32-358. Таким образом, ядро не будет иметь этой функции в нем. Версия ОС цента и версии Ядра

Можно попытаться исправить проверку картопостроителя устройства здесь и также установить dm-кэш (включает исправление ядра, я не сделал сделал в него так не уверенный, если это будет работать с 2,6), проверка здесь

5
23.11.2014, 12:37
2 ответа

(Предположим, что вы хотите, чтобы приглашение было внизу, а окно высотой 25 строк)

Основы: сконфигурируйте оболочку вашего устройства на установку области прокрутки после того, как команда будет принята от пользователя (эквивалент printf "\033[1,24r") -- и сбросьте ее, как только она завершится -- printf "\033[r".

1
27.01.2020, 20:41

Чтение исходного кода полезно, но предлагаемые примеры сложны. Большинство полезных программ, таких как OP, спрашивают об использовании escape-последовательностей через интерфейсы termcap или curses. Сделать это с помощью проклятий было бы намного проще. Вот шаги, необходимые для работы с termcap:

  • получить описание терминала (включая перемещение курсора, область прокрутки, строку стирания, индекс)
  • инициализировать терминал в режиме «cbreak» (полу-необработанный), чтобы разрешить сохранение приглашение на в одной строке.
  • переместите курсор в строку, где должно быть приглашение
  • стереть строку
  • написать приглашение
  • получить команду ввода

Тем временем (ссылка на пакеты создает впечатление, что OP хочет отобразить их одновременно с чтением ввода)

  • переместить курсор в нижнюю строку области прокрутки
  • установить область прокрутки
  • записать строку пакета (заканчивая новой строкой или используя индекс ] escape-последовательность)
  • сбросить область прокрутки до значения по умолчанию (полноэкранный)
  • переместить курсор обратно в командную строку, продолжить чтение команд

Наилучшая практика не пытается использовать адресацию курсора за пределами область прокрутки, поэтому будет много настроек / сбросов области прокрутки, каждый раз, когда программа переключается между двумя разделами экрана.

Дополнительная литература:

2
27.01.2020, 20:41

Теги

Похожие вопросы