-<!--
+<!--
* t
****************************************************************************
- * Copyright (c) 1998-2017,2018 Free Software Foundation, Inc. *
+ * Copyright 2018-2022,2023 Thomas E. Dickey *
+ * Copyright 1998-2017,2018 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: infocmp.1m,v 1.71 2018/05/19 21:07:17 tom Exp @
+ * @Id: infocmp.1m,v 1.104 2023/12/30 21:36:32 tom Exp @
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>infocmp 1m</TITLE>
-<link rev=made href="mailto:bug-ncurses@gnu.org">
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+<TITLE>infocmp 1m 2023-12-30 ncurses 6.4 User commands</TITLE>
+<link rel="author" href="mailto:bug-ncurses@gnu.org">
+
</HEAD>
<BODY>
-<H1 class="no-header">infocmp 1m</H1>
+<H1 class="no-header">infocmp 1m 2023-12-30 ncurses 6.4 User commands</H1>
<PRE>
-<STRONG><A HREF="infocmp.1m.html">infocmp(1m)</A></STRONG> <STRONG><A HREF="infocmp.1m.html">infocmp(1m)</A></STRONG>
+<STRONG><A HREF="infocmp.1m.html">infocmp(1m)</A></STRONG> User commands <STRONG><A HREF="infocmp.1m.html">infocmp(1m)</A></STRONG>
</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
- <STRONG>infocmp</STRONG> [<STRONG>-1CDEFGIKLTUVWcdegilnpqrtux</STRONG>]
+ <STRONG>infocmp</STRONG> [<STRONG>-1cCdDeEFgGiIKlLnpqrtTuUVWx</STRONG>]
[<STRONG>-v</STRONG> <EM>n</EM>] [<STRONG>-s</STRONG> <STRONG>d</STRONG>| <STRONG>i</STRONG>| <STRONG>l</STRONG>| <STRONG>c</STRONG>] [<STRONG>-Q</STRONG> <EM>n</EM>] [<STRONG>-R</STRONG> <STRONG>subset</STRONG>]
[<STRONG>-w</STRONG> <EM>width</EM>] [<STRONG>-A</STRONG> <EM>directory</EM>] [<STRONG>-B</STRONG> <EM>directory</EM>]
- [<EM>termname</EM>...]
+ [<EM>terminal-type</EM> ...]
</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
- <STRONG>infocmp</STRONG> can be used to compare a binary <STRONG>terminfo</STRONG> entry with other ter-
- minfo entries, rewrite a <STRONG>terminfo</STRONG> description to take advantage of the
- <STRONG>use=</STRONG> terminfo field, or print out a <STRONG>terminfo</STRONG> description from the
- binary file (<STRONG>term</STRONG>) in a variety of formats. In all cases, the boolean
+ <STRONG>infocmp</STRONG> can be used to compare a binary <STRONG>terminfo</STRONG> entry with other
+ terminfo entries, rewrite a <STRONG>terminfo</STRONG> description to take advantage of
+ the <STRONG>use=</STRONG> terminfo field, or print out a <STRONG>terminfo</STRONG> description from the
+ binary file (<STRONG>term</STRONG>) in a variety of formats. In all cases, the Boolean
fields will be printed first, followed by the numeric fields, followed
by the string fields.
</PRE><H3><a name="h3-Default-Options">Default Options</a></H3><PRE>
- If no options are specified and zero or one <EM>termnames</EM> are specified,
- the <STRONG>-I</STRONG> option will be assumed. If more than one <EM>termname</EM> is specified,
- the <STRONG>-d</STRONG> option will be assumed.
+ If no options are specified and zero or one <EM>terminal-types</EM> are
+ specified, the <STRONG>-I</STRONG> option will be assumed. If more than one <EM>terminal-</EM>
+ <EM>type</EM> is specified, the <STRONG>-d</STRONG> option will be assumed.
-</PRE><H3><a name="h3-Comparison-Options-_-d_-_-c_-_-n_">Comparison Options [-d] [-c] [-n]</a></H3><PRE>
+</PRE><H3><a name="h3-Comparison-Options_d_c_n_">Comparison Options [-d] [-c] [-n]</a></H3><PRE>
<STRONG>infocmp</STRONG> compares the <STRONG>terminfo</STRONG> description of the first terminal
- <EM>termname</EM> with each of the descriptions given by the entries for the
- other terminal's <EM>termnames</EM>. If a capability is defined for only one of
- the terminals, the value returned depends on the type of the capabil-
- ity:
+ <EM>terminal-type</EM> with each of the descriptions given by the entries for
+ the other terminal's <EM>terminal-types</EM>. If a capability is defined for
+ only one of the terminals, the value returned depends on the type of
+ the capability:
- <STRONG>o</STRONG> <STRONG>F</STRONG> for missing boolean variables
+ <STRONG>o</STRONG> <STRONG>F</STRONG> for missing Boolean variables
<STRONG>o</STRONG> <STRONG>NULL</STRONG> for missing integer or string variables
<STRONG>-c</STRONG> produces a list of each capability that is <EM>common</EM> between two or
more entries. Missing capabilities are ignored. Each item in the
- list shows "=" after the capability name, followed by the capabil-
- ity value.
+ list shows "=" after the capability name, followed by the
+ capability value.
- The <STRONG>-u</STRONG> option provides a related output, showing the first termi-
- nal description rewritten to use the second as a building block
- via the "use=" clause.
+ The <STRONG>-u</STRONG> option provides a related output, showing the first
+ terminal description rewritten to use the second as a building
+ block via the "use=" clause.
<STRONG>-n</STRONG> produces a list of each capability that is in <EM>none</EM> of the given
entries. Each item in the list shows "!" before the capability
option to add the BSD-compatibility capabilities (names prefixed
with "OT").
- If no <EM>termnames</EM> are given, <STRONG>infocmp</STRONG> uses the environment variable
- <STRONG>TERM</STRONG> for each of the <EM>termnames</EM>.
+ If no <EM>terminal-types</EM> are given, <STRONG>infocmp</STRONG> uses the environment
+ variable <EM>TERM</EM> for each of the <EM>terminal-types</EM>.
-</PRE><H3><a name="h3-Source-Listing-Options-_-I_-_-L_-_-C_-_-r_">Source Listing Options [-I] [-L] [-C] [-r]</a></H3><PRE>
- The <STRONG>-I</STRONG>, <STRONG>-L</STRONG>, and <STRONG>-C</STRONG> options will produce a source listing for each ter-
- minal named.
+</PRE><H3><a name="h3-Source-Listing-Options_I_L_C_r_">Source Listing Options [-I] [-L] [-C] [-r]</a></H3><PRE>
+ The <STRONG>-I</STRONG>, <STRONG>-L</STRONG>, and <STRONG>-C</STRONG> options will produce a source listing for each
+ terminal named.
<STRONG>-I</STRONG> use the <STRONG>terminfo</STRONG> names
<STRONG>-L</STRONG> use the long C variable name listed in <<STRONG>term.h</STRONG>>
<STRONG>-r</STRONG> when using <STRONG>-C</STRONG>, put out all capabilities in <STRONG>termcap</STRONG> form
<STRONG>-K</STRONG> modifies the <STRONG>-C</STRONG> option, improving BSD-compatibility.
- If no <EM>termnames</EM> are given, the environment variable <STRONG>TERM</STRONG> will be used
- for the terminal name.
+ If no <EM>terminal-types</EM> are given, the environment variable <EM>TERM</EM> will be
+ used for the terminal name.
The source produced by the <STRONG>-C</STRONG> option may be used directly as a <STRONG>termcap</STRONG>
entry, but not all parameterized strings can be changed to the <STRONG>termcap</STRONG>
excess whitespace (use the <STRONG>-0</STRONG> option for that).
All padding information for strings will be collected together and
- placed at the beginning of the string where <STRONG>termcap</STRONG> expects it. Manda-
- tory padding (padding information with a trailing "/") will become
+ placed at the beginning of the string where <STRONG>termcap</STRONG> expects it.
+ Mandatory padding (padding information with a trailing "/") will become
optional.
All <STRONG>termcap</STRONG> variables no longer supported by <STRONG>terminfo</STRONG>, but which are
- derivable from other <STRONG>terminfo</STRONG> variables, will be output. Not all <STRONG>ter-</STRONG>
- <STRONG>minfo</STRONG> capabilities will be translated; only those variables which were
- part of <STRONG>termcap</STRONG> will normally be output. Specifying the <STRONG>-r</STRONG> option will
- take off this restriction, allowing all capabilities to be output in
- <EM>termcap</EM> form. Normally you would use both the <STRONG>-C</STRONG> and <STRONG>-r</STRONG> options. The
- actual format used incorporates some improvements for escaped charac-
- ters from terminfo format. For a stricter BSD-compatible translation,
- use the <STRONG>-K</STRONG> option rather than <STRONG>-C</STRONG>.
-
- Note that because padding is collected to the beginning of the capabil-
- ity, not all capabilities are output. Mandatory padding is not sup-
- ported. Because <STRONG>termcap</STRONG> strings are not as flexible, it is not always
- possible to convert a <STRONG>terminfo</STRONG> string capability into an equivalent
- <STRONG>termcap</STRONG> format. A subsequent conversion of the <STRONG>termcap</STRONG> file back into
- <STRONG>terminfo</STRONG> format will not necessarily reproduce the original <STRONG>terminfo</STRONG>
- source.
+ derivable from other <STRONG>terminfo</STRONG> variables, will be output. Not all
+ <STRONG>terminfo</STRONG> capabilities will be translated; only those variables which
+ were part of <STRONG>termcap</STRONG> will normally be output. Specifying the <STRONG>-r</STRONG> option
+ will take off this restriction, allowing all capabilities to be output
+ in <EM>termcap</EM> form. Normally you would use both the <STRONG>-C</STRONG> and <STRONG>-r</STRONG> options.
+ The actual format used incorporates some improvements for escaped
+ characters from terminfo format. For a stricter BSD-compatible
+ translation, use the <STRONG>-K</STRONG> option rather than <STRONG>-C</STRONG>.
+
+ Note that because padding is collected to the beginning of the
+ capability, not all capabilities are output. Mandatory padding is not
+ supported. Because <STRONG>termcap</STRONG> strings are not as flexible, it is not
+ always possible to convert a <STRONG>terminfo</STRONG> string capability into an
+ equivalent <STRONG>termcap</STRONG> format. A subsequent conversion of the <STRONG>termcap</STRONG> file
+ back into <STRONG>terminfo</STRONG> format will not necessarily reproduce the original
+ <STRONG>terminfo</STRONG> source.
Some common <STRONG>terminfo</STRONG> parameter sequences, their <STRONG>termcap</STRONG> equivalents,
and some terminal types which commonly have such sequences, are:
<STRONG>%p2</STRONG> is printed before <STRONG>%p1</STRONG> <STRONG>%r</STRONG> hp
-</PRE><H3><a name="h3-Use_-Option-_-u_">Use= Option [-u]</a></H3><PRE>
- The <STRONG>-u</STRONG> option produces a <STRONG>terminfo</STRONG> source description of the first ter-
- minal <EM>termname</EM> which is relative to the sum of the descriptions given
- by the entries for the other terminals <EM>termnames</EM>. It does this by ana-
- lyzing the differences between the first <EM>termname</EM> and the other
- <EM>termnames</EM> and producing a description with <STRONG>use=</STRONG> fields for the other
- terminals. In this manner, it is possible to 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 description is a full description, using <STRONG>infocmp</STRONG> 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 <EM>termname</EM>, but one of the other <EM>termname</EM> entries
- contains a value for it. A capability's value gets printed if the
- value in the first <EM>termname</EM> is not found in any of the other <EM>termname</EM>
- entries, or if the first of the other <EM>termname</EM> entries that has this
- capability gives a different value for the capability than that in the
- first <EM>termname</EM>.
-
- The order of the other <EM>termname</EM> entries is significant. Since the ter-
- minfo compiler <STRONG>tic</STRONG> does a left-to-right scan of the capabilities, spec-
- ifying two <STRONG>use=</STRONG> entries that contain differing entries for the same
+</PRE><H3><a name="h3-Use_Option_u_">Use= Option [-u]</a></H3><PRE>
+ The <STRONG>-u</STRONG> option produces a <STRONG>terminfo</STRONG> source description of the first
+ terminal <EM>terminal-type</EM> which is relative to the sum of the descriptions
+ given by the entries for the other <EM>terminal-types</EM>. It does this by
+ analyzing the differences between the first <EM>terminal-types</EM> and the
+ other <EM>terminal-types</EM> and producing a description with <STRONG>use=</STRONG> fields for
+ the other terminals. In this manner, it is possible to 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 description is a full description, using
+ <STRONG>infocmp</STRONG> will show what can be done to change one description to be
+ relative to the other.
+
+ A capability will be printed with an at-sign (@) if it no longer exists
+ in the first <EM>terminal-type</EM>, but one of the other <EM>terminal-type</EM> entries
+ contains a value for it. A capability's value will be printed if the
+ value in the first <EM>terminal-type</EM> is not found in any of the other
+ <EM>terminal-type</EM> entries, or if the first of the other <EM>terminal-type</EM>
+ entries that has this capability gives a different value for the
+ capability than that in the first <EM>terminal-type</EM>.
+
+ The order of the other <EM>terminal-type</EM> entries is significant. Since the
+ terminfo compiler <STRONG>tic</STRONG> does a left-to-right scan of the capabilities,
+ specifying two <STRONG>use=</STRONG> entries that contain differing entries for the same
capabilities will produce different results depending on the order that
- the entries are given in. <STRONG>infocmp</STRONG> will flag any such inconsistencies
- between the other <EM>termname</EM> entries as they are found.
+ the entries are given in. <STRONG>infocmp</STRONG> will flag any such inconsistencies
+ between the other <EM>terminal-type</EM> entries as they are found.
Alternatively, specifying a capability <EM>after</EM> a <STRONG>use=</STRONG> entry that contains
- that capability will cause the second specification to be ignored.
- Using <STRONG>infocmp</STRONG> 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 <STRONG>infocmp</STRONG> 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 <STRONG>use=</STRONG> fields that
- are superfluous. <STRONG>infocmp</STRONG> will flag any other <EM>termname</EM> <EM>use=</EM> fields that
- were not needed.
+ Another error that does not cause incorrect compiled files, but will
+ slow down the compilation time, is specifying extra <STRONG>use=</STRONG> fields that
+ are superfluous. <STRONG>infocmp</STRONG> will flag any other <EM>terminal-type</EM> <EM>use=</EM> fields
+ that were not needed.
<STRONG>Changing</STRONG> <STRONG>Databases</STRONG> <STRONG>[-A</STRONG> <EM>directory</EM>] [-B <EM>directory</EM>]
- Like other <STRONG>ncurses</STRONG> utilities, <STRONG>infocmp</STRONG> looks for the terminal descrip-
- tions in several places. You can use the <STRONG>TERMINFO</STRONG> and <STRONG>TERMINFO_DIRS</STRONG>
- environment variables to override the compiled-in default list of
- places to search (see <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG> for details).
+ Like other <EM>ncurses</EM> utilities, <STRONG>infocmp</STRONG> looks for the terminal
+ descriptions in several places. You can use the <EM>TERMINFO</EM> and
+ <EM>TERMINFO</EM><STRONG>_</STRONG><EM>DIRS</EM> environment variables to override the compiled-in default
+ list of places to search. See <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, as well as the <EM>Fetching</EM>
+ <EM>Compiled</EM> <EM>Descriptions</EM> section in <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>.
You can also use the options <STRONG>-A</STRONG> and <STRONG>-B</STRONG> to override the list of places
to search when comparing terminal descriptions:
- <STRONG>o</STRONG> The <STRONG>-A</STRONG> option sets the location for the first <EM>termname</EM>
+ <STRONG>o</STRONG> The <STRONG>-A</STRONG> option sets the location for the first <EM>terminal-type</EM>
- <STRONG>o</STRONG> The <STRONG>-B</STRONG> option sets the location for the other <EM>termnames</EM>.
+ <STRONG>o</STRONG> The <STRONG>-B</STRONG> option sets the location for the other <EM>terminal-types</EM>.
- Using these options, it is possible to compare descriptions for a ter-
- minal with the same name located in two different databases. For
+ Using these options, it is possible to compare descriptions for a
+ terminal 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.
and exit.
<STRONG>-E</STRONG> 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 <STRONG><term.h></STRONG>). This option is useful for prepar-
- 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 <STRONG>-e</STRONG> and <STRONG>-E</STRONG> options was
- not needed; but support for extended names required making the
- arrays of terminal capabilities separate from the TERMTYPE struc-
- ture.
+ the C initializer for a TERMTYPE structure (the terminal
+ capability structure in the <STRONG><term.h></STRONG>). This option is useful for
+ preparing 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 <EM>ncurses</EM> 5.0, the split between the <STRONG>-e</STRONG> and <STRONG>-E</STRONG> options was
+ not needed; but support for extended names required making the
+ arrays of terminal capabilities separate from the TERMTYPE
+ structure.
<STRONG>-e</STRONG> Dump the capabilities of the given terminal as a C initializer for
- a TERMTYPE structure (the terminal capability structure in the
- <STRONG><term.h></STRONG>). This option is useful for preparing versions of the
+ a TERMTYPE structure (the terminal capability structure in the
+ <STRONG><term.h></STRONG>). This option is useful for preparing versions of the
curses library hardwired for a given terminal type.
<STRONG>-F</STRONG> 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 <STRONG>-r</STRONG>.
- <STRONG>-f</STRONG> Display complex terminfo strings which contain if/then/else/endif
+ <STRONG>-f</STRONG> Display complex terminfo strings which contain if/then/else/endif
expressions indented for readability.
- <STRONG>-G</STRONG> Display constant literals in decimal form rather than their char-
- acter equivalents.
+ <STRONG>-G</STRONG> Display constant literals in decimal form rather than their
+ character equivalents.
- <STRONG>-g</STRONG> Display constant character literals in quoted form rather than
+ <STRONG>-g</STRONG> Display constant character literals in quoted form rather than
their decimal equivalents.
- <STRONG>-i</STRONG> Analyze the initialization (<STRONG>is1</STRONG>, <STRONG>is2</STRONG>, <STRONG>is3</STRONG>), and reset (<STRONG>rs1</STRONG>, <STRONG>rs2</STRONG>,
- <STRONG>rs3</STRONG>), strings in the entry, as well as those used for start-
- ing/stopping cursor-positioning mode (<STRONG>smcup</STRONG>, <STRONG>rmcup</STRONG>) as well as
- starting/stopping keymap mode (<STRONG>smkx</STRONG>, <STRONG>rmkx</STRONG>).
+ <STRONG>-i</STRONG> Analyze the initialization (<STRONG>is1</STRONG>, <STRONG>is2</STRONG>, <STRONG>is3</STRONG>), and reset (<STRONG>rs1</STRONG>, <STRONG>rs2</STRONG>,
+ <STRONG>rs3</STRONG>), strings in the entry, as well as those used for
+ starting/stopping cursor-positioning mode (<STRONG>smcup</STRONG>, <STRONG>rmcup</STRONG>) as well
+ as starting/stopping keymap mode (<STRONG>smkx</STRONG>, <STRONG>rmkx</STRONG>).
- 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:
- Action Meaning
- -----------------------------------------
- RIS full reset
- SC save cursor
- RC restore cursor
- LL home-down
- RSR reset scroll region
- -----------------------------------------
- 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
- ISO UK G1 enable UK chars for G1
- ISO US G1 enable US chars for G1
- -----------------------------------------
- DECPAM application keypad mode
- DECPNM normal keypad mode
- DECANSI enter ANSI mode
- -----------------------------------------
- ECMA[+-]AM keyboard action mode
- ECMA[+-]IRM insert replace mode
- ECMA[+-]SRM send receive mode
- ECMA[+-]LNM linefeed mode
- -----------------------------------------
- DEC[+-]CKM application cursor keys
- DEC[+-]ANM set VT52 mode
- DEC[+-]COLM 132-column mode
- DEC[+-]SCLM smooth scroll
- DEC[+-]SCNM reverse video mode
- DEC[+-]OM origin mode
- 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
- with
-
- <STRONG>o</STRONG> "+" (turn on) or
-
- <STRONG>o</STRONG> "-" (turn off).
-
- An SGR0 designates an empty highlight sequence (equivalent to
- {SGR:NORMAL}).
+ Action Meaning
+ -----------------------------------------
+ RIS full reset
+ SC save cursor
+ RC restore cursor
+ LL home-down
+ RSR reset scroll region
+ -----------------------------------------
+
+ 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
+ ISO UK G1 enable UK chars for G1
+ ISO US G1 enable US chars for G1
+ -----------------------------------------
+ DECPAM application keypad mode
+ DECPNM normal keypad mode
+ DECANSI enter ANSI mode
+ -----------------------------------------
+ ECMA[+-]AM keyboard action mode
+ ECMA[+-]IRM insert replace mode
+ ECMA[+-]SRM send receive mode
+ ECMA[+-]LNM linefeed mode
+ -----------------------------------------
+ DEC[+-]CKM application cursor keys
+ DEC[+-]ANM set VT52 mode
+ DEC[+-]COLM 132-column mode
+ DEC[+-]SCLM smooth scroll
+ DEC[+-]SCNM reverse video mode
+ DEC[+-]OM origin mode
+ 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 with
+
+ <STRONG>o</STRONG> "+" (turn on) or
+
+ <STRONG>o</STRONG> "-" (turn off).
+
+ An SGR0 designates an empty highlight sequence (equivalent to
+ {SGR:NORMAL}).
<STRONG>-l</STRONG> Set output format to terminfo.
<STRONG>-p</STRONG> Ignore padding specifications when comparing strings.
- <STRONG>-Q</STRONG> <EM>n</EM> 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:
+ <STRONG>-Q</STRONG> <EM>n</EM> Rather than show source in terminfo (text) format, print the
+ compiled (binary) format in hexadecimal or base64 form, depending
+ on the option's value:
1 hexadecimal
3 hexadecimal and base64
For example, this prints the compiled terminfo value as a string
- which could be assigned to the <STRONG>TERMINFO</STRONG> environment variable:
+ which could be assigned to the <EM>TERMINFO</EM> environment variable:
infocmp -0 -q -Q2
and using "-" for absent capabilities, "@" for canceled rather
than "NULL".
- <STRONG>o</STRONG> However, show differences between absent and cancelled capa-
- bilities.
+ <STRONG>o</STRONG> However, show differences between absent and cancelled
+ capabilities.
<STRONG>o</STRONG> Omit the "Reconstructed from" comment for source listings.
<STRONG>-R</STRONG><EM>subset</EM>
Restrict output to a given subset. This option is for use with
- archaic versions of terminfo like those on SVr1, Ultrix, or HP/UX
+ 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.
<STRONG>o</STRONG> Available terminfo subsets are "SVr1", "Ultrix", "HP", and
"AIX"; see <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG> for details.
- <STRONG>o</STRONG> You can also choose the subset "BSD" which selects only capa-
- bilities with termcap equivalents recognized by 4.4BSD. The
- <STRONG>-C</STRONG> option sets the "BSD" subset as a side-effect.
+ <STRONG>o</STRONG> You can also choose the subset "BSD" which selects only
+ capabilities with termcap equivalents recognized by 4.4BSD.
+
+ <STRONG>o</STRONG> If you select any other value for <STRONG>-R</STRONG>, it is the same as no
+ subset, i.e., all capabilities are used.
+
+ A few options override the subset selected with <STRONG>-R</STRONG>, if they are
+ processed later in the command parameters:
+
+ <STRONG>-C</STRONG> sets the "BSD" subset as a side-effect.
+
+ <STRONG>-I</STRONG> sets the subset to all capabilities.
- <STRONG>o</STRONG> If you select any other value for <STRONG>-R</STRONG>, it is the same as no
- subset, i.e., all capabilities are used. The <STRONG>-I</STRONG> option like-
- wise selects no subset as a side-effect.
+ <STRONG>-r</STRONG> sets the subset to all capabilities.
<STRONG>-s</STRONG> <EM>[d|i|l|c]</EM>
- The <STRONG>-s</STRONG> option sorts the fields within each type according to the
+ The <STRONG>-s</STRONG> option sorts the fields within each type according to the
argument below:
- <STRONG>d</STRONG> leave fields in the order that they are stored in the <EM>ter-</EM>
- <EM>minfo</EM> database.
+ <STRONG>d</STRONG> leave fields in the order that they are stored in the
+ <EM>terminfo</EM> database.
<STRONG>i</STRONG> sort by <EM>terminfo</EM> name.
<STRONG>c</STRONG> sort by the <EM>termcap</EM> name.
- If the <STRONG>-s</STRONG> option is not given, the fields printed out will be
- sorted alphabetically by the <STRONG>terminfo</STRONG> name within each type,
- except in the case of the <STRONG>-C</STRONG> or the <STRONG>-L</STRONG> options, which cause the
- sorting to be done by the <STRONG>termcap</STRONG> name or the long C variable
+ If the <STRONG>-s</STRONG> option is not given, the fields printed out will be
+ sorted alphabetically by the <STRONG>terminfo</STRONG> name within each type,
+ except in the case of the <STRONG>-C</STRONG> or the <STRONG>-L</STRONG> options, which cause the
+ sorting to be done by the <STRONG>termcap</STRONG> name or the long C variable
name, respectively.
- <STRONG>-T</STRONG> eliminates size-restrictions on the generated text. This is
+ <STRONG>-T</STRONG> 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-
- minfo).
+ descriptions are limited (e.g., 1023 for termcap, 4096 for
+ terminfo).
- <STRONG>-t</STRONG> tells <STRONG>tic</STRONG> to discard commented-out capabilities. Normally when
- translating from terminfo to termcap, untranslatable capabilities
+ <STRONG>-t</STRONG> tells <STRONG>tic</STRONG> to discard commented-out capabilities. Normally when
+ translating from terminfo to termcap, untranslatable capabilities
are commented-out.
- <STRONG>-U</STRONG> tells <STRONG>infocmp</STRONG> 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
- <STRONG>infocmp</STRONG> makes to fill in missing data.
+ <STRONG>-U</STRONG> tells <STRONG>infocmp</STRONG> to not post-process the data after parsing the
+ source file. This feature helps when comparing the actual
+ contents of two source files, since it excludes the inferences
+ that <STRONG>infocmp</STRONG> makes to fill in missing data.
- <STRONG>-V</STRONG> reports the version of ncurses which was used in this program, and
+ <STRONG>-V</STRONG> reports the version of <EM>ncurses</EM> which was used in this program, and
exits.
- <STRONG>-v</STRONG> <EM>n</EM> prints out tracing information on standard error as the program
+ <STRONG>-v</STRONG> <EM>n</EM> prints out tracing information on standard error as the program
runs.
- The optional parameter <EM>n</EM> 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
+ The optional parameter <EM>n</EM> is a number from 1 to 10, inclusive,
+ indicating the desired level of detail of information. If <EM>ncurses</EM>
+ is built without tracing support, the optional parameter is
ignored.
- <STRONG>-W</STRONG> By itself, the <STRONG>-w</STRONG> option will not force long strings to be
+ <STRONG>-W</STRONG> By itself, the <STRONG>-w</STRONG> option will not force long strings to be
wrapped. Use the <STRONG>-W</STRONG> option to do this.
<STRONG>-w</STRONG> <EM>width</EM>
changes the output to <EM>width</EM> characters.
- <STRONG>-x</STRONG> print information for user-defined capabilities. These are exten-
- sions to the terminfo repertoire which can be loaded using the <STRONG>-x</STRONG>
- option of <STRONG>tic</STRONG>.
+ <STRONG>-x</STRONG> print information for user-defined capabilities (see <STRONG><A HREF="user_caps.5.html">user_caps(5)</A></STRONG>.
+ These are extensions to the terminfo repertoire which can be
+ loaded using the <STRONG>-x</STRONG> option of <STRONG>tic</STRONG>.
</PRE><H2><a name="h2-FILES">FILES</a></H2><PRE>
- /usr/share/terminfo Compiled terminal description database.
+ <EM>/usr/share/terminfo</EM>
+ compiled terminal description database
</PRE><H2><a name="h2-EXTENSIONS">EXTENSIONS</a></H2><PRE>
- The <STRONG>-0</STRONG>, <STRONG>-1</STRONG>, <STRONG>-E</STRONG>, <STRONG>-F</STRONG>, <STRONG>-G</STRONG>, <STRONG>-Q</STRONG>, <STRONG>-R</STRONG>, <STRONG>-T</STRONG>, <STRONG>-V</STRONG>, <STRONG>-a</STRONG>, <STRONG>-e</STRONG>, <STRONG>-f</STRONG>, <STRONG>-g</STRONG>, <STRONG>-i</STRONG>, <STRONG>-l</STRONG>, <STRONG>-p</STRONG>, <STRONG>-q</STRONG>
+ The <STRONG>-0</STRONG>, <STRONG>-1</STRONG>, <STRONG>-E</STRONG>, <STRONG>-F</STRONG>, <STRONG>-G</STRONG>, <STRONG>-Q</STRONG>, <STRONG>-R</STRONG>, <STRONG>-T</STRONG>, <STRONG>-V</STRONG>, <STRONG>-a</STRONG>, <STRONG>-e</STRONG>, <STRONG>-f</STRONG>, <STRONG>-g</STRONG>, <STRONG>-i</STRONG>, <STRONG>-l</STRONG>, <STRONG>-p</STRONG>, <STRONG>-q</STRONG>
and <STRONG>-t</STRONG> options are not supported in SVr4 curses.
- SVr4 infocmp does not distinguish between absent and cancelled capabil-
- ities. Also, it shows missing integer capabilities as <STRONG>-1</STRONG> (the internal
- value used to represent missing integers). This implementation shows
- those as "NULL", for consistency with missing strings.
+ SVr4 infocmp does not distinguish between absent and cancelled
+ capabilities. Also, it shows missing integer capabilities as <STRONG>-1</STRONG> (the
+ internal value used to represent missing integers). This
+ implementation shows those as "NULL", for consistency with missing
+ strings.
The <STRONG>-r</STRONG> option's notion of "termcap" capabilities is System V Release
4's. Actual BSD curses versions will have a more restricted set. To
see only the 4.4BSD set, use <STRONG>-r</STRONG> <STRONG>-RBSD</STRONG>.
-</PRE><H2><a name="h2-BUGS">BUGS</a></H2><PRE>
- The <STRONG>-F</STRONG> option of <STRONG><A HREF="infocmp.1m.html">infocmp(1m)</A></STRONG> should be a <STRONG><A HREF="toe.1m.html">toe(1m)</A></STRONG> mode.
+</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+ X/Open Curses, Issue 7 (2009) provides a description of <STRONG>infocmp</STRONG>. It
+ does not mention the options used for converting to termcap format.
-</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
- <STRONG><A HREF="captoinfo.1m.html">captoinfo(1m)</A></STRONG>, <STRONG><A HREF="infotocap.1m.html">infotocap(1m)</A></STRONG>, <STRONG><A HREF="tic.1m.html">tic(1m)</A></STRONG>, <STRONG><A HREF="toe.1m.html">toe(1m)</A></STRONG>, <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG>ter-</STRONG>
- <STRONG><A HREF="terminfo.5.html">minfo(5)</A></STRONG>.
+</PRE><H2><a name="h2-HISTORY">HISTORY</a></H2><PRE>
+ Although System V Release 2 provided a terminfo library, it had no
+ documented tool for decompiling the terminal descriptions. Tony Hansen
+ (AT&T) wrote the first <STRONG>infocmp</STRONG> in early 1984, for System V Release 3.
- https://invisible-island.net/ncurses/tctest.html
+ Eric Raymond used the AT&T documentation in 1995 to provide an
+ equivalent <STRONG>infocmp</STRONG> for <EM>ncurses</EM>. In addition, he added a few new
+ features such as:
+
+ <STRONG>o</STRONG> the <STRONG>-e</STRONG> option, to support <EM>fallback</EM> (compiled-in) terminal
+ descriptions
+
+ <STRONG>o</STRONG> the <STRONG>-i</STRONG> option, to help with analysis
- This describes <STRONG>ncurses</STRONG> version 6.1 (patch 20180519).
+ Later, Thomas Dickey added the <STRONG>-x</STRONG> (user-defined capabilities) option,
+ and the <STRONG>-E</STRONG> option to support fallback entries with user-defined
+ capabilities.
+
+ For a complete list, see the <EM>EXTENSIONS</EM> section.
+
+ In 2010, Roy Marples provided an <STRONG>infocmp</STRONG> program for NetBSD. It is
+ less capable than the SVr4 or <EM>ncurses</EM> versions (e.g., it lacks the
+ sorting options documented in X/Open), but does include the <STRONG>-x</STRONG> option
+ adapted from <EM>ncurses</EM>.
+
+
+</PRE><H2><a name="h2-BUGS">BUGS</a></H2><PRE>
+ The <STRONG>-F</STRONG> option of <STRONG><A HREF="infocmp.1m.html">infocmp(1m)</A></STRONG> should be a <STRONG><A HREF="toe.1m.html">toe(1m)</A></STRONG> mode.
-</PRE><H2><a name="h2-AUTHOR">AUTHOR</a></H2><PRE>
+</PRE><H2><a name="h2-AUTHORS">AUTHORS</a></H2><PRE>
Eric S. Raymond <esr@snark.thyrsus.com> and
Thomas E. Dickey <dickey@invisible-island.net>
+</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
+ <STRONG><A HREF="captoinfo.1m.html">captoinfo(1m)</A></STRONG>, <STRONG><A HREF="infotocap.1m.html">infotocap(1m)</A></STRONG>, <STRONG><A HREF="tic.1m.html">tic(1m)</A></STRONG>, <STRONG><A HREF="toe.1m.html">toe(1m)</A></STRONG>, <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>,
+ <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>, <STRONG><A HREF="user_caps.5.html">user_caps(5)</A></STRONG>
+
+ https://invisible-island.net/ncurses/tctest.html
+
+
- <STRONG><A HREF="infocmp.1m.html">infocmp(1m)</A></STRONG>
+ncurses 6.4 2023-12-30 <STRONG><A HREF="infocmp.1m.html">infocmp(1m)</A></STRONG>
</PRE>
<div class="nav">
<ul>
<li><a href="#h2-DESCRIPTION">DESCRIPTION</a>
<ul>
<li><a href="#h3-Default-Options">Default Options</a></li>
-<li><a href="#h3-Comparison-Options-_-d_-_-c_-_-n_">Comparison Options [-d] [-c] [-n]</a></li>
-<li><a href="#h3-Source-Listing-Options-_-I_-_-L_-_-C_-_-r_">Source Listing Options [-I] [-L] [-C] [-r]</a></li>
-<li><a href="#h3-Use_-Option-_-u_">Use= Option [-u]</a></li>
+<li><a href="#h3-Comparison-Options_d_c_n_">Comparison Options [-d] [-c] [-n]</a></li>
+<li><a href="#h3-Source-Listing-Options_I_L_C_r_">Source Listing Options [-I] [-L] [-C] [-r]</a></li>
+<li><a href="#h3-Use_Option_u_">Use= Option [-u]</a></li>
<li><a href="#h3-Other-Options">Other Options</a></li>
</ul>
</li>
<li><a href="#h2-FILES">FILES</a></li>
<li><a href="#h2-EXTENSIONS">EXTENSIONS</a></li>
+<li><a href="#h2-PORTABILITY">PORTABILITY</a></li>
+<li><a href="#h2-HISTORY">HISTORY</a></li>
<li><a href="#h2-BUGS">BUGS</a></li>
+<li><a href="#h2-AUTHORS">AUTHORS</a></li>
<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
-<li><a href="#h2-AUTHOR">AUTHOR</a></li>
</ul>
</div>
</BODY>