infocmp - Compares or prints terminfo descriptions
infocmp [-c] [-d] [-n] [-I] [-L] [-C] [-r] [-u] [-s d|i|l|c] [-v] [-V] [-l] [-w width] [-A directory] [-B directory] [termname...]
The infocmp command compares the terminfo description of the first terminal's termname with the description of the other terminal's termname entries. If a capability is defined for only one of the terminals, the value returned depends on the type of capability as follows: F for Boolean variables, -1 for integer variables, and NULL for string variables.
The options are as follows:
Produces a list of each capability that is different between
the two entries. This option is useful when displaying the differences between
two entries, created by different persons for the same or similar terminals.
Produces a list of each capability that is the same between
the two entries. Capabilities that are not set are ignored. This option
can be used to determine the need of the
Produces a list of each capability that is in neither entry.
is not provided, the environment
is substituted for
termname. This is a quick means of determining
whether or not anything was omitted from a description.
The following options produce a source listing for each terminal specified. If a termname is not specified, the environment variable TERM is determines the terminal name. Specifies that terminfo names be used. Specifies that the long C variable names listed in <term.h> be used. Specifies that the termcap names be used.
All padding information for strings is collected and placed at the beginning of the string as expected by termcap. Mandatory padding (padding information with a trailing `/' is optional.
All termcap variables that are not supported by terminfo, but which are derived from other terminfo variables are output. Not all terminfo capabilities are translated; that is, only those variables which are typically a part of termcap are output. Use the -r option to remove this restriction.
Because padding is collected at the beginning of the capability, not all capabilities are output. Mandatory padding is not supported. As termcap strings are not as flexible, converting a terminfo string capability into an equivalent termcap format is not always possible. Likewise, a subsequent conversion of the termcap file into terminfo format does not necessarily reproduce the original terminfo source.
Some common terminfo parameter sequences, their termcap equivalents, and some terminal types which typically have such sequences follows:
hp, ANSI standard, VT100
|%i||%i||ANSI standard, VT100|
|%p2 is printed before %p1||%r||hp|
Produces a terminfo source description of the first terminal specified by termname which is relative to the sum of descriptions given by the entries for the other terminals specified by termname. This is done by analyzing the differences between the first termname and the remaining terminals specified by termname and producing a description with user fields for the other terminals. You can then retrofit generic terminfo entries into a terminal's description. Or, if two similar terminals exist, but were coded at different times or by different people so that each is a full description, using the infocmp command shows what can be done to change one description relative to the other.
A capability gets printed with an at sign (@) if it does not exist in the first specified termname, but one of the other entries contains a value for it. A capability's value is printed if the value in the first specified termname is not found in any other termname entry, or if the first of the remaining termname entries that has this capability provides a different value for the capability that that listed in the first termname entry.
The order of the remaining termname entries is significant. Because the tic command (terminfo compiler) performs a left to right scan of the capabilities, specifying two user entries that have differing descriptions for the same capabilities produces varying results depending on the order that the entries are specified. The infocmp command options any inconsistencies between the termname entries as they are encountered.
Alternately specifying a capability after a user entry that contains that capability causes the second specification to be ignored. Using the infocmp command to recreate a description can be a useful check to ensure that everything was specified correctly in the original source description.
Another error that does not cause incorrect compiled files, but which
slows down the compilation time is specifying users fields that are extraneous.
command options any excess
Causes each field to print on an individual line. If not specified, multiple fields are printed on a line up to a maximum width of 60 characters. Sorts fields within each type using the following arguments: Leaves fields in the order that they are stored in the terminfo database. Sorts by the terminfo name. Sorts by the long C variable name. Sorts by the termcap name.
The location of the compiled terminfo database is taken from the environment variable TERMINFO. If the variable is not defined or the terminal is not found in that location, the system terminfo database (typically /usr/share/lib/terminfo) is used. The following options override the location: Sets the environment variable TERMINFO to the name specified by the first directory entry. Sets the environment variable TERMINFO to the name specified by the second directory entry.
Using these options enables you to compare descriptions for a terminal
with the same name that is located in two different databases or for comparing
descriptions prepared by different people.
Use the infocmp command to: Compare a binary terminfo entry with other terminfo entries. Rewrite a terminfo description to take advantage of the user (-u option) terminfo field. Print a terminfo description from the binary file (term) in a variety of formats. In all cases, the Boolean fields are printed first, numeric fields next, and string fields last.
If options are not specified and zero or one
is specified, the
option is assumed. If more than one
is specified, the
option is assumed.
Compiled terminal description database.
Commands: captoinfo(1), tic(1)