]> ncurses.scripts.mit.edu Git - ncurses.git/blob - doc/html/man/infocmp.1m.html
ncurses 6.4 - patch 20231007
[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.96 2023/10/07 21:19:07 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-10-07 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-10-07 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>, as well as the <EM>Fetching</EM>
223        <EM>Compiled</EM> <EM>Descriptions</EM> section in <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>.
224
225        You can also use the options <STRONG>-A</STRONG> and <STRONG>-B</STRONG> to override the list  of  places
226        to search when comparing terminal descriptions:
227
228        <STRONG>o</STRONG>   The <STRONG>-A</STRONG> option sets the location for the first <EM>termname</EM>
229
230        <STRONG>o</STRONG>   The <STRONG>-B</STRONG> option sets the location for the other <EM>termnames</EM>.
231
232        Using  these  options,  it  is  possible  to compare descriptions for a
233        terminal with the same name located in two  different  databases.   For
234        instance,  you  can use this feature for comparing descriptions for the
235        same terminal created by different people.
236
237
238 </PRE><H3><a name="h3-Other-Options">Other Options</a></H3><PRE>
239        <STRONG>-0</STRONG>   causes the fields to be printed on one line, without wrapping.
240
241        <STRONG>-1</STRONG>   causes the fields to be printed out one to a line.  Otherwise, the
242             fields  will be printed several to a line to a maximum width of 60
243             characters.
244
245        <STRONG>-a</STRONG>   tells <STRONG>infocmp</STRONG> to retain  commented-out  capabilities  rather  than
246             discarding  them.   Capabilities  are  commented by prefixing them
247             with a period.
248
249        <STRONG>-D</STRONG>   tells <STRONG>infocmp</STRONG> to print the database locations that it knows about,
250             and exit.
251
252        <STRONG>-E</STRONG>   Dump  the  capabilities of the given terminal as tables, needed in
253             the  C  initializer  for  a  TERMTYPE  structure   (the   terminal
254             capability  structure in the <STRONG>&lt;term.h&gt;</STRONG>).  This option is useful for
255             preparing versions of the curses library  hardwired  for  a  given
256             terminal  type.  The tables are all declared static, and are named
257             according to the type and the name of the  corresponding  terminal
258             entry.
259
260             Before  ncurses  5.0,  the split between the <STRONG>-e</STRONG> and <STRONG>-E</STRONG> options was
261             not needed; but support for extended  names  required  making  the
262             arrays   of  terminal  capabilities  separate  from  the  TERMTYPE
263             structure.
264
265        <STRONG>-e</STRONG>   Dump the capabilities of the given terminal as a C initializer for
266             a  TERMTYPE  structure  (the  terminal capability structure in the
267             <STRONG>&lt;term.h&gt;</STRONG>).  This option is useful for preparing  versions  of  the
268             curses library hardwired for a given terminal type.
269
270        <STRONG>-F</STRONG>   compare terminfo files.  This assumes that two following arguments
271             are filenames.   The  files  are  searched  for  pairwise  matches
272             between  entries,  with  two entries considered to match if any of
273             their names do.  The  report  printed  to  standard  output  lists
274             entries  with  no matches in the other file, and entries with more
275             than one match.  For entries with exactly one match it includes  a
276             difference  report.  Normally, to reduce the volume of the report,
277             use references are not resolved before  looking  for  differences,
278             but resolution can be forced by also specifying <STRONG>-r</STRONG>.
279
280        <STRONG>-f</STRONG>   Display  complex terminfo strings which contain if/then/else/endif
281             expressions indented for readability.
282
283        <STRONG>-G</STRONG>   Display constant  literals  in  decimal  form  rather  than  their
284             character equivalents.
285
286        <STRONG>-g</STRONG>   Display  constant  character  literals  in quoted form rather than
287             their decimal equivalents.
288
289        <STRONG>-i</STRONG>   Analyze the initialization (<STRONG>is1</STRONG>, <STRONG>is2</STRONG>, <STRONG>is3</STRONG>), and reset  (<STRONG>rs1</STRONG>,  <STRONG>rs2</STRONG>,
290             <STRONG>rs3</STRONG>),   strings   in   the  entry,  as  well  as  those  used  for
291             starting/stopping cursor-positioning mode (<STRONG>smcup</STRONG>, <STRONG>rmcup</STRONG>)  as  well
292             as starting/stopping keymap mode (<STRONG>smkx</STRONG>, <STRONG>rmkx</STRONG>).
293
294             For  each  string,  the  code  tries to analyze it into actions in
295             terms of the other capabilities in the  entry,  certain  X3.64/ISO
296             6429/ECMA-48 capabilities, and certain DEC VT-series private modes
297             (the set of recognized special sequences  has  been  selected  for
298             completeness  over  the  existing terminfo database).  Each report
299             line consists of the capability name,  followed  by  a  colon  and
300             space,  followed by a printable expansion of the capability string
301             with  sections  matching  recognized   actions   translated   into
302             {}-bracketed descriptions.
303
304             Here is a list of the DEC/ANSI special sequences recognized:
305
306                       Action        Meaning
307                       -----------------------------------------
308                       RIS           full reset
309                       SC            save cursor
310                       RC            restore cursor
311                       LL            home-down
312                       RSR           reset scroll region
313                       -----------------------------------------
314                       DECSTR        soft reset (VT320)
315
316
317                       S7C1T         7-bit controls (VT220)
318                       -----------------------------------------
319                       ISO DEC G0    enable DEC graphics for G0
320                       ISO UK G0     enable UK chars for G0
321                       ISO US G0     enable US chars for G0
322                       ISO DEC G1    enable DEC graphics for G1
323                       ISO UK G1     enable UK chars for G1
324                       ISO US G1     enable US chars for G1
325                       -----------------------------------------
326                       DECPAM        application keypad mode
327                       DECPNM        normal keypad mode
328                       DECANSI       enter ANSI mode
329                       -----------------------------------------
330                       ECMA[+-]AM    keyboard action mode
331                       ECMA[+-]IRM   insert replace mode
332                       ECMA[+-]SRM   send receive mode
333                       ECMA[+-]LNM   linefeed mode
334                       -----------------------------------------
335                       DEC[+-]CKM    application cursor keys
336                       DEC[+-]ANM    set VT52 mode
337                       DEC[+-]COLM   132-column mode
338                       DEC[+-]SCLM   smooth scroll
339                       DEC[+-]SCNM   reverse video mode
340                       DEC[+-]OM     origin mode
341                       DEC[+-]AWM    wraparound mode
342                       DEC[+-]ARM    auto-repeat mode
343
344        It also recognizes a SGR action corresponding to ANSI/ISO 6429/ECMA Set
345        Graphics Rendition, with the values NORMAL, BOLD, UNDERLINE, BLINK, and
346        REVERSE.  All but NORMAL may be prefixed with
347
348               <STRONG>o</STRONG>   "+" (turn on) or
349
350               <STRONG>o</STRONG>   "-" (turn off).
351
352               An  SGR0  designates  an empty highlight sequence (equivalent to
353               {SGR:NORMAL}).
354
355        <STRONG>-l</STRONG>   Set output format to terminfo.
356
357        <STRONG>-p</STRONG>   Ignore padding specifications when comparing strings.
358
359        <STRONG>-Q</STRONG> <EM>n</EM> Rather than show source  in  terminfo  (text)  format,  print  the
360             compiled  (binary) format in hexadecimal or base64 form, depending
361             on the option's value:
362
363                1  hexadecimal
364
365                2  base64
366
367                3  hexadecimal and base64
368
369             For example, this prints the compiled terminfo value as  a  string
370             which could be assigned to the <STRONG>TERMINFO</STRONG> environment variable:
371
372                 infocmp -0 -q -Q2
373
374        <STRONG>-q</STRONG>   This makes the output a little shorter:
375
376             <STRONG>o</STRONG>   Make  the  comparison listing shorter by omitting subheadings,
377                 and using "-" for absent capabilities, "@" for canceled rather
378                 than "NULL".
379
380             <STRONG>o</STRONG>   However,   show   differences  between  absent  and  cancelled
381                 capabilities.
382
383             <STRONG>o</STRONG>   Omit the "Reconstructed from" comment for source listings.
384
385        <STRONG>-R</STRONG><EM>subset</EM>
386             Restrict output to a given subset.  This option is  for  use  with
387             archaic  versions of terminfo like those on SVr1, Ultrix, or HP-UX
388             that do not support the full set of SVR4/XSI Curses terminfo;  and
389             variants  such  as AIX that have their own extensions incompatible
390             with SVr4/XSI.
391
392             <STRONG>o</STRONG>   Available terminfo subsets are  "SVr1",  "Ultrix",  "HP",  and
393                 "AIX"; see <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG> for details.
394
395             <STRONG>o</STRONG>   You  can  also  choose  the  subset  "BSD"  which selects only
396                 capabilities with termcap equivalents recognized by 4.4BSD.
397
398             <STRONG>o</STRONG>   If you select any other value for <STRONG>-R</STRONG>, it is  the  same  as  no
399                 subset, i.e., all capabilities are used.
400
401             A  few  options  override the subset selected with <STRONG>-R</STRONG>, if they are
402             processed later in the command parameters:
403
404             <STRONG>-C</STRONG>   sets the "BSD" subset as a side-effect.
405
406             <STRONG>-I</STRONG>   sets the subset to all capabilities.
407
408             <STRONG>-r</STRONG>   sets the subset to all capabilities.
409
410        <STRONG>-s</STRONG> <EM>[d|i|l|c]</EM>
411             The <STRONG>-s</STRONG> option sorts the fields within each type according  to  the
412             argument below:
413
414             <STRONG>d</STRONG>    leave  fields  in  the  order  that  they  are  stored in the
415                  <EM>terminfo</EM> database.
416
417             <STRONG>i</STRONG>    sort by <EM>terminfo</EM> name.
418
419             <STRONG>l</STRONG>    sort by the long C variable name.
420
421             <STRONG>c</STRONG>    sort by the <EM>termcap</EM> name.
422
423             If the <STRONG>-s</STRONG> option is not given, the  fields  printed  out  will  be
424             sorted  alphabetically  by  the  <STRONG>terminfo</STRONG>  name  within each type,
425             except in the case of the <STRONG>-C</STRONG> or the <STRONG>-L</STRONG> options,  which  cause  the
426             sorting  to  be  done  by  the <STRONG>termcap</STRONG> name or the long C variable
427             name, respectively.
428
429        <STRONG>-T</STRONG>   eliminates size-restrictions  on  the  generated  text.   This  is
430             mainly  useful  for  testing  and  analysis,  since  the  compiled
431             descriptions  are  limited  (e.g.,  1023  for  termcap,  4096  for
432             terminfo).
433
434        <STRONG>-t</STRONG>   tells  <STRONG>tic</STRONG>  to  discard commented-out capabilities.  Normally when
435             translating from terminfo to termcap, untranslatable  capabilities
436             are commented-out.
437
438        <STRONG>-U</STRONG>   tells  <STRONG>infocmp</STRONG>  to  not  post-process  the  data after parsing the
439             source  file.   This  feature  helps  when  comparing  the  actual
440             contents  of  two  source  files, since it excludes the inferences
441             that <STRONG>infocmp</STRONG> makes to fill in missing data.
442
443        <STRONG>-V</STRONG>   reports the version of ncurses which was used in this program, and
444             exits.
445
446        <STRONG>-v</STRONG> <EM>n</EM> prints  out  tracing  information on standard error as the program
447             runs.
448
449             The optional parameter <EM>n</EM> is a number  from  1  to  10,  inclusive,
450             indicating the desired level of detail of information.  If ncurses
451             is built  without  tracing  support,  the  optional  parameter  is
452             ignored.
453
454        <STRONG>-W</STRONG>   By  itself,  the  <STRONG>-w</STRONG>  option  will  not  force  long strings to be
455             wrapped.  Use the <STRONG>-W</STRONG> option to do this.
456
457        <STRONG>-w</STRONG> <EM>width</EM>
458             changes the output to <EM>width</EM> characters.
459
460        <STRONG>-x</STRONG>   print information for user-defined capabilities (see <STRONG>user_caps(5)</STRONG>.
461             These  are  extensions  to  the  terminfo  repertoire which can be
462             loaded using the <STRONG>-x</STRONG> option of <STRONG>tic</STRONG>.
463
464
465 </PRE><H2><a name="h2-FILES">FILES</a></H2><PRE>
466        /usr/share/terminfo Compiled terminal description database.
467
468
469 </PRE><H2><a name="h2-HISTORY">HISTORY</a></H2><PRE>
470        Although System V Release 2 provided a  terminfo  library,  it  had  no
471        documented tool for decompiling the terminal descriptions.  Tony Hansen
472        (AT&amp;T) wrote the first <STRONG>infocmp</STRONG> in early 1984, for System V Release 3.
473
474        Eric Raymond  used  the  AT&amp;T  documentation  in  1995  to  provide  an
475        equivalent  <STRONG>infocmp</STRONG>  for  ncurses.   In  addition,  he  added a few new
476        features such as:
477
478        <STRONG>o</STRONG>   the  <STRONG>-e</STRONG>  option,  to  support   <EM>fallback</EM>   (compiled-in)   terminal
479            descriptions
480
481        <STRONG>o</STRONG>   the <STRONG>-i</STRONG> option, to help with analysis
482
483        Later,  Thomas  Dickey added the <STRONG>-x</STRONG> (user-defined capabilities) option,
484        and the  <STRONG>-E</STRONG>  option  to  support  fallback  entries  with  user-defined
485        capabilities.
486
487        For a complete list, see the <EM>EXTENSIONS</EM> section.
488
489        In  2010,  Roy  Marples  provided an <STRONG>infocmp</STRONG> program for NetBSD.  It is
490        less capable than the SVr4 or ncurses  versions  (e.g.,  it  lacks  the
491        sorting  options  documented in X/Open), but does include the <STRONG>-x</STRONG> option
492        adapted from ncurses.
493
494
495 </PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
496        X/Open Curses, Issue 7 (2009) provides a description  of  <STRONG>infocmp</STRONG>.   It
497        does not mention the options used for converting to termcap format.
498
499
500 </PRE><H2><a name="h2-EXTENSIONS">EXTENSIONS</a></H2><PRE>
501        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>
502        and <STRONG>-t</STRONG> options are not supported in SVr4 curses.
503
504        SVr4  infocmp  does  not  distinguish  between  absent  and   cancelled
505        capabilities.   Also,  it shows missing integer capabilities as <STRONG>-1</STRONG> (the
506        internal   value   used   to   represent   missing   integers).    This
507        implementation  shows  those  as  "NULL",  for consistency with missing
508        strings.
509
510        The <STRONG>-r</STRONG> option's notion of "termcap" capabilities is  System  V  Release
511        4's.   Actual  BSD curses versions will have a more restricted set.  To
512        see only the 4.4BSD set, use <STRONG>-r</STRONG> <STRONG>-RBSD</STRONG>.
513
514
515 </PRE><H2><a name="h2-BUGS">BUGS</a></H2><PRE>
516        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.
517
518
519 </PRE><H2><a name="h2-AUTHOR">AUTHOR</a></H2><PRE>
520        Eric S. Raymond &lt;esr@snark.thyrsus.com&gt; and
521        Thomas E. Dickey &lt;dickey@invisible-island.net&gt;
522
523
524 </PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
525        <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>,
526        <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>, <STRONG><A HREF="user_caps.5.html">user_caps(5)</A></STRONG>
527
528        https://invisible-island.net/ncurses/tctest.html
529
530
531
532 ncurses 6.4                       2023-10-07                       <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-AUTHOR">AUTHOR</a></li>
553 <li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
554 </ul>
555 </div>
556 </BODY>
557 </HTML>