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