<!--
* t
****************************************************************************
- * Copyright 2018-2020,2021 Thomas E. Dickey *
+ * Copyright 2018-2023,2024 Thomas E. Dickey *
* Copyright 1998-2017,2018 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: infocmp.1m,v 1.78 2021/06/17 21:30:22 tom Exp @
+ * @Id: infocmp.1m,v 1.109 2024/03/16 15:35:01 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>
+<TITLE>infocmp 1m 2024-03-16 ncurses 6.5 User commands</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+
</HEAD>
<BODY>
-<H1 class="no-header">@INFOCMP@ 1M</H1>
+<H1 class="no-header">infocmp 1m 2024-03-16 ncurses 6.5 User commands</H1>
<PRE>
-<B><A HREF="infocmp.1M.html">infocmp(1M)</A></B> <B><A HREF="infocmp.1M.html">infocmp(1M)</A></B>
+<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-NAME">NAME</a></H2><PRE>
- <B>infocmp</B> - compare or print out <I>terminfo</I> descriptions
+ <STRONG>infocmp</STRONG> - compare or print out <EM>terminfo</EM> descriptions
</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
- <B>infocmp</B> [<B>-1CDEFGIKLTUVWcdegilnpqrtux</B>]
- [<B>-v</B> <I>n</I>] [<B>-s</B> <B>d</B>| <B>i</B>| <B>l</B>| <B>c</B>] [<B>-Q</B> <I>n</I>] [<B>-R</B> <B>subset</B>]
- [<B>-w</B> <I>width</I>] [<B>-A</B> <I>directory</I>] [<B>-B</B> <I>directory</I>]
- [<I>termname</I>...]
+ <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>terminal-type</EM> ...]
</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
- <B>infocmp</B> can be used to compare a binary <B>terminfo</B> entry with other
- terminfo entries, rewrite a <B>terminfo</B> description to take advantage of
- the <B>use=</B> terminfo field, or print out a <B>terminfo</B> description from the
- binary file (<B>term</B>) 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 <I>termnames</I> are specified,
- the <B>-I</B> option will be assumed. If more than one <I>termname</I> is specified,
- the <B>-d</B> 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>
- <B>infocmp</B> compares the <B>terminfo</B> description of the first terminal
- <I>termname</I> with each of the descriptions given by the entries for the
- other terminal's <I>termnames</I>. If a capability is defined for only one of
- the terminals, the value returned depends on the type of the
- capability:
+</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>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:
- <B>o</B> <B>F</B> for missing boolean variables
+ <STRONG>o</STRONG> <STRONG>F</STRONG> for missing Boolean variables
- <B>o</B> <B>NULL</B> for missing integer or string variables
+ <STRONG>o</STRONG> <STRONG>NULL</STRONG> for missing integer or string variables
- Use the <B>-q</B> option to show the distinction between <I>absent</I> and <I>cancelled</I>
+ Use the <STRONG>-q</STRONG> option to show the distinction between <EM>absent</EM> and <EM>cancelled</EM>
capabilities.
These options produce a list which you can use to compare two or more
terminal descriptions:
- <B>-d</B> produces a list of each capability that is <I>different</I> between two
+ <STRONG>-d</STRONG> produces a list of each capability that is <EM>different</EM> between two
entries. Each item in the list shows ":" after the capability
name, followed by the capability values, separated by a comma.
- <B>-c</B> produces a list of each capability that is <I>common</I> between two or
+ <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
capability value.
- The <B>-u</B> option provides a related output, showing the first
+ 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.
- <B>-n</B> produces a list of each capability that is in <I>none</I> of the given
+ <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
name.
- Normally only the conventional capabilities are shown. Use the <B>-x</B>
+ Normally only the conventional capabilities are shown. Use the <STRONG>-x</STRONG>
option to add the BSD-compatibility capabilities (names prefixed
with "OT").
- If no <I>termnames</I> are given, <B>infocmp</B> uses the environment variable
- <B>TERM</B> for each of the <I>termnames</I>.
+ 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 <B>-I</B>, <B>-L</B>, and <B>-C</B> options will produce a source listing for each
+</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.
- <B>-I</B> use the <B>terminfo</B> names
- <B>-L</B> use the long C variable name listed in <<B>term.h</B>>
- <B>-C</B> use the <B>termcap</B> names
- <B>-r</B> when using <B>-C</B>, put out all capabilities in <B>termcap</B> form
- <B>-K</B> modifies the <B>-C</B> option, improving BSD-compatibility.
+ <STRONG>-I</STRONG> use <EM>terminfo</EM> capability codes
+ <STRONG>-L</STRONG> use "long" capability names
+ <STRONG>-C</STRONG> use <EM>termcap</EM> capability codes
+ <STRONG>-r</STRONG> with <STRONG>-C</STRONG>, include nonstandard capabilities
+ <STRONG>-K</STRONG> with <STRONG>-C</STRONG>, improve BSD compatibility
- If no <I>termnames</I> are given, the environment variable <B>TERM</B> 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 <B>-C</B> option may be used directly as a <B>termcap</B>
- entry, but not all parameterized strings can be changed to the <B>termcap</B>
- format. <B>infocmp</B> will attempt to convert most of the parameterized
+ 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>
+ format. <STRONG>infocmp</STRONG> will attempt to convert most of the parameterized
information, and anything not converted will be plainly marked in the
output and commented out. These should be edited by hand.
- For best results when converting to <B>termcap</B> format, you should use both
- <B>-C</B> and <B>-r</B>. Normally a termcap description is limited to 1023 bytes.
- <B>infocmp</B> trims away less essential parts to make it fit. If you are
+ For best results when converting to <STRONG>termcap</STRONG> format, you should use both
+ <STRONG>-C</STRONG> and <STRONG>-r</STRONG>. Normally a termcap description is limited to 1023 bytes.
+ <STRONG>infocmp</STRONG> trims away less essential parts to make it fit. If you are
converting to one of the (rare) termcap implementations which accept an
- unlimited size of termcap, you may want to add the <B>-T</B> option. More
+ unlimited size of termcap, you may want to add the <STRONG>-T</STRONG> option. More
often however, you must help the termcap implementation, and trim
- excess whitespace (use the <B>-0</B> option for that).
+ 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 <B>termcap</B> expects it.
+ placed at the beginning of the string where <STRONG>termcap</STRONG> expects it.
Mandatory padding (padding information with a trailing "/") will become
optional.
- All <B>termcap</B> variables no longer supported by <B>terminfo</B>, but which are
- derivable from other <B>terminfo</B> variables, will be output. Not all
- <B>terminfo</B> capabilities will be translated; only those variables which
- were part of <B>termcap</B> will normally be output. Specifying the <B>-r</B> option
+ 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>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 <I>termcap</I> form. Normally you would use both the <B>-C</B> and <B>-r</B> options.
+ 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 <B>-K</B> option rather than <B>-C</B>.
+ 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 <B>termcap</B> strings are not as flexible, it is not
- always possible to convert a <B>terminfo</B> string capability into an
- equivalent <B>termcap</B> format. A subsequent conversion of the <B>termcap</B> file
- back into <B>terminfo</B> format will not necessarily reproduce the original
- <B>terminfo</B> source.
+ 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 <B>terminfo</B> parameter sequences, their <B>termcap</B> equivalents,
+ Some common <STRONG>terminfo</STRONG> parameter sequences, their <STRONG>termcap</STRONG> equivalents,
and some terminal types which commonly have such sequences, are:
- <B>terminfo</B> <B>termcap</B> Representative Terminals
- ---------------------------------------------------------------
- <B>%p1%c</B> <B>%.</B> adm
- <B>%p1%d</B> <B>%d</B> hp, ANSI standard, vt100
- <B>%p1%'x'%+%c</B> <B>%+x</B> concept
- <B>%i</B> <B>%i</B>q ANSI standard, vt100
- <B>%p1%?%'x'%>%t%p1%'y'%+%;</B> <B>%>xy</B> concept
- <B>%p2</B> is printed before <B>%p1</B> <B>%r</B> hp
-
-
-</PRE><H3><a name="h3-Use_-Option-_-u_">Use= Option [-u]</a></H3><PRE>
- The <B>-u</B> option produces a <B>terminfo</B> source description of the first
- terminal <I>termname</I> which is relative to the sum of the descriptions
- given by the entries for the other terminals <I>termnames</I>. It does this
- by analyzing the differences between the first <I>termname</I> and the other
- <I>termnames</I> and producing a description with <B>use=</B> 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 <B>infocmp</B> will show what
- can be done to change one description to be relative to the other.
+ <STRONG><EM>terminfo</EM></STRONG> <STRONG><EM>termcap</EM></STRONG> Terminal Types
+ ----------------------------------------------------
+ <STRONG>%p1%c</STRONG> <STRONG>%.</STRONG> ansi-m
+ <STRONG>%p1%d</STRONG> <STRONG>%d</STRONG> ansi, vt100
+ <STRONG>%p1%'</STRONG> <STRONG>'%+%c</STRONG> <STRONG>%+x</STRONG> vt52
+ <STRONG>%i</STRONG> <STRONG>%iq</STRONG> ansi, vt100
+ <STRONG>%p1%?%'x'%>%t%p1%'y'%+%;</STRONG> <STRONG>%>xy</STRONG> annarbor4080
+ <STRONG>%p2</STRONG>...<STRONG>%p1</STRONG> <STRONG>%r</STRONG> hpgeneric
+
+
+</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 <I>termname</I>, but one of the other <I>termname</I> entries contains a
- value for it. A capability's value will be printed if the value in the
- first <I>termname</I> is not found in any of the other <I>termname</I> entries, or if
- the first of the other <I>termname</I> entries that has this capability gives
- a different value for the capability than that in the first <I>termname</I>.
-
- The order of the other <I>termname</I> entries is significant. Since the
- terminfo compiler <B>tic</B> does a left-to-right scan of the capabilities,
- specifying two <B>use=</B> entries that contain differing entries for the same
+ 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. <B>infocmp</B> will flag any such inconsistencies
- between the other <I>termname</I> 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 <I>after</I> a <B>use=</B> entry that contains
+ 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 <B>infocmp</B> to recreate a description can be a useful check to make
+ 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 <B>use=</B> fields that
- are superfluous. <B>infocmp</B> will flag any other <I>termname</I> <I>use=</I> fields that
- were not needed.
-
- <B>Changing</B> <B>Databases</B> <B>[-A</B> <I>directory</I>] [-B <I>directory</I>]
- Like other <B>ncurses</B> utilities, <B>infocmp</B> looks for the terminal
- descriptions in several places. You can use the <B>TERMINFO</B> and
- <B>TERMINFO_DIRS</B> environment variables to override the compiled-in default
- list of places to search (see <B><A HREF="curses.3X.html">curses(3X)</A></B> for details).
-
- You can also use the options <B>-A</B> and <B>-B</B> to override the list of places
+ 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 <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:
- <B>o</B> The <B>-A</B> option sets the location for the first <I>termname</I>
+ <STRONG>o</STRONG> The <STRONG>-A</STRONG> option sets the location for the first <EM>terminal-type</EM>
- <B>o</B> The <B>-B</B> option sets the location for the other <I>termnames</I>.
+ <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
- terminal 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
+ 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.
</PRE><H3><a name="h3-Other-Options">Other Options</a></H3><PRE>
- <B>-0</B> causes the fields to be printed on one line, without wrapping.
+ <STRONG>-0</STRONG> causes the fields to be printed on one line, without wrapping.
- <B>-1</B> 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
+ <STRONG>-1</STRONG> 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
characters.
- <B>-a</B> tells <B>infocmp</B> to retain commented-out capabilities rather than
- discarding them. Capabilities are commented by prefixing them
+ <STRONG>-a</STRONG> tells <STRONG>infocmp</STRONG> to retain commented-out capabilities rather than
+ discarding them. Capabilities are commented by prefixing them
with a period.
- <B>-D</B> tells <B>infocmp</B> to print the database locations that it knows about,
+ <STRONG>-D</STRONG> tells <STRONG>infocmp</STRONG> to print the database locations that it knows about,
and exit.
- <B>-E</B> Dump the capabilities of the given terminal as tables, needed in
- the C initializer for a TERMTYPE structure (the terminal
- capability structure in the <B><term.h></B>). 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
+ <STRONG>-E</STRONG> Dump the capabilities of the given terminal as tables, needed in
+ 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 ncurses 5.0, the split between the <B>-e</B> and <B>-E</B> options was
- not needed; but support for extended names required making the
- arrays of terminal capabilities separate from the TERMTYPE
+ 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.
- <B>-e</B> Dump the capabilities of the given terminal as a C initializer for
- a TERMTYPE structure (the terminal capability structure in the
- <B><term.h></B>). This option is useful for preparing versions of the
+ <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
curses library hardwired for a given terminal type.
- <B>-F</B> 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,
- but resolution can be forced by also specifying <B>-r</B>.
-
- <B>-f</B> Display complex terminfo strings which contain if/then/else/endif
+ <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,
+ but resolution can be forced by also specifying <STRONG>-r</STRONG>.
+
+ <STRONG>-f</STRONG> Display complex terminfo strings which contain if/then/else/endif
expressions indented for readability.
- <B>-G</B> Display constant literals in decimal form rather than their
+ <STRONG>-G</STRONG> Display constant literals in decimal form rather than their
character equivalents.
- <B>-g</B> Display constant character literals in quoted form rather than
+ <STRONG>-g</STRONG> Display constant character literals in quoted form rather than
their decimal equivalents.
- <B>-i</B> Analyze the initialization (<B>is1</B>, <B>is2</B>, <B>is3</B>), and reset (<B>rs1</B>, <B>rs2</B>,
- <B>rs3</B>), strings in the entry, as well as those used for
- starting/stopping cursor-positioning mode (<B>smcup</B>, <B>rmcup</B>) as well
- as starting/stopping keymap mode (<B>smkx</B>, <B>rmkx</B>).
+ <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
-
- <B>o</B> "+" (turn on) or
-
- <B>o</B> "-" (turn off).
-
- An SGR0 designates an empty highlight sequence (equivalent to
- {SGR:NORMAL}).
-
- <B>-l</B> Set output format to terminfo.
-
- <B>-p</B> Ignore padding specifications when comparing strings.
-
- <B>-Q</B> <I>n</I> Rather than show source in terminfo (text) format, print the
+ 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
compiled (binary) format in hexadecimal or base64 form, depending
on the option's value:
3 hexadecimal and base64
For example, this prints the compiled terminfo value as a string
- which could be assigned to the <B>TERMINFO</B> environment variable:
+ which could be assigned to the <EM>TERMINFO</EM> environment variable:
infocmp -0 -q -Q2
- <B>-q</B> This makes the output a little shorter:
+ <STRONG>-q</STRONG> This makes the output a little shorter:
- <B>o</B> Make the comparison listing shorter by omitting subheadings,
+ <STRONG>o</STRONG> Make the comparison listing shorter by omitting subheadings,
and using "-" for absent capabilities, "@" for canceled rather
than "NULL".
- <B>o</B> However, show differences between absent and cancelled
+ <STRONG>o</STRONG> However, show differences between absent and cancelled
capabilities.
- <B>o</B> Omit the "Reconstructed from" comment for source listings.
+ <STRONG>o</STRONG> Omit the "Reconstructed from" comment for source listings.
- <B>-R</B><I>subset</I>
+ <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.
- <B>o</B> Available terminfo subsets are "SVr1", "Ultrix", "HP", and
- "AIX"; see <B><A HREF="terminfo.5.html">terminfo(5)</A></B> for details.
+ <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
+ 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:
- <B>o</B> You can also choose the subset "BSD" which selects only
- capabilities with termcap equivalents recognized by 4.4BSD.
- The <B>-C</B> option sets the "BSD" subset as a side-effect.
+ <STRONG>-C</STRONG> sets the "BSD" subset as a side-effect.
- <B>o</B> If you select any other value for <B>-R</B>, it is the same as no
- subset, i.e., all capabilities are used. The <B>-I</B> option
- likewise selects no subset as a side-effect.
+ <STRONG>-I</STRONG> sets the subset to all capabilities.
- <B>-s</B> <I>[d|i|l|c]</I>
- The <B>-s</B> option sorts the fields within each type according to the
+ <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
argument below:
- <B>d</B> leave fields in the order that they are stored in the
- <I>terminfo</I> database.
+ <STRONG>d</STRONG> leave fields in the order that they are stored in the
+ <EM>terminfo</EM> database.
- <B>i</B> sort by <I>terminfo</I> name.
+ <STRONG>i</STRONG> sort by <EM>terminfo</EM> name.
- <B>l</B> sort by the long C variable name.
+ <STRONG>l</STRONG> sort by the long C variable name.
- <B>c</B> sort by the <I>termcap</I> name.
+ <STRONG>c</STRONG> sort by the <EM>termcap</EM> name.
- If the <B>-s</B> option is not given, the fields printed out will be
- sorted alphabetically by the <B>terminfo</B> name within each type,
- except in the case of the <B>-C</B> or the <B>-L</B> options, which cause the
- sorting to be done by the <B>termcap</B> 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.
- <B>-T</B> 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
terminfo).
- <B>-t</B> tells <B>tic</B> 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.
- <B>-U</B> tells <B>infocmp</B> to not post-process the data after parsing the
+ <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 <B>infocmp</B> makes to fill in missing data.
+ contents of two source files, since it excludes the inferences
+ that <STRONG>infocmp</STRONG> makes to fill in missing data.
- <B>-V</B> 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.
- <B>-v</B> <I>n</I> 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 <I>n</I> 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.
- <B>-W</B> By itself, the <B>-w</B> option will not force long strings to be
- wrapped. Use the <B>-W</B> option to do this.
+ <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.
- <B>-w</B> <I>width</I>
- changes the output to <I>width</I> characters.
+ <STRONG>-w</STRONG> <EM>width</EM>
+ changes the output to <EM>width</EM> characters.
- <B>-x</B> print information for user-defined capabilities (see <B>user_caps(5)</B>.
- These are extensions to the terminfo repertoire which can be
- loaded using the <B>-x</B> option of <B>tic</B>.
+ <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.
-
-
-</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 <B>infocmp</B> in early 1984, for System V Release 3.
+ <EM>/usr/share/terminfo</EM>
+ compiled terminal description database
- Eric Raymond used the AT&T documentation in 1995 to provide an
- equivalent <B>infocmp</B> for ncurses. In addition, he added a few new
- features such as:
- <B>o</B> the <B>-e</B> option, to support <I>fallback</I> (compiled-in) terminal
- descriptions
-
- <B>o</B> the <B>-i</B> option, to help with analysis
-
- Later, Thomas Dickey added the <B>-x</B> (user-defined capabilities) option,
- and the <B>-E</B> option to support fallback entries with user-defined
- capabilities.
+</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>
+ and <STRONG>-t</STRONG> options are not supported in SVr4 curses.
- For a complete list, see the <I>EXTENSIONS</I> section.
+ 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.
- In 2010, Roy Marples provided an <B>infocmp</B> 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 <B>-x</B> option
- adapted from ncurses.
+ 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-PORTABILITY">PORTABILITY</a></H2><PRE>
- X/Open Curses, Issue 7 (2009) provides a description of <B>infocmp</B>. It
+ 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-EXTENSIONS">EXTENSIONS</a></H2><PRE>
- The <B>-0</B>, <B>-1</B>, <B>-E</B>, <B>-F</B>, <B>-G</B>, <B>-Q</B>, <B>-R</B>, <B>-T</B>, <B>-V</B>, <B>-a</B>, <B>-e</B>, <B>-f</B>, <B>-g</B>, <B>-i</B>, <B>-l</B>, <B>-p</B>, <B>-q</B>
- and <B>-t</B> options are not supported in SVr4 curses.
+</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.
- SVr4 infocmp does not distinguish between absent and cancelled
- capabilities. Also, it shows missing integer capabilities as <B>-1</B> (the
- internal value used to represent missing integers). This
- implementation shows those as "NULL", for consistency with missing
- strings.
+ 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:
- The <B>-r</B> 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 <B>-r</B> <B>-RBSD</B>.
+ <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
-</PRE><H2><a name="h2-BUGS">BUGS</a></H2><PRE>
- The <B>-F</B> option of <B><A HREF="infocmp.1M.html">infocmp(1M)</A></B> should be a <B><A HREF="toe.1M.html">toe(1M)</A></B> mode.
+ 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.
-</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
- <B><A HREF="captoinfo.1M.html">captoinfo(1M)</A></B>, <B><A HREF="infotocap.1M.html">infotocap(1M)</A></B>, <B><A HREF="tic.1M.html">tic(1M)</A></B>, <B><A HREF="toe.1M.html">toe(1M)</A></B>, <B><A HREF="curses.3X.html">curses(3X)</A></B>,
- <B><A HREF="terminfo.5.html">terminfo(5)</A></B>. <B><A HREF="user_caps.5.html">user_caps(5)</A></B>.
+ 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>.
- https://invisible-island.net/ncurses/tctest.html
- This describes <B>ncurses</B> version 6.2 (patch 20210612).
+</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
+
- <B><A HREF="infocmp.1M.html">infocmp(1M)</A></B>
+
+ncurses 6.5 2024-03-16 <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-HISTORY">HISTORY</a></li>
-<li><a href="#h2-PORTABILITY">PORTABILITY</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>