]> ncurses.scripts.mit.edu Git - ncurses.git/blob - doc/html/man/infocmp.1m.html
ncurses 6.4 - patch 20230819
[ncurses.git] / doc / html / man / infocmp.1m.html
1 <!--
2   * t
3   ****************************************************************************
4   * Copyright 2018-2022,2023 Thomas E. Dickey                                *
5   * Copyright 1998-2017,2018 Free Software Foundation, Inc.                  *
6   *                                                                          *
7   * Permission is hereby granted, free of charge, to any person obtaining a  *
8   * copy of this software and associated documentation files (the            *
9   * "Software"), to deal in the Software without restriction, including      *
10   * without limitation the rights to use, copy, modify, merge, publish,      *
11   * distribute, distribute with modifications, sublicense, and/or sell       *
12   * copies of the Software, and to permit persons to whom the Software is    *
13   * furnished to do so, subject to the following conditions:                 *
14   *                                                                          *
15   * The above copyright notice and this permission notice shall be included  *
16   * in all copies or substantial portions of the Software.                   *
17   *                                                                          *
18   * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS  *
19   * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF               *
20   * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.   *
21   * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,   *
22   * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR    *
23   * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR    *
24   * THE USE OR OTHER DEALINGS IN THE SOFTWARE.                               *
25   *                                                                          *
26   * Except as contained in this notice, the name(s) of the above copyright   *
27   * holders shall not be used in advertising or otherwise to promote the     *
28   * sale, use or other dealings in this Software without prior written       *
29   * authorization.                                                           *
30   ****************************************************************************
31   * @Id: infocmp.1m,v 1.87 2023/08/19 20:39:40 tom Exp @
32 -->
33 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
34 <HTML>
35 <HEAD>
36 <meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
37 <meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
38 <TITLE>infocmp 1m 2023-08-19 ncurses 6.4 User commands</TITLE>
39 <link rel="author" href="mailto:bug-ncurses@gnu.org">
40
41 </HEAD>
42 <BODY>
43 <H1 class="no-header">infocmp 1m 2023-08-19 ncurses 6.4 User commands</H1>
44 <PRE>
45 <STRONG><A HREF="infocmp.1m.html">infocmp(1m)</A></STRONG>                      User commands                     <STRONG><A HREF="infocmp.1m.html">infocmp(1m)</A></STRONG>
46
47
48
49
50 </PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
51        <STRONG>infocmp</STRONG> - compare or print out <EM>terminfo</EM> descriptions
52
53
54 </PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
55        <STRONG>infocmp</STRONG> [<STRONG>-1CDEFGIKLTUVWcdegilnpqrtux</STRONG>]
56              [<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>]
57              [<STRONG>-w</STRONG> <EM>width</EM>] [<STRONG>-A</STRONG> <EM>directory</EM>] [<STRONG>-B</STRONG> <EM>directory</EM>]
58              [<EM>termname</EM>...]
59
60
61 </PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
62        <STRONG>infocmp</STRONG>  can  be  used  to  compare  a binary <STRONG>terminfo</STRONG> entry with other
63        terminfo entries, rewrite a <STRONG>terminfo</STRONG> description to take  advantage  of
64        the  <STRONG>use=</STRONG>  terminfo field, or print out a <STRONG>terminfo</STRONG> description from the
65        binary file (<STRONG>term</STRONG>) in a variety of formats.  In all cases, the  boolean
66        fields  will be printed first, followed by the numeric fields, followed
67        by the string fields.
68
69
70 </PRE><H3><a name="h3-Default-Options">Default Options</a></H3><PRE>
71        If no options are specified and zero or one  <EM>termnames</EM>  are  specified,
72        the <STRONG>-I</STRONG> option will be assumed.  If more than one <EM>termname</EM> is specified,
73        the <STRONG>-d</STRONG> option will be assumed.
74
75
76 </PRE><H3><a name="h3-Comparison-Options-_-d_-_-c_-_-n_">Comparison Options [-d] [-c] [-n]</a></H3><PRE>
77        <STRONG>infocmp</STRONG>  compares  the  <STRONG>terminfo</STRONG>  description  of  the  first  terminal
78        <EM>termname</EM>  with  each  of  the descriptions given by the entries for the
79        other terminal's <EM>termnames</EM>.  If a capability is defined for only one of
80        the   terminals,  the  value  returned  depends  on  the  type  of  the
81        capability:
82
83        <STRONG>o</STRONG>   <STRONG>F</STRONG> for missing boolean variables
84
85        <STRONG>o</STRONG>   <STRONG>NULL</STRONG> for missing integer or string variables
86
87        Use the <STRONG>-q</STRONG> option to show the distinction between <EM>absent</EM> and  <EM>cancelled</EM>
88        capabilities.
89
90        These  options  produce a list which you can use to compare two or more
91        terminal descriptions:
92
93        <STRONG>-d</STRONG>   produces a list of each capability that is <EM>different</EM>  between  two
94             entries.   Each  item  in  the list shows ":" after the capability
95             name, followed by the capability values, separated by a comma.
96
97        <STRONG>-c</STRONG>   produces a list of each capability that is <EM>common</EM> between  two  or
98             more entries.  Missing capabilities are ignored.  Each item in the
99             list  shows  "="  after  the  capability  name,  followed  by  the
100             capability value.
101
102             The  <STRONG>-u</STRONG>  option  provides  a  related  output,  showing  the first
103             terminal description rewritten to use the  second  as  a  building
104             block via the "use=" clause.
105
106        <STRONG>-n</STRONG>   produces  a  list  of each capability that is in <EM>none</EM> of the given
107             entries.  Each item in the list shows "!"  before  the  capability
108             name.
109
110             Normally only the conventional capabilities are shown.  Use the <STRONG>-x</STRONG>
111             option to add the BSD-compatibility capabilities  (names  prefixed
112             with "OT").
113
114             If  no  <EM>termnames</EM> are given, <STRONG>infocmp</STRONG> uses the environment variable
115             <STRONG>TERM</STRONG> for each of the <EM>termnames</EM>.
116
117
118 </PRE><H3><a name="h3-Source-Listing-Options-_-I_-_-L_-_-C_-_-r_">Source Listing Options [-I] [-L] [-C] [-r]</a></H3><PRE>
119        The <STRONG>-I</STRONG>, <STRONG>-L</STRONG>, and <STRONG>-C</STRONG> options will  produce  a  source  listing  for  each
120        terminal named.
121
122             <STRONG>-I</STRONG>   use the <STRONG>terminfo</STRONG> names
123             <STRONG>-L</STRONG>   use the long C variable name listed in &lt;<STRONG>term.h</STRONG>&gt;
124             <STRONG>-C</STRONG>   use the <STRONG>termcap</STRONG> names
125             <STRONG>-r</STRONG>   when using <STRONG>-C</STRONG>, put out all capabilities in <STRONG>termcap</STRONG> form
126             <STRONG>-K</STRONG>   modifies the <STRONG>-C</STRONG> option, improving BSD-compatibility.
127
128        If  no  <EM>termnames</EM> are given, the environment variable <STRONG>TERM</STRONG> will be used
129        for the terminal name.
130
131        The source produced by the <STRONG>-C</STRONG> option may be used directly as a  <STRONG>termcap</STRONG>
132        entry,  but not all parameterized strings can be changed to the <STRONG>termcap</STRONG>
133        format.  <STRONG>infocmp</STRONG> will attempt to  convert  most  of  the  parameterized
134        information,  and  anything not converted will be plainly marked in the
135        output and commented out.  These should be edited by hand.
136
137        For best results when converting to <STRONG>termcap</STRONG> format, you should use both
138        <STRONG>-C</STRONG>  and  <STRONG>-r</STRONG>.   Normally a termcap description is limited to 1023 bytes.
139        <STRONG>infocmp</STRONG> trims away less essential parts to make it  fit.   If  you  are
140        converting to one of the (rare) termcap implementations which accept an
141        unlimited size of termcap, you may want to add  the  <STRONG>-T</STRONG>  option.   More
142        often  however,  you  must  help  the  termcap implementation, and trim
143        excess whitespace (use the <STRONG>-0</STRONG> option for that).
144
145        All padding information for strings  will  be  collected  together  and
146        placed  at  the  beginning  of  the  string  where  <STRONG>termcap</STRONG> expects it.
147        Mandatory padding (padding information with a trailing "/") will become
148        optional.
149
150        All  <STRONG>termcap</STRONG>  variables  no longer supported by <STRONG>terminfo</STRONG>, but which are
151        derivable from other <STRONG>terminfo</STRONG>  variables,  will  be  output.   Not  all
152        <STRONG>terminfo</STRONG>  capabilities  will  be translated; only those variables which
153        were part of <STRONG>termcap</STRONG> will normally be output.  Specifying the <STRONG>-r</STRONG> option
154        will  take off this restriction, allowing all capabilities to be output
155        in <EM>termcap</EM> form.  Normally you would use both the <STRONG>-C</STRONG>  and  <STRONG>-r</STRONG>  options.
156        The  actual  format  used  incorporates  some  improvements for escaped
157        characters  from  terminfo  format.   For  a  stricter   BSD-compatible
158        translation, use the <STRONG>-K</STRONG> option rather than <STRONG>-C</STRONG>.
159
160        Note  that  because  padding  is  collected  to  the  beginning  of the
161        capability, not all capabilities are output.  Mandatory padding is  not
162        supported.   Because  <STRONG>termcap</STRONG>  strings  are  not as flexible, it is not
163        always possible  to  convert  a  <STRONG>terminfo</STRONG>  string  capability  into  an
164        equivalent <STRONG>termcap</STRONG> format.  A subsequent conversion of the <STRONG>termcap</STRONG> file
165        back into <STRONG>terminfo</STRONG> format will not necessarily reproduce  the  original
166        <STRONG>terminfo</STRONG> source.
167
168        Some  common  <STRONG>terminfo</STRONG>  parameter sequences, their <STRONG>termcap</STRONG> equivalents,
169        and some terminal types which commonly have such sequences, are:
170
171            <STRONG>terminfo</STRONG>                    <STRONG>termcap</STRONG>   Representative Terminals
172            ---------------------------------------------------------------
173            <STRONG>%p1%c</STRONG>                       <STRONG>%.</STRONG>        adm
174            <STRONG>%p1%d</STRONG>                       <STRONG>%d</STRONG>        hp, ANSI standard, vt100
175            <STRONG>%p1%'x'%+%c</STRONG>                 <STRONG>%+x</STRONG>       concept
176            <STRONG>%i</STRONG>                          <STRONG>%i</STRONG>q       ANSI standard, vt100
177            <STRONG>%p1%?%'x'%&gt;%t%p1%'y'%+%;</STRONG>    <STRONG>%&gt;xy</STRONG>      concept
178            <STRONG>%p2</STRONG> is printed before <STRONG>%p1</STRONG>   <STRONG>%r</STRONG>        hp
179
180
181 </PRE><H3><a name="h3-Use_-Option-_-u_">Use= Option [-u]</a></H3><PRE>
182        The <STRONG>-u</STRONG> option produces a  <STRONG>terminfo</STRONG>  source  description  of  the  first
183        terminal  <EM>termname</EM>  which  is  relative  to the sum of the descriptions
184        given by the entries for the other terminals <EM>termnames</EM>.  It  does  this
185        by  analyzing  the differences between the first <EM>termname</EM> and the other
186        <EM>termnames</EM> and producing a description with <STRONG>use=</STRONG> fields  for  the  other
187        terminals.  In this manner, it is possible to retrofit generic terminfo
188        entries into a terminal's description.  Or, if  two  similar  terminals
189        exist, but were coded at different times or by different people so that
190        each description is a full description, using <STRONG>infocmp</STRONG>  will  show  what
191        can be done to change one description to be relative to the other.
192
193        A capability will be printed with an at-sign (@) if it no longer exists
194        in the first <EM>termname</EM>, but one of the other <EM>termname</EM> entries contains a
195        value for it.  A capability's value will be printed if the value in the
196        first <EM>termname</EM> is not found in any of the other <EM>termname</EM> entries, or if
197        the  first of the other <EM>termname</EM> entries that has this capability gives
198        a different value for the capability than that in the first <EM>termname</EM>.
199
200        The order of the other <EM>termname</EM>  entries  is  significant.   Since  the
201        terminfo  compiler  <STRONG>tic</STRONG>  does a left-to-right scan of the capabilities,
202        specifying two <STRONG>use=</STRONG> entries that contain differing entries for the same
203        capabilities will produce different results depending on the order that
204        the entries are given in.  <STRONG>infocmp</STRONG> will flag any  such  inconsistencies
205        between the other <EM>termname</EM> entries as they are found.
206
207        Alternatively, specifying a capability <EM>after</EM> a <STRONG>use=</STRONG> entry that contains
208        that capability will cause the  second  specification  to  be  ignored.
209        Using  <STRONG>infocmp</STRONG>  to recreate a description can be a useful check to make
210        sure that everything was specified correctly  in  the  original  source
211        description.
212
213        Another  error  that  does not cause incorrect compiled files, but will
214        slow down the compilation time, is specifying extra  <STRONG>use=</STRONG>  fields  that
215        are superfluous.  <STRONG>infocmp</STRONG> will flag any other <EM>termname</EM> <EM>use=</EM> fields that
216        were not needed.
217
218    <STRONG>Changing</STRONG> <STRONG>Databases</STRONG> <STRONG>[-A</STRONG> <EM>directory</EM>] [-B <EM>directory</EM>]
219        Like  other  <STRONG>ncurses</STRONG>  utilities,  <STRONG>infocmp</STRONG>  looks   for   the   terminal
220        descriptions   in  several  places.   You  can  use  the  <STRONG>TERMINFO</STRONG>  and
221        <STRONG>TERMINFO_DIRS</STRONG> environment variables to override the compiled-in default
222        list of places to search (see <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG> for details).
223
224        You  can  also use the options <STRONG>-A</STRONG> and <STRONG>-B</STRONG> to override the list of places
225        to search when comparing terminal descriptions:
226
227        <STRONG>o</STRONG>   The <STRONG>-A</STRONG> option sets the location for the first <EM>termname</EM>
228
229        <STRONG>o</STRONG>   The <STRONG>-B</STRONG> option sets the location for the other <EM>termnames</EM>.
230
231        Using these options, it is  possible  to  compare  descriptions  for  a
232        terminal  with  the  same name located in two different databases.  For
233        instance, you can use this feature for comparing descriptions  for  the
234        same terminal created by different people.
235
236
237 </PRE><H3><a name="h3-Other-Options">Other Options</a></H3><PRE>
238        <STRONG>-0</STRONG>   causes the fields to be printed on one line, without wrapping.
239
240        <STRONG>-1</STRONG>   causes the fields to be printed out one to a line.  Otherwise, the
241             fields will be printed several to a line to a maximum width of  60
242             characters.
243
244        <STRONG>-a</STRONG>   tells  <STRONG>infocmp</STRONG>  to  retain  commented-out capabilities rather than
245             discarding them.  Capabilities are  commented  by  prefixing  them
246             with a period.
247
248        <STRONG>-D</STRONG>   tells <STRONG>infocmp</STRONG> to print the database locations that it knows about,
249             and exit.
250
251        <STRONG>-E</STRONG>   Dump the capabilities of the given terminal as tables,  needed  in
252             the   C   initializer  for  a  TERMTYPE  structure  (the  terminal
253             capability structure in the <STRONG>&lt;term.h&gt;</STRONG>).  This option is useful  for
254             preparing  versions  of  the  curses library hardwired for a given
255             terminal type.  The tables are all declared static, and are  named
256             according  to  the type and the name of the corresponding terminal
257             entry.
258
259             Before ncurses 5.0, the split between the <STRONG>-e</STRONG> and  <STRONG>-E</STRONG>  options  was
260             not  needed;  but  support  for extended names required making the
261             arrays  of  terminal  capabilities  separate  from  the   TERMTYPE
262             structure.
263
264        <STRONG>-e</STRONG>   Dump the capabilities of the given terminal as a C initializer for
265             a TERMTYPE structure (the terminal  capability  structure  in  the
266             <STRONG>&lt;term.h&gt;</STRONG>).   This  option  is useful for preparing versions of the
267             curses library hardwired for a given terminal type.
268
269        <STRONG>-F</STRONG>   compare terminfo files.  This assumes that two following arguments
270             are  filenames.   The  files  are  searched  for  pairwise matches
271             between entries, with two entries considered to match  if  any  of
272             their  names  do.   The  report  printed  to standard output lists
273             entries with no matches in the other file, and entries  with  more
274             than  one match.  For entries with exactly one match it includes a
275             difference report.  Normally, to reduce the volume of the  report,
276             use  references  are  not resolved before looking for differences,
277             but resolution can be forced by also specifying <STRONG>-r</STRONG>.
278
279        <STRONG>-f</STRONG>   Display complex terminfo strings which contain  if/then/else/endif
280             expressions indented for readability.
281
282        <STRONG>-G</STRONG>   Display  constant  literals  in  decimal  form  rather  than their
283             character equivalents.
284
285        <STRONG>-g</STRONG>   Display constant character literals in  quoted  form  rather  than
286             their decimal equivalents.
287
288        <STRONG>-i</STRONG>   Analyze  the  initialization (<STRONG>is1</STRONG>, <STRONG>is2</STRONG>, <STRONG>is3</STRONG>), and reset (<STRONG>rs1</STRONG>, <STRONG>rs2</STRONG>,
289             <STRONG>rs3</STRONG>),  strings  in  the  entry,  as  well  as   those   used   for
290             starting/stopping  cursor-positioning  mode (<STRONG>smcup</STRONG>, <STRONG>rmcup</STRONG>) as well
291             as starting/stopping keymap mode (<STRONG>smkx</STRONG>, <STRONG>rmkx</STRONG>).
292
293             For each string, the code tries to  analyze  it  into  actions  in
294             terms  of  the  other capabilities in the entry, certain X3.64/ISO
295             6429/ECMA-48 capabilities, and certain DEC VT-series private modes
296             (the  set  of  recognized  special sequences has been selected for
297             completeness over the existing terminfo  database).   Each  report
298             line  consists  of  the  capability  name, followed by a colon and
299             space, followed by a printable expansion of the capability  string
300             with   sections   matching   recognized  actions  translated  into
301             {}-bracketed descriptions.
302
303             Here is a list of the DEC/ANSI special sequences recognized:
304
305                       Action        Meaning
306                       -----------------------------------------
307                       RIS           full reset
308                       SC            save cursor
309                       RC            restore cursor
310                       LL            home-down
311                       RSR           reset scroll region
312                       -----------------------------------------
313                       DECSTR        soft reset (VT320)
314                       S7C1T         7-bit controls (VT220)
315                       -----------------------------------------
316
317                       ISO DEC G0    enable DEC graphics for G0
318                       ISO UK G0     enable UK chars for G0
319                       ISO US G0     enable US chars for G0
320                       ISO DEC G1    enable DEC graphics for G1
321                       ISO UK G1     enable UK chars for G1
322                       ISO US G1     enable US chars for G1
323                       -----------------------------------------
324                       DECPAM        application keypad mode
325                       DECPNM        normal keypad mode
326                       DECANSI       enter ANSI mode
327                       -----------------------------------------
328                       ECMA[+-]AM    keyboard action mode
329                       ECMA[+-]IRM   insert replace mode
330                       ECMA[+-]SRM   send receive mode
331                       ECMA[+-]LNM   linefeed mode
332                       -----------------------------------------
333                       DEC[+-]CKM    application cursor keys
334                       DEC[+-]ANM    set VT52 mode
335                       DEC[+-]COLM   132-column mode
336                       DEC[+-]SCLM   smooth scroll
337                       DEC[+-]SCNM   reverse video mode
338                       DEC[+-]OM     origin mode
339                       DEC[+-]AWM    wraparound mode
340                       DEC[+-]ARM    auto-repeat mode
341
342        It also recognizes a SGR action corresponding to ANSI/ISO 6429/ECMA Set
343        Graphics Rendition, with the values NORMAL, BOLD, UNDERLINE, BLINK, and
344        REVERSE.  All but NORMAL may be prefixed with
345
346               <STRONG>o</STRONG>   "+" (turn on) or
347
348               <STRONG>o</STRONG>   "-" (turn off).
349
350               An SGR0 designates an empty highlight  sequence  (equivalent  to
351               {SGR:NORMAL}).
352
353        <STRONG>-l</STRONG>   Set output format to terminfo.
354
355        <STRONG>-p</STRONG>   Ignore padding specifications when comparing strings.
356
357        <STRONG>-Q</STRONG> <EM>n</EM> Rather  than  show  source  in  terminfo  (text) format, print the
358             compiled (binary) format in hexadecimal or base64 form,  depending
359             on the option's value:
360
361                1  hexadecimal
362
363                2  base64
364
365                3  hexadecimal and base64
366
367             For  example,  this prints the compiled terminfo value as a string
368             which could be assigned to the <STRONG>TERMINFO</STRONG> environment variable:
369
370                 infocmp -0 -q -Q2
371
372        <STRONG>-q</STRONG>   This makes the output a little shorter:
373
374             <STRONG>o</STRONG>   Make the comparison listing shorter by  omitting  subheadings,
375                 and using "-" for absent capabilities, "@" for canceled rather
376                 than "NULL".
377
378             <STRONG>o</STRONG>   However,  show  differences  between  absent   and   cancelled
379                 capabilities.
380
381             <STRONG>o</STRONG>   Omit the "Reconstructed from" comment for source listings.
382
383        <STRONG>-R</STRONG><EM>subset</EM>
384             Restrict  output  to  a given subset.  This option is for use with
385             archaic versions of terminfo like those on SVr1, Ultrix, or  HP-UX
386             that  do not support the full set of SVR4/XSI Curses terminfo; and
387             variants such as AIX that have their own  extensions  incompatible
388             with SVr4/XSI.
389
390             <STRONG>o</STRONG>   Available  terminfo  subsets  are  "SVr1", "Ultrix", "HP", and
391                 "AIX"; see <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG> for details.
392
393             <STRONG>o</STRONG>   You can also  choose  the  subset  "BSD"  which  selects  only
394                 capabilities with termcap equivalents recognized by 4.4BSD.
395
396             <STRONG>o</STRONG>   If  you  select  any  other value for <STRONG>-R</STRONG>, it is the same as no
397                 subset, i.e., all capabilities are used.
398
399             A few options override the subset selected with <STRONG>-R</STRONG>,  if  they  are
400             processed later in the command parameters:
401
402             <STRONG>-C</STRONG>   sets the "BSD" subset as a side-effect.
403
404             <STRONG>-I</STRONG>   sets the subset to all capabilities.
405
406             <STRONG>-r</STRONG>   sets the subset to all capabilities.
407
408        <STRONG>-s</STRONG> <EM>[d|i|l|c]</EM>
409             The  <STRONG>-s</STRONG>  option sorts the fields within each type according to the
410             argument below:
411
412             <STRONG>d</STRONG>    leave fields in  the  order  that  they  are  stored  in  the
413                  <EM>terminfo</EM> database.
414
415             <STRONG>i</STRONG>    sort by <EM>terminfo</EM> name.
416
417             <STRONG>l</STRONG>    sort by the long C variable name.
418
419             <STRONG>c</STRONG>    sort by the <EM>termcap</EM> name.
420
421             If  the  <STRONG>-s</STRONG>  option  is  not given, the fields printed out will be
422             sorted alphabetically by  the  <STRONG>terminfo</STRONG>  name  within  each  type,
423             except  in  the  case of the <STRONG>-C</STRONG> or the <STRONG>-L</STRONG> options, which cause the
424             sorting to be done by the <STRONG>termcap</STRONG> name  or  the  long  C  variable
425             name, respectively.
426
427        <STRONG>-T</STRONG>   eliminates  size-restrictions  on  the  generated  text.   This is
428             mainly  useful  for  testing  and  analysis,  since  the  compiled
429             descriptions  are  limited  (e.g.,  1023  for  termcap,  4096  for
430             terminfo).
431
432        <STRONG>-t</STRONG>   tells <STRONG>tic</STRONG> to discard commented-out  capabilities.   Normally  when
433             translating  from terminfo to termcap, untranslatable capabilities
434             are commented-out.
435
436        <STRONG>-U</STRONG>   tells <STRONG>infocmp</STRONG> to not  post-process  the  data  after  parsing  the
437             source  file.   This  feature  helps  when  comparing  the  actual
438             contents of two source files, since  it  excludes  the  inferences
439             that <STRONG>infocmp</STRONG> makes to fill in missing data.
440
441        <STRONG>-V</STRONG>   reports the version of ncurses which was used in this program, and
442             exits.
443
444        <STRONG>-v</STRONG> <EM>n</EM> prints out tracing information on standard error  as  the  program
445             runs.
446
447             The  optional  parameter  <EM>n</EM>  is  a number from 1 to 10, inclusive,
448             indicating the desired level of detail of information.  If ncurses
449             is  built  without  tracing  support,  the  optional  parameter is
450             ignored.
451
452        <STRONG>-W</STRONG>   By itself, the <STRONG>-w</STRONG>  option  will  not  force  long  strings  to  be
453             wrapped.  Use the <STRONG>-W</STRONG> option to do this.
454
455        <STRONG>-w</STRONG> <EM>width</EM>
456             changes the output to <EM>width</EM> characters.
457
458        <STRONG>-x</STRONG>   print information for user-defined capabilities (see <STRONG>user_caps(5)</STRONG>.
459             These are extensions to  the  terminfo  repertoire  which  can  be
460             loaded using the <STRONG>-x</STRONG> option of <STRONG>tic</STRONG>.
461
462
463 </PRE><H2><a name="h2-FILES">FILES</a></H2><PRE>
464        /usr/share/terminfo Compiled terminal description database.
465
466
467 </PRE><H2><a name="h2-HISTORY">HISTORY</a></H2><PRE>
468        Although  System  V  Release  2  provided a terminfo library, it had no
469        documented tool for decompiling the terminal descriptions.  Tony Hansen
470        (AT&amp;T) wrote the first <STRONG>infocmp</STRONG> in early 1984, for System V Release 3.
471
472        Eric  Raymond  used  the  AT&amp;T  documentation  in  1995  to  provide an
473        equivalent <STRONG>infocmp</STRONG> for ncurses.   In  addition,  he  added  a  few  new
474        features such as:
475
476        <STRONG>o</STRONG>   the   <STRONG>-e</STRONG>   option,   to  support  <EM>fallback</EM>  (compiled-in)  terminal
477            descriptions
478
479        <STRONG>o</STRONG>   the <STRONG>-i</STRONG> option, to help with analysis
480
481        Later, Thomas Dickey added the <STRONG>-x</STRONG> (user-defined  capabilities)  option,
482        and  the  <STRONG>-E</STRONG>  option  to  support  fallback  entries  with user-defined
483        capabilities.
484
485        For a complete list, see the <EM>EXTENSIONS</EM> section.
486
487        In 2010, Roy Marples provided an <STRONG>infocmp</STRONG> program  for  NetBSD.   It  is
488        less  capable  than  the  SVr4  or ncurses versions (e.g., it lacks the
489        sorting options documented in X/Open), but does include the  <STRONG>-x</STRONG>  option
490        adapted from ncurses.
491
492
493 </PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
494        X/Open  Curses,  Issue  7 (2009) provides a description of <STRONG>infocmp</STRONG>.  It
495        does not mention the options used for converting to termcap format.
496
497
498 </PRE><H2><a name="h2-EXTENSIONS">EXTENSIONS</a></H2><PRE>
499        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>
500        and <STRONG>-t</STRONG> options are not supported in SVr4 curses.
501
502        SVr4   infocmp  does  not  distinguish  between  absent  and  cancelled
503        capabilities.  Also, it shows missing integer capabilities as  <STRONG>-1</STRONG>  (the
504        internal   value   used   to   represent   missing   integers).    This
505        implementation shows those as  "NULL",  for  consistency  with  missing
506        strings.
507
508        The  <STRONG>-r</STRONG>  option's  notion of "termcap" capabilities is System V Release
509        4's.  Actual BSD curses versions will have a more restricted  set.   To
510        see only the 4.4BSD set, use <STRONG>-r</STRONG> <STRONG>-RBSD</STRONG>.
511
512
513 </PRE><H2><a name="h2-BUGS">BUGS</a></H2><PRE>
514        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.
515
516
517 </PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
518        <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>,
519        <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>.  <STRONG><A HREF="user_caps.5.html">user_caps(5)</A></STRONG>.
520
521        https://invisible-island.net/ncurses/tctest.html
522
523        This describes <STRONG>ncurses</STRONG> version 6.4 (patch 20230819).
524
525
526 </PRE><H2><a name="h2-AUTHOR">AUTHOR</a></H2><PRE>
527        Eric S. Raymond &lt;esr@snark.thyrsus.com&gt; and
528        Thomas E. Dickey &lt;dickey@invisible-island.net&gt;
529
530
531
532 ncurses 6.4                       2023-08-19                       <STRONG><A HREF="infocmp.1m.html">infocmp(1m)</A></STRONG>
533 </PRE>
534 <div class="nav">
535 <ul>
536 <li><a href="#h2-NAME">NAME</a></li>
537 <li><a href="#h2-SYNOPSIS">SYNOPSIS</a></li>
538 <li><a href="#h2-DESCRIPTION">DESCRIPTION</a>
539 <ul>
540 <li><a href="#h3-Default-Options">Default Options</a></li>
541 <li><a href="#h3-Comparison-Options-_-d_-_-c_-_-n_">Comparison Options [-d] [-c] [-n]</a></li>
542 <li><a href="#h3-Source-Listing-Options-_-I_-_-L_-_-C_-_-r_">Source Listing Options [-I] [-L] [-C] [-r]</a></li>
543 <li><a href="#h3-Use_-Option-_-u_">Use= Option [-u]</a></li>
544 <li><a href="#h3-Other-Options">Other Options</a></li>
545 </ul>
546 </li>
547 <li><a href="#h2-FILES">FILES</a></li>
548 <li><a href="#h2-HISTORY">HISTORY</a></li>
549 <li><a href="#h2-PORTABILITY">PORTABILITY</a></li>
550 <li><a href="#h2-EXTENSIONS">EXTENSIONS</a></li>
551 <li><a href="#h2-BUGS">BUGS</a></li>
552 <li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
553 <li><a href="#h2-AUTHOR">AUTHOR</a></li>
554 </ul>
555 </div>
556 </BODY>
557 </HTML>