terminfo


terminfoбиблиотека и база данных, позволяющая программам использовать дисплей терминала в аппаратно-независимом стиле.Марк Хортон создал первую версию библиотеки terminfo в 1981-1982 годах как модернизированную версию termcap.[1] Улучшения включали в себя:

Библиотека terminfo была включена в UNIX System V Release 2 и вскоре стала более предпочтительной формой хранения описаний терминалов в System V, чем termcap (которую BSD продолжило использовать).[2] Данное поведение было в дальнейшем реализовано в pcurses в 1982-1984 годах Павелом Кёртисом, и было доступно в других UNIX-реализациях, включая дополнения Марка Хортона.[3] Подробности можно найти в новостной группе comp.sources.unix от декабря 1986 года.[4]

База данных terminfo может описывать характеристики сотен различных дисплеев терминала. Это позволяет программам использовать текстовый вывод, не зависящий от типа терминала.

Каждое описание должно содержать каноническое имя терминала. Оно может также содержать несколько псевдонимов. Эти названия используются как ключи для поиска в базе termcap.

Описание содержит одно или несколько свойств, которые имеют стандартные имена. Свойства могут иметь следующие типы: логический, числовой и строковый. Библиотека termcap не имеет предопределенного типа для каждого из свойств, поэтому тип определяется исходя из синтаксиса:

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