infocmp 1m
-
+
@@ -189,48 +190,47 @@
each description is a full description, using infocmp will show what
can be done to change one description to be relative to the other.
- A capability will get printed with an at-sign (@) if it no longer
- exists in the first termname, but one of the other termname entries
- contains a value for it. A capability's value gets printed if the
- value in the first termname is not found in any of the other termname
- entries, or if the first of the other termname entries that has this
- capability gives a different value for the capability than that in the
- first termname.
+ A capability will be printed with an at-sign (@) if it no longer exists
+ in the first termname, but one of the other termname entries contains a
+ value for it. A capability's value will be printed if the value in the
+ first termname is not found in any of the other termname entries, or if
+ the first of the other termname entries that has this capability gives
+ a different value for the capability than that in the first termname.
The order of the other termname entries is significant. Since the ter-
minfo compiler tic does a left-to-right scan of the capabilities, spec-
- ifying two use= entries that contain differing entries for the same
+ ifying two use= entries that contain differing entries for the same
capabilities will produce different results depending on the order that
- the entries are given in. infocmp will flag any such inconsistencies
+ the entries are given in. infocmp will flag any such inconsistencies
between the other termname entries as they are found.
Alternatively, specifying a capability after a use= entry that contains
- that capability will cause the second specification to be ignored.
- Using infocmp to recreate a description can be a useful check to make
- sure that everything was specified correctly in the original source
+ that capability will cause the second specification to be ignored.
+ Using infocmp to recreate a description can be a useful check to make
+ sure that everything was specified correctly in the original source
description.
- Another error that does not cause incorrect compiled files, but will
- slow down the compilation time, is specifying extra use= fields that
+ Another error that does not cause incorrect compiled files, but will
+ slow down the compilation time, is specifying extra use= fields that
are superfluous. infocmp will flag any other termnameuse= fields that
were not needed.
ChangingDatabases[-Adirectory] [-B directory]
- Like other ncurses utilities, infocmp looks for the terminal descrip-
- tions in several places. You can use the TERMINFO and TERMINFO_DIRS
- environment variables to override the compiled-in default list of
+ Like other ncurses utilities, infocmp looks for the terminal descrip-
+ tions in several places. You can use the TERMINFO and TERMINFO_DIRS
+ environment variables to override the compiled-in default list of
places to search (see curses(3x) for details).
- You can also use the options -A and -B to override the list of places
+ You can also use the options -A and -B to override the list of places
to search when comparing terminal descriptions:
o The -A option sets the location for the first termnameo The -B option sets the location for the other termnames.
- Using these options, it is possible to compare descriptions for a ter-
- minal with the same name located in two different databases. For
- instance, you can use this feature for comparing descriptions for the
+ Using these options, it is possible to compare descriptions for a ter-
+ minal with the same name located in two different databases. For
+ instance, you can use this feature for comparing descriptions for the
same terminal created by different people.
@@ -238,65 +238,65 @@
-0 causes the fields to be printed on one line, without wrapping.
-1 causes the fields to be printed out one to a line. Otherwise, the
- fields will be printed several to a line to a maximum width of 60
+ fields will be printed several to a line to a maximum width of 60
characters.
- -a tells infocmp to retain commented-out capabilities rather than
- discarding them. Capabilities are commented by prefixing them
+ -a tells infocmp to retain commented-out capabilities rather than
+ discarding them. Capabilities are commented by prefixing them
with a period.
-D tells infocmp to print the database locations that it knows about,
and exit.
- -E Dump the capabilities of the given terminal as tables, needed in
- the C initializer for a TERMTYPE structure (the terminal capabil-
+ -E Dump the capabilities of the given terminal as tables, needed in
+ the C initializer for a TERMTYPE structure (the terminal capabil-
ity structure in the <term.h>). This option is useful for prepar-
- ing versions of the curses library hardwired for a given terminal
+ ing versions of the curses library hardwired for a given terminal
type. The tables are all declared static, and are named according
to the type and the name of the corresponding terminal entry.
- Before ncurses 5.0, the split between the -e and -E options was
- not needed; but support for extended names required making the
- arrays of terminal capabilities separate from the TERMTYPE struc-
+ Before ncurses 5.0, the split between the -e and -E options was
+ not needed; but support for extended names required making the
+ arrays of terminal capabilities separate from the TERMTYPE struc-
ture.
-e Dump the capabilities of the given terminal as a C initializer for
- a TERMTYPE structure (the terminal capability structure in the
- <term.h>). This option is useful for preparing versions of the
+ a TERMTYPE structure (the terminal capability structure in the
+ <term.h>). This option is useful for preparing versions of the
curses library hardwired for a given terminal type.
-F compare terminfo files. This assumes that two following arguments
- are filenames. The files are searched for pairwise matches
- between entries, with two entries considered to match if any of
- their names do. The report printed to standard output lists
- entries with no matches in the other file, and entries with more
- than one match. For entries with exactly one match it includes a
- difference report. Normally, to reduce the volume of the report,
- use references are not resolved before looking for differences,
+ are filenames. The files are searched for pairwise matches
+ between entries, with two entries considered to match if any of
+ their names do. The report printed to standard output lists
+ entries with no matches in the other file, and entries with more
+ than one match. For entries with exactly one match it includes a
+ difference report. Normally, to reduce the volume of the report,
+ use references are not resolved before looking for differences,
but resolution can be forced by also specifying -r.
- -f Display complex terminfo strings which contain if/then/else/endif
+ -f Display complex terminfo strings which contain if/then/else/endif
expressions indented for readability.
- -G Display constant literals in decimal form rather than their char-
+ -G Display constant literals in decimal form rather than their char-
acter equivalents.
- -g Display constant character literals in quoted form rather than
+ -g Display constant character literals in quoted form rather than
their decimal equivalents.
- -i Analyze the initialization (is1, is2, is3), and reset (rs1, rs2,
- rs3), strings in the entry, as well as those used for start-
- ing/stopping cursor-positioning mode (smcup, rmcup) as well as
+ -i Analyze the initialization (is1, is2, is3), and reset (rs1, rs2,
+ rs3), strings in the entry, as well as those used for start-
+ ing/stopping cursor-positioning mode (smcup, rmcup) as well as
starting/stopping keymap mode (smkx, rmkx).
- For each string, the code tries to analyze it into actions in
- terms of the other capabilities in the entry, certain X3.64/ISO
+ For each string, the code tries to analyze it into actions in
+ terms of the other capabilities in the entry, certain X3.64/ISO
6429/ECMA-48 capabilities, and certain DEC VT-series private modes
- (the set of recognized special sequences has been selected for
- completeness over the existing terminfo database). Each report
- line consists of the capability name, followed by a colon and
- space, followed by a printable expansion of the capability string
- with sections matching recognized actions translated into
+ (the set of recognized special sequences has been selected for
+ completeness over the existing terminfo database). Each report
+ line consists of the capability name, followed by a colon and
+ space, followed by a printable expansion of the capability string
+ with sections matching recognized actions translated into
{}-bracketed descriptions.
Here is a list of the DEC/ANSI special sequences recognized:
@@ -312,8 +312,8 @@
DECSTR soft reset (VT320)
S7C1T 7-bit controls (VT220)
-----------------------------------------
-
ISO DEC G0 enable DEC graphics for G0
+
ISO UK G0 enable UK chars for G0
ISO US G0 enable US chars for G0
ISO DEC G1 enable DEC graphics for G1
@@ -338,24 +338,24 @@
DEC[+-]AWM wraparound mode
DEC[+-]ARM auto-repeat mode
- It also recognizes a SGR action corresponding to ANSI/ISO
- 6429/ECMA Set Graphics Rendition, with the values NORMAL, BOLD,
- UNDERLINE, BLINK, and REVERSE. All but NORMAL may be prefixed
+ It also recognizes a SGR action corresponding to ANSI/ISO
+ 6429/ECMA Set Graphics Rendition, with the values NORMAL, BOLD,
+ UNDERLINE, BLINK, and REVERSE. All but NORMAL may be prefixed
with
o "+" (turn on) or
o "-" (turn off).
- An SGR0 designates an empty highlight sequence (equivalent to
+ An SGR0 designates an empty highlight sequence (equivalent to
{SGR:NORMAL}).
-l Set output format to terminfo.
-p Ignore padding specifications when comparing strings.
- -Qn Rather than show source in terminfo (text) format, print the com-
- piled (binary) format in hexadecimal or base64 form, depending on
+ -Qn Rather than show source in terminfo (text) format, print the com-
+ piled (binary) format in hexadecimal or base64 form, depending on
the option's value:
1 hexadecimal
@@ -364,45 +364,45 @@
3 hexadecimal and base64
- For example, this prints the compiled terminfo value as a string
+ For example, this prints the compiled terminfo value as a string
which could be assigned to the TERMINFO environment variable:
infocmp -0 -q -Q2
-q This makes the output a little shorter:
- o Make the comparison listing shorter by omitting subheadings,
+ o Make the comparison listing shorter by omitting subheadings,
and using "-" for absent capabilities, "@" for canceled rather
than "NULL".
- o However, show differences between absent and cancelled capa-
+ o However, show differences between absent and cancelled capa-
bilities.
o Omit the "Reconstructed from" comment for source listings.
-Rsubset
- Restrict output to a given subset. This option is for use with
- archaic versions of terminfo like those on SVr1, Ultrix, or HP/UX
- that do not support the full set of SVR4/XSI Curses terminfo; and
- variants such as AIX that have their own extensions incompatible
+ Restrict output to a given subset. This option is for use with
+ archaic versions of terminfo like those on SVr1, Ultrix, or HP/UX
+ that do not support the full set of SVR4/XSI Curses terminfo; and
+ variants such as AIX that have their own extensions incompatible
with SVr4/XSI.
- o Available terminfo subsets are "SVr1", "Ultrix", "HP", and
+ o Available terminfo subsets are "SVr1", "Ultrix", "HP", and
"AIX"; see terminfo(5) for details.
- o You can also choose the subset "BSD" which selects only capa-
- bilities with termcap equivalents recognized by 4.4BSD. The
+ o You can also choose the subset "BSD" which selects only capa-
+ bilities with termcap equivalents recognized by 4.4BSD. The
-C option sets the "BSD" subset as a side-effect.
- o If you select any other value for -R, it is the same as no
- subset, i.e., all capabilities are used. The -I option like-
+ o If you select any other value for -R, it is the same as no
+ subset, i.e., all capabilities are used. The -I option like-
wise selects no subset as a side-effect.
-s[d|i|l|c]
- The -s option sorts the fields within each type according to the
+ The -s option sorts the fields within each type according to the
argument below:
- d leave fields in the order that they are stored in the ter-
+ d leave fields in the order that they are stored in the ter-minfo database.
i sort by terminfo name.
@@ -411,52 +411,83 @@
c sort by the termcap name.
- If the -s option is not given, the fields printed out will be
- sorted alphabetically by the terminfo name within each type,
- except in the case of the -C or the -L options, which cause the
- sorting to be done by the termcap name or the long C variable
+ If the -s option is not given, the fields printed out will be
+ sorted alphabetically by the terminfo name within each type,
+ except in the case of the -C or the -L options, which cause the
+ sorting to be done by the termcap name or the long C variable
name, respectively.
- -T eliminates size-restrictions on the generated text. This is
+ -T eliminates size-restrictions on the generated text. This is
mainly useful for testing and analysis, since the compiled
- descriptions are limited (e.g., 1023 for termcap, 4096 for ter-
+ descriptions are limited (e.g., 1023 for termcap, 4096 for ter-
minfo).
- -t tells tic to discard commented-out capabilities. Normally when
- translating from terminfo to termcap, untranslatable capabilities
+ -t tells tic to discard commented-out capabilities. Normally when
+ translating from terminfo to termcap, untranslatable capabilities
are commented-out.
- -U tells infocmp to not post-process the data after parsing the
- source file. This feature helps when comparing the actual con-
- tents of two source files, since it excludes the inferences that
+ -U tells infocmp to not post-process the data after parsing the
+ source file. This feature helps when comparing the actual con-
+ tents of two source files, since it excludes the inferences that
infocmp makes to fill in missing data.
-V reports the version of ncurses which was used in this program, and
exits.
- -vn prints out tracing information on standard error as the program
+ -vn prints out tracing information on standard error as the program
runs.
- The optional parameter n is a number from 1 to 10, inclusive,
+ The optional parameter n is a number from 1 to 10, inclusive,
indicating the desired level of detail of information. If ncurses
- is built without tracing support, the optional parameter is
+ is built without tracing support, the optional parameter is
ignored.
- -W By itself, the -w option will not force long strings to be
+ -W By itself, the -w option will not force long strings to be
wrapped. Use the -W option to do this.
-wwidth
changes the output to width characters.
- -x print information for user-defined capabilities. These are exten-
- sions to the terminfo repertoire which can be loaded using the -x
- option of tic.
+ -x print information for user-defined capabilities (see user_caps(5).
+ These are extensions to the terminfo repertoire which can be
+ loaded using the -x option of tic.
+ Although System V Release 2 provided a terminfo library, it had no doc-
+ umented tool for decompiling the terminal descriptions. Tony Hansen
+ (AT&T) wrote the first infocmp in early 1984, for System V Release 3.
+
+ Eric Raymond used the AT&T documentation in 1995 to provide an equiva-
+ lent infocmp for ncurses. In addition, he added a few new features
+ such as:
+
+ o the -e option, to support fallback (compiled-in) terminal descrip-
+ tions
+
+ o the -i option, to help with analysis
+
+ Later, Thomas Dickey added the -x (user-defined capabilities) option,
+ and the -E option to support fallback entries with user-defined capa-
+ bilities.
+
+ For a complete list, see the EXTENSIONS section.
+
+ In 2010, Roy Marples provided an infocmp program for NetBSD. It is
+ less capable than the SVr4 or ncurses versions (e.g., it lacks the
+ sorting options documented in X/Open), but does include the -x option
+ adapted from ncurses.
+
+
+