ADC Home > Reference Library > Reference > Mac OS X > Mac OS X Man Pages

 

This document is a Mac OS X manual page. Manual pages are a command-line technology for providing documentation. You can view these manual pages locally using the man(1) command. These manual pages come from many different sources, and thus, have a variety of writing styles.

For more information about the manual page format, see the manual page for manpages(5).



infocmp(1M)                                                                                      infocmp(1M)



NAME
       infocmp - compare or print out terminfo descriptions

SYNOPSIS
       infocmp [-1CEFGILTVcdegilnpqrtux]
             [-v n] [-s d| i| l| c] [-R subset]
             [-w width] [-A directory] [-B directory]
             [termname...]

DESCRIPTION
       infocmp  can  be  used to compare a binary terminfo entry with other terminfo entries, rewrite a ter-minfo terminfo
       minfo description to take advantage of the use= terminfo field, or print out a  terminfo  description
       from  the  binary  file  (term)  in  a  variety of formats.  In all cases, the boolean fields will be
       printed first, followed by the numeric fields, followed by the string fields.

   Default Options
       If no options are specified and zero or one termnames are specified, the -I option will  be  assumed.
       If more than one termname is specified, the -d option will be assumed.

   Comparison Options [-d] [-c] [-n]
       infocmp  compares  the  terminfo description of the first terminal termname with each of the descrip-tions descriptions
       tions given by the entries for the other terminal's termnames.  If a capability is defined  for  only
       one  of  the  terminals,  the value returned will depend on the type of the capability: F for boolean
       variables, -1 for integer variables, and NULL for string variables.

       The -d option produces a list of each capability that is different between two entries.  This  option
       is  useful  to  show the difference between two entries, created by different people, for the same or
       similar terminals.

       The -c option produces a list of each capability that is common between  two  entries.   Capabilities
       that  are  not  set are ignored.  This option can be used as a quick check to see if the -u option is
       worth using.

       The -n option produces a list of each capability that is in  neither  entry.   If  no  termnames  are
       given,  the  environment variable TERM will be used for both of the termnames.  This can be used as a
       quick check to see if anything was left out of a description.

   Source Listing Options [-I] [-L] [-C] [-r]
       The -I, -L, and -C options will produce a source listing for each terminal named.


                           -I   use the terminfo names
                           -L   use the long C variable name listed in <term.h>
                           -C   use the termcap names
                           -r   when using -C, put out all capabilities in termcap form

       If no termnames are given, the environment variable TERM will be used for the terminal name.

       The source produced by the -C option may be used directly as a termcap entry, but not all  parameter-ized parameterized
       ized  strings  can  be  changed  to  the termcap format.  infocmp will attempt to convert most of the
       parameterized information, and anything not converted will be plainly marked in the output  and  com-mented commented
       mented out.  These should be edited by hand.

       All  padding  information  for  strings will be collected together and placed at the beginning of the
       string where termcap expects it.  Mandatory padding (padding information with a  trailing  '/')  will
       become optional.

       All  termcap  variables  no longer supported by terminfo, but which are derivable from other terminfo
       variables, will be output.  Not all terminfo capabilities will be translated;  only  those  variables
       which  were  part  of  termcap  will normally be output.  Specifying the -r option will take off this
       restriction, allowing all capabilities to be output in termcap form.

       Note that because padding is collected to the beginning of the capability, not all  capabilities  are
       output.   Mandatory padding is not supported.  Because termcap strings are not as flexible, it is not
       always possible to convert a terminfo string capability into an equivalent termcap format.  A  subse-quent subsequent
       quent  conversion  of  the  termcap file back into terminfo format will not necessarily reproduce the
       original terminfo source.

       Some common terminfo parameter sequences, their termcap equivalents, and some  terminal  types  which
       commonly have such sequences, are:


                          terminfo                    termcap   Representative Terminals
                          ---------------------------------------------------------------%p1%c --------------------------------------------------------------%p1%c
                          %p1%c                       %.        adm
                          %p1%d                       %d        hp, ANSI standard, vt100
                          %p1%'x'%+%c                 %+x       concept
                          %i                          %iq       ANSI standard, vt100
                          %p1%?%'x'%>%t%p1%'y'%+%;    %>xy      concept
                          %p2 is printed before %p1   %r        hp

   Use= Option [-u]
       The -u option produces a terminfo source description of the first terminal termname which is relative
       to the sum of the descriptions given by the entries for the other terminals termnames.  It does  this
       by  analyzing  the  differences  between  the  first termname and the other termnames and producing a
       description with use= fields for the other terminals.  In this manner, it  is  possible  to  retrofit
       generic terminfo entries into a terminal's description.  Or, if two similar terminals exist, but were
       coded at different times or by different people so that each description is a full description, using
       infocmp will show what can be done to change one description to be relative to the other.

       A  capability  will get printed with an at-sign (@) if it no longer exists in the first termname, but
       one of the other termname entries contains a value for it.  A capability's value gets printed if  the
       value in the first termname is not found in any of the other termname entries, or if the first of the
       other termname entries that has this capability gives a different value for the capability than  that
       in the first termname.

       The order of the other termname entries is significant.  Since the terminfo compiler tic does a left-to-right leftto-right
       to-right scan of the capabilities, specifying two use= entries that contain differing entries for the
       same  capabilities  will  produce different results depending on the order that the entries are given
       in.  infocmp will flag any such inconsistencies between the other termname entries as they are found.

       Alternatively,  specifying  a  capability after a use= entry that contains that capability will cause
       the second specification to be ignored.  Using infocmp to recreate a  description  can  be  a  useful
       check to make sure that everything was specified correctly in the original source description.

       Another  error that does not cause incorrect compiled files, but will slow down the compilation time,
       is specifying extra use= fields that are superfluous.  infocmp will  flag  any  other  termname  use=
       fields that were not needed.

   Changing Databases [-A directory] [-B directory]
       The  location of the compiled terminfo database is taken from the environment variable TERMINFO .  If
       the variable is not defined, or the terminal is not found in that location, the system terminfo data-base, database,
       base, in /usr/share/terminfo, will be used.  The options -A and -B may be used to override this loca-tion. location.
       tion.  The -A option will set TERMINFO for the first termname and the -B option will set TERMINFO for
       the  other termnames.  With this, it is possible to compare descriptions for a terminal with the same
       name located in two different databases.  This is useful for comparing descriptions for the same ter-minal terminal
       minal created by different people.

   Other Options
       -1   causes  the  fields to be printed out one to a line.  Otherwise, the fields will be printed sev-eral several
            eral to a line to a maximum width of 60 characters.

       -a   tells infocmp to retain commented-out capabilities rather than  discarding  them.   Capabilities
            are commented by prefixing them with a period.

       -E   Dump  the  capabilities  of  the  given  terminal  as  tables, needed in the C initializer for a
            TERMTYPE structure (the terminal capability structure in the <term.h>).  This option  is  useful
            for  preparing  versions  of the curses library hardwired for a given terminal type.  The tables
            are all declared static, and are named according to the type and the name of  the  corresponding
            terminal entry.

            Before  ncurses  5.0,  the  split  between the -e and -E options was not needed; but support for
            extended names required making the arrays of terminal capabilities separate  from  the  TERMTYPE
            structure.

       -e   Dump  the  capabilities  of  the given terminal as a C initializer for a TERMTYPE structure (the
            terminal capability structure in the <term.h>).  This option is useful for preparing versions of
            the curses library hardwired for a given terminal type.

       -F   compare terminfo files.  This assumes that two following arguments are filenames.  The files are
            searched for pairwise matches between entries, with two entries considered to match  if  any  of
            their  names  do.   The  report  printed to standard output lists entries with no matches in the
            other file, and entries with more than one  match.   For  entries  with  exactly  one  match  it
            includes  a difference report.  Normally, to reduce the volume of the report, use references are
            not resolved before looking for differences, but resolution can be forced by also specifying -r.

       -f   Display complex terminfo strings which contain if/then/else/endif expressions indented for read-ability. readability.
            ability.

       -G   Display constant literals in decimal form rather than their character equivalents.

       -g   Display constant character literals in quoted form rather than their decimal equivalents.

       -i   Analyze the initialization (is1, is2, is3), and reset (rs1, rs2, rs3),  strings  in  the  entry.
            For each string, the code tries to analyze it into actions in terms of the other capabilities in
            the entry, certain X3.64/ISO 6429/ECMA-48 capabilities, and certain DEC VT-series private  modes
            (the  set  of  recognized special sequences has been selected for completeness over the existing
            terminfo database).  Each report line consists of the capability name, followed by a  colon  and
            space,  followed by a printable expansion of the capability string with sections matching recog-nized recognized
            nized actions translated into {}-bracketed descriptions.  Here is a list of the DEC/ANSI special
            sequences recognized:


                                        Action        Meaning
                                        -----------------------------------------RIS ----------------------------------------RIS
                                        RIS           full reset
                                        SC            save cursor
                                        RC            restore cursor
                                        LL            home-down
                                        RSR           reset scroll region

                                        DECSTR        soft reset (VT320)
                                        S7C1T         7-bit controls (VT220)

                                        ISO DEC G0    enable DEC graphics for G0
                                        ISO UK G0     enable UK chars for G0
                                        ISO US G0     enable US chars for G0
                                        ISO DEC G1    enable DEC graphics for G1
                                        ISO UK G1     enable UK chars for G1
                                        ISO US G1     enable US chars for G1

                                        DECPAM        application keypad mode
                                        DECPNM        normal keypad mode
                                        DECANSI       enter ANSI mode

                                        ECMA[+-]AM    keyboard action mode
                                        ECMA[+-]IRM   insert replace mode
                                        ECMA[+-]SRM   send receive mode
                                        ECMA[+-]LNM   linefeed mode

                                        DEC[+-]CKM    application cursor keys
                                        DEC[+-]ANM    set VT52 mode
                                        DEC[+-]COLM   132-column mode

                                        DEC[+-]SCLM   smooth scroll
                                        DEC[+-]SCNM   reverse video mode
                                        DEC[+-]OM     origin mode
                                        DEC[+-]AWM    wraparound mode
                                        DEC[+-]ARM    auto-repeat mode

            It also recognizes a SGR action corresponding to ANSI/ISO 6429/ECMA Set Graphics Rendition, with
            the values NORMAL, BOLD, UNDERLINE, BLINK, and REVERSE.  All but NORMAL may be prefixed with `+'
            (turn on) or `-' (turn off).

            An SGR0 designates an empty highlight sequence (equivalent to {SGR:NORMAL}).

       -l   Set output format to terminfo.

       -p   Ignore padding specifications when comparing strings.

       -q   Make  the comparison listing shorter by omitting subheadings, and using "-" for absent capabili-ties, capabilities,
            ties, "@" for canceled rather than "NULL".

       -Rsubset
            Restrict output to a given subset.  This option is for use with  archaic  versions  of  terminfo
            like  those  on  SVr1, Ultrix, or HP/UX that do not support the full set of SVR4/XSI Curses ter-minfo; terminfo;
            minfo; and variants such as AIX that have  their  own  extensions  incompatible  with  SVr4/XSI.
            Available  terminfo  subsets are "SVr1", "Ultrix", "HP", and "AIX"; see terminfo(5) for details.
            You can also choose the subset "BSD" which selects only capabilities  with  termcap  equivalents
            recognized by 4.4BSD.

       -s [d|i|l|c]
            The -s option sorts the fields within each type according to the argument below:

            d    leave fields in the order that they are stored in the terminfo database.

            i    sort by terminfo name.

            l    sort by the long C variable name.

            c    sort by the termcap name.

            If  the -s option is not given, the fields printed out will be sorted alphabetically by the ter-minfo terminfo
            minfo name within each type, except in the case of the -C or the -L  options,  which  cause  the
            sorting to be done by the termcap name or the long C variable name, respectively.

       -T   eliminates size-restrictions on the generated text.  This is mainly useful for testing and anal-ysis, analysis,
            ysis, since the compiled descriptions are limited (e.g., 1023 for termcap, 4096 for terminfo).

       -t   tells tic to discard commented-out capabilities.  Normally when  translating  from  terminfo  to
            termcap, untranslatable capabilities are commented-out.

       -V   reports the version of ncurses which was used in this program, and exits.

       -v n prints out tracing information on standard error as the program runs.  Higher values of n induce
            greater verbosity.

       -w width
            changes the output to width characters.

       -x   print information for user-defined capabilities.  These are extensions to  the  terminfo  reper-toire repertoire
            toire which can be loaded using the -x option of tic.

FILES
       /usr/share/terminfo Compiled terminal description database.

EXTENSIONS
       The  -E,  -F, -G, -R, -T, -V, -a, -e, -f, -g, -i, -l, -p, -q and -t options are not supported in SVr4
       curses.

       The -r option's notion of `termcap' capabilities is System V Release 4's.  Actual BSD curses versions
       will have a more restricted set.  To see only the 4.4BSD set, use -r -RBSD.

BUGS
       The -F option of infocmp(1M) should be a toe(1M) mode.

SEE ALSO
       infocmp(1M), captoinfo(1M), infotocap(1M), tic(1M), toe(1M), curses(3X), terminfo(5).

AUTHOR
       Eric S. Raymond <esr@snark.thyrsus.com> and
       Thomas E. Dickey <dickey@invisible-island.net>



                                                                                                 infocmp(1M)

Did this document help you?
Yes: Tell us what works for you.
It’s good, but: Report typos, inaccuracies, and so forth.
It wasn’t helpful: Tell us what would have helped.