Unix Man (Справочное руководство)


TERMINFO(5) - часть 4


Наиболее эффективный способ подготовить описание терминала - это имитировать описание подобного терминала в terminfo и постепенно построить описание, используя частичное описание vi для проверки правильности. Помните, что наиболее необычные терминалы могут предъявлять нехватку возможностей файла terminfo, чтобы описывать их или дефекты в vi. Для облегчения проверки описания терминала вы можете поместить переменную среды TERMINFO в составное имя каталога, содержащего полное описание, с которым вы работаете, и программы будут просматриваться здесь быстрее, чем в /usr/lib/terminfo. Чтобы получить заполнения для вставленной строки справа ( если изготовитель терминала не документировал это), серьезный тест должен редактировать копию /etc/passwd до 9600 бод, удалить около 16 или 16 строк с середины экрана и затем много раз быстро нажать 'u' клавишу. Если терминальный дисплей беспорядочен, обычно необходимо большое заполнение. Подобный тест может использоваться для символа вставки.

Основные средства

Числовые средства cols описывают число колонок в каждой строке терминала. Если терминал - CRT, то число строк на экране задается посредством lines. Если терминал перескакивает в начало следующей строки, когда он достигает правого края, то он должен обладать средством am. Если терминал должен очистить свой экран, оставив свой кусрор в начальной позиции, это задается средством clear. Если терминал делает лишние удары (быстрее чем стирается позиция, когда символ набивается заново), то используется средство os. Если терминал представляет собой печатающее устройство без мягкой копии, задаются оба средства os и hc. (os поддерживается для сохранения терминалов, таких как TEKTRONIX 4010 серии, также как твердые копии и APL терминалы). Если существует код для продвижения курсора в левый угол текущего ряда, это задается как cr. (Обычно бывает возврат каретки, ctrl-M). Если существует код для выработки звукового сигнала, то он определяется как bel.

Существует код для продвижения курсора на одну позицию влево (такую как backspace), средство следует задавать как cub1. Аналогично, коды для продвижения вправо, вверх и вниз определяются как cuf1, cuu1 и cud1. Эти локальные движения курсора не должны изменять текста, который они проходят, например, вы обычно не сможете использовать 'cuf1=', так как область, которую он проходит, будет стираться.

Важно, что локальное движения курсора, закодированное в terminfo, не определены в левой и верхней границах терминала CRT. Программы никогда не должны пытаться делать backspace влево, если не задано bw, и переходить через верх. По мере просмотра текста назад программа будет идти к левому углу экрана и посылать строку ind.

По мере просмотра текста вперед программа идет в верхний левый угол экрана и посылает строку ri (обратный индекс). Строки ind и ri не определяются, когда они не на соответствующих углах экрана.

Параметризованными версиями просматривающих последовательностей являются indn и rin, имеющие ту же самую семантику, что и ind и ri, кроме тех случаев, когда они принимают один параметр и просматривают таким образом много строк. Они также не определяются, кроме как, на соответствующих углах экрана.

Средство am говорит, был ли курсор нажат справа от экрана,когда выводился текст, но это не обязательно поддерживать средством cuf1 из последней колонки. Локальное перемещение, которое определяется из левого края при заданном bw, существует, при этом cub1 из левого угла будет двигаться в правый угол предшествующей строки. Если bw не задано, эффект не предсказуем. Это полезно для вычерчивания рамки угла экрана. Если терминал имеет преключатель, способный выбирать автоматические края, то файл terminfo обычно потверждает, что он присутствует; например, am. Если терминал имеют команду, которая перемещает к первой колонки следующей строки, то команда может задаваться как nel (новая строка). Не имеет значения, если команда очищает остаток текущей строки, поэтому, если терминал не имеет cr и lf, то все же возможно обойтись рабочим nel без одной или обоих.

Этих средств достаточно для описания твердых копий и glass-tty терминалов. Таким образом, модель 33 телетайпа описывается следующим образом:




Начало  Назад  Вперед



Книжный магазин