diff options
Diffstat (limited to 'doc/html/man/infocmp.1m.html')
-rw-r--r-- | doc/html/man/infocmp.1m.html | 817 |
1 files changed, 447 insertions, 370 deletions
diff --git a/doc/html/man/infocmp.1m.html b/doc/html/man/infocmp.1m.html index 443938b..0f1f0e5 100644 --- a/doc/html/man/infocmp.1m.html +++ b/doc/html/man/infocmp.1m.html @@ -1,8 +1,8 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"> <!-- * t **************************************************************************** - * Copyright (c) 1998-2013,2014 Free Software Foundation, Inc. * + * Copyright 2018-2019,2020 Thomas E. Dickey * + * Copyright 1998-2017,2018 Free Software Foundation, Inc. * * * * Permission is hereby granted, free of charge, to any person obtaining a * * copy of this software and associated documentation files (the * @@ -28,359 +28,383 @@ * sale, use or other dealings in this Software without prior written * * authorization. * **************************************************************************** - * @Id: infocmp.1m,v 1.54 2014/03/29 23:18:29 tom Exp @ + * @Id: infocmp.1m,v 1.76 2020/02/02 23:34:34 tom Exp @ --> +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"> <HTML> <HEAD> +<meta http-equiv="Content-Type" content="text/html; charset=us-ascii"> +<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts"> <TITLE>infocmp 1m</TITLE> -<link rev=made href="mailto:bug-ncurses@gnu.org"> +<link rel="author" href="mailto:bug-ncurses@gnu.org"> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> </HEAD> <BODY> -<H1>infocmp 1m</H1> -<HR> +<H1 class="no-header">infocmp 1m</H1> <PRE> -<!-- Manpage converted by man2html 3.0.1 --> -<STRONG><A HREF="infocmp.1m.html">infocmp(1m)</A></STRONG> <STRONG><A HREF="infocmp.1m.html">infocmp(1m)</A></STRONG> +<STRONG><A HREF="infocmp.1m.html">infocmp(1m)</A></STRONG> <STRONG><A HREF="infocmp.1m.html">infocmp(1m)</A></STRONG> -</PRE> -<H2>NAME</H2><PRE> +</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE> <STRONG>infocmp</STRONG> - compare or print out <EM>terminfo</EM> descriptions -</PRE> -<H2>SYNOPSIS</H2><PRE> - <STRONG>infocmp</STRONG> [<STRONG>-1CDEFGIKLTUVcdegilnpqrtux</STRONG>] - [<STRONG>-v</STRONG> <EM>n</EM>] [<STRONG>-s</STRONG> <STRONG>d</STRONG>| <STRONG>i</STRONG>| <STRONG>l</STRONG>| <STRONG>c</STRONG>] [<STRONG>-R</STRONG> <STRONG>subset</STRONG>] +</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE> + <STRONG>infocmp</STRONG> [<STRONG>-1CDEFGIKLTUVWcdegilnpqrtux</STRONG>] + [<STRONG>-v</STRONG> <EM>n</EM>] [<STRONG>-s</STRONG> <STRONG>d</STRONG>| <STRONG>i</STRONG>| <STRONG>l</STRONG>| <STRONG>c</STRONG>] [<STRONG>-Q</STRONG> <EM>n</EM>] [<STRONG>-R</STRONG> <STRONG>subset</STRONG>] [<STRONG>-w</STRONG> <EM>width</EM>] [<STRONG>-A</STRONG> <EM>directory</EM>] [<STRONG>-B</STRONG> <EM>directory</EM>] [<EM>termname</EM>...] -</PRE> -<H2>DESCRIPTION</H2><PRE> - <STRONG>infocmp</STRONG> can be used to compare a binary <STRONG>terminfo</STRONG> entry - with other terminfo entries, rewrite a <STRONG>terminfo</STRONG> descrip- - tion to take advantage of the <STRONG>use=</STRONG> terminfo field, or - print out a <STRONG>terminfo</STRONG> description from the binary file - (<STRONG>term</STRONG>) in a variety of formats. In all cases, the boolean - fields will be printed first, followed by the numeric - fields, followed by the string fields. - - <STRONG>Default</STRONG> <STRONG>Options</STRONG> - If no options are specified and zero or one <EM>termnames</EM> are - specified, the <STRONG>-I</STRONG> option will be assumed. If more than - one <EM>termname</EM> is specified, the <STRONG>-d</STRONG> option will be assumed. - - <STRONG>Comparison</STRONG> <STRONG>Options</STRONG> <STRONG>[-d]</STRONG> <STRONG>[-c]</STRONG> <STRONG>[-n]</STRONG> - <STRONG>infocmp</STRONG> compares the <STRONG>terminfo</STRONG> description of the first - terminal <EM>termname</EM> with each of the descriptions given by - the entries for the other terminal's <EM>termnames</EM>. If a - capability is defined for only one of the terminals, the - value returned will depend on the type of the capability: - <STRONG>F</STRONG> for boolean variables, <STRONG>-1</STRONG> for integer variables, and - <STRONG>NULL</STRONG> for string variables. - - The <STRONG>-d</STRONG> 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 dif- - ferent people, for the same or similar terminals. - - The <STRONG>-c</STRONG> option produces a list of each capability that is - common between two or more entries. Capabilities that are - not set are ignored. This option can be used as a quick - check to see if the <STRONG>-u</STRONG> option is worth using. - - The <STRONG>-n</STRONG> option produces a list of each capability that is - in none of the given entries. If no <EM>termnames</EM> are given, - the environment variable <STRONG>TERM</STRONG> will be used for both of the - <EM>termnames</EM>. This can be used as a quick check to see if - anything was left out of a description. - - <STRONG>Source</STRONG> <STRONG>Listing</STRONG> <STRONG>Options</STRONG> <STRONG>[-I]</STRONG> <STRONG>[-L]</STRONG> <STRONG>[-C]</STRONG> <STRONG>[-r]</STRONG> - The <STRONG>-I</STRONG>, <STRONG>-L</STRONG>, and <STRONG>-C</STRONG> options will produce a source listing - for each terminal named. - - <STRONG>-I</STRONG> use the <STRONG>terminfo</STRONG> names - <STRONG>-L</STRONG> use the long C variable name listed in <<STRONG>term.h</STRONG>> - <STRONG>-C</STRONG> use the <STRONG>termcap</STRONG> names - <STRONG>-r</STRONG> when using <STRONG>-C</STRONG>, put out all capabilities in <STRONG>termcap</STRONG> form - <STRONG>-K</STRONG> modifies the <STRONG>-C</STRONG> option, improving BSD-compatibility. - - If no <EM>termnames</EM> are given, the environment variable <STRONG>TERM</STRONG> - will be used for the terminal name. - - The source produced by the <STRONG>-C</STRONG> option may be used directly - as a <STRONG>termcap</STRONG> entry, but not all parameterized strings can - be changed to the <STRONG>termcap</STRONG> format. <STRONG>infocmp</STRONG> will attempt to - convert most of the parameterized information, and any- - thing not converted will be plainly marked in the output - and commented out. These should be edited by hand. - - For best results when converting to <STRONG>termcap</STRONG> format, you - should use both <STRONG>-C</STRONG> and <STRONG>-r</STRONG>. Normally a termcap description - is limited to 1023 bytes. infocmp trims away less essen- - tial parts to make it fit. If you are converting to one - of the (rare) termcap implementations which accept an - unlimited size of termcap, you may want to add the <STRONG>-T</STRONG> - option. More often however, you must help the termcap - implementation, and trim excess whitespace (use the <STRONG>-0</STRONG> - option for that). - - All padding information for strings will be collected - together and placed at the beginning of the string where - <STRONG>termcap</STRONG> expects it. Mandatory padding (padding informa- - tion with a trailing '/') will become optional. - - All <STRONG>termcap</STRONG> variables no longer supported by <STRONG>terminfo</STRONG>, but - which are derivable from other <STRONG>terminfo</STRONG> variables, will be - output. Not all <STRONG>terminfo</STRONG> capabilities will be translated; - only those variables which were part of <STRONG>termcap</STRONG> will nor- - mally be output. Specifying the <STRONG>-r</STRONG> option will take off - this restriction, allowing all capabilities to be output - in <EM>termcap</EM> form. Normally you would use both the <STRONG>-C</STRONG> and - <STRONG>-r</STRONG> options. The actual format used incorporates some - improvements for escaped characters from terminfo format. - For a stricter BSD-compatible translation, use the <STRONG>-K</STRONG> - option rather than <STRONG>-C</STRONG>. - - Note that because padding is collected to the beginning of - the capability, not all capabilities are output. Manda- - tory padding is not supported. Because <STRONG>termcap</STRONG> strings - are not as flexible, it is not always possible to convert - a <STRONG>terminfo</STRONG> string capability into an equivalent <STRONG>termcap</STRONG> - format. A subsequent conversion of the <STRONG>termcap</STRONG> file back - into <STRONG>terminfo</STRONG> format will not necessarily reproduce the - original <STRONG>terminfo</STRONG> source. - - Some common <STRONG>terminfo</STRONG> parameter sequences, their <STRONG>termcap</STRONG> - equivalents, and some terminal types which commonly have - such sequences, are: - - <STRONG>terminfo</STRONG> <STRONG>termcap</STRONG> Representative Terminals - --------------------------------------------------------------- - <STRONG>%p1%c</STRONG> <STRONG>%.</STRONG> adm - <STRONG>%p1%d</STRONG> <STRONG>%d</STRONG> hp, ANSI standard, vt100 - <STRONG>%p1%'x'%+%c</STRONG> <STRONG>%+x</STRONG> concept - <STRONG>%i</STRONG> <STRONG>%i</STRONG>q ANSI standard, vt100 - <STRONG>%p1%?%'x'%>%t%p1%'y'%+%;</STRONG> <STRONG>%>xy</STRONG> concept - <STRONG>%p2</STRONG> is printed before <STRONG>%p1</STRONG> <STRONG>%r</STRONG> hp - - <STRONG>Use=</STRONG> <STRONG>Option</STRONG> <STRONG>[-u]</STRONG> - The <STRONG>-u</STRONG> option produces a <STRONG>terminfo</STRONG> source description of - the first terminal <EM>termname</EM> which is relative to the sum - of the descriptions given by the entries for the other - terminals <EM>termnames</EM>. It does this by analyzing the dif- - ferences between the first <EM>termname</EM> and the other - <EM>termnames</EM> and producing a description with <STRONG>use=</STRONG> fields for - the other terminals. In this manner, it is possible to - retrofit generic terminfo entries into a terminal's - description. Or, if two similar terminals exist, but were - coded at different times or by different people so that - each description is a full description, using <STRONG>infocmp</STRONG> will - show what can be done to change one description to be rel- - ative to the other. - - A capability will get printed with an at-sign (@) if it no - longer exists in the first <EM>termname</EM>, but one of the other - <EM>termname</EM> entries contains a value for it. A capability's - value gets printed if the value in the first <EM>termname</EM> is - not found in any of the other <EM>termname</EM> entries, or if the - first of the other <EM>termname</EM> entries that has this capabil- - ity gives a different value for the capability than that - in the first <EM>termname</EM>. - - The order of the other <EM>termname</EM> entries is significant. - Since the terminfo compiler <STRONG>tic</STRONG> does a left-to-right scan - of the capabilities, specifying two <STRONG>use=</STRONG> entries that con- - tain differing entries for the same capabilities will pro- - duce different results depending on the order that the - entries are given in. <STRONG>infocmp</STRONG> will flag any such incon- - sistencies between the other <EM>termname</EM> entries as they are - found. - - Alternatively, specifying a capability <EM>after</EM> a <STRONG>use=</STRONG> entry - that contains that capability will cause the second speci- - fication to be ignored. Using <STRONG>infocmp</STRONG> to recreate a - description can be a useful check to make sure that every- - thing was specified correctly in the original source +</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE> + <STRONG>infocmp</STRONG> can be used to compare a binary <STRONG>terminfo</STRONG> entry with other ter- + minfo entries, rewrite a <STRONG>terminfo</STRONG> description to take advantage of the + <STRONG>use=</STRONG> terminfo field, or print out a <STRONG>terminfo</STRONG> description from the + binary file (<STRONG>term</STRONG>) in a variety of formats. In all cases, the boolean + fields will be printed first, followed by the numeric fields, followed + by the string fields. + + +</PRE><H3><a name="h3-Default-Options">Default Options</a></H3><PRE> + If no options are specified and zero or one <EM>termnames</EM> are specified, + the <STRONG>-I</STRONG> option will be assumed. If more than one <EM>termname</EM> is specified, + the <STRONG>-d</STRONG> option will be assumed. + + +</PRE><H3><a name="h3-Comparison-Options-_-d_-_-c_-_-n_">Comparison Options [-d] [-c] [-n]</a></H3><PRE> + <STRONG>infocmp</STRONG> compares the <STRONG>terminfo</STRONG> description of the first terminal + <EM>termname</EM> with each of the descriptions given by the entries for the + other terminal's <EM>termnames</EM>. If a capability is defined for only one of + the terminals, the value returned depends on the type of the capabil- + ity: + + <STRONG>o</STRONG> <STRONG>F</STRONG> for missing boolean variables + + <STRONG>o</STRONG> <STRONG>NULL</STRONG> for missing integer or string variables + + Use the <STRONG>-q</STRONG> option to show the distinction between <EM>absent</EM> and <EM>cancelled</EM> + capabilities. + + These options produce a list which you can use to compare two or more + terminal descriptions: + + <STRONG>-d</STRONG> produces a list of each capability that is <EM>different</EM> between two + entries. Each item in the list shows ":" after the capability + name, followed by the capability values, separated by a comma. + + <STRONG>-c</STRONG> produces a list of each capability that is <EM>common</EM> between two or + more entries. Missing capabilities are ignored. Each item in the + list shows "=" after the capability name, followed by the capabil- + ity value. + + The <STRONG>-u</STRONG> option provides a related output, showing the first termi- + nal description rewritten to use the second as a building block + via the "use=" clause. + + <STRONG>-n</STRONG> produces a list of each capability that is in <EM>none</EM> of the given + entries. Each item in the list shows "!" before the capability + name. + + Normally only the conventional capabilities are shown. Use the <STRONG>-x</STRONG> + option to add the BSD-compatibility capabilities (names prefixed + with "OT"). + + If no <EM>termnames</EM> are given, <STRONG>infocmp</STRONG> uses the environment variable + <STRONG>TERM</STRONG> for each of the <EM>termnames</EM>. + + +</PRE><H3><a name="h3-Source-Listing-Options-_-I_-_-L_-_-C_-_-r_">Source Listing Options [-I] [-L] [-C] [-r]</a></H3><PRE> + The <STRONG>-I</STRONG>, <STRONG>-L</STRONG>, and <STRONG>-C</STRONG> options will produce a source listing for each ter- + minal named. + + <STRONG>-I</STRONG> use the <STRONG>terminfo</STRONG> names + <STRONG>-L</STRONG> use the long C variable name listed in <<STRONG>term.h</STRONG>> + <STRONG>-C</STRONG> use the <STRONG>termcap</STRONG> names + <STRONG>-r</STRONG> when using <STRONG>-C</STRONG>, put out all capabilities in <STRONG>termcap</STRONG> form + <STRONG>-K</STRONG> modifies the <STRONG>-C</STRONG> option, improving BSD-compatibility. + + If no <EM>termnames</EM> are given, the environment variable <STRONG>TERM</STRONG> will be used + for the terminal name. + + The source produced by the <STRONG>-C</STRONG> option may be used directly as a <STRONG>termcap</STRONG> + entry, but not all parameterized strings can be changed to the <STRONG>termcap</STRONG> + format. <STRONG>infocmp</STRONG> will attempt to convert most of the parameterized + information, and anything not converted will be plainly marked in the + output and commented out. These should be edited by hand. + + For best results when converting to <STRONG>termcap</STRONG> format, you should use both + <STRONG>-C</STRONG> and <STRONG>-r</STRONG>. Normally a termcap description is limited to 1023 bytes. + <STRONG>infocmp</STRONG> trims away less essential parts to make it fit. If you are + converting to one of the (rare) termcap implementations which accept an + unlimited size of termcap, you may want to add the <STRONG>-T</STRONG> option. More + often however, you must help the termcap implementation, and trim + excess whitespace (use the <STRONG>-0</STRONG> option for that). + + All padding information for strings will be collected together and + placed at the beginning of the string where <STRONG>termcap</STRONG> expects it. Manda- + tory padding (padding information with a trailing "/") will become + optional. + + All <STRONG>termcap</STRONG> variables no longer supported by <STRONG>terminfo</STRONG>, but which are + derivable from other <STRONG>terminfo</STRONG> variables, will be output. Not all <STRONG>ter-</STRONG> + <STRONG>minfo</STRONG> capabilities will be translated; only those variables which were + part of <STRONG>termcap</STRONG> will normally be output. Specifying the <STRONG>-r</STRONG> option will + take off this restriction, allowing all capabilities to be output in + <EM>termcap</EM> form. Normally you would use both the <STRONG>-C</STRONG> and <STRONG>-r</STRONG> options. The + actual format used incorporates some improvements for escaped charac- + ters from terminfo format. For a stricter BSD-compatible translation, + use the <STRONG>-K</STRONG> option rather than <STRONG>-C</STRONG>. + + Note that because padding is collected to the beginning of the capabil- + ity, not all capabilities are output. Mandatory padding is not sup- + ported. Because <STRONG>termcap</STRONG> strings are not as flexible, it is not always + possible to convert a <STRONG>terminfo</STRONG> string capability into an equivalent + <STRONG>termcap</STRONG> format. A subsequent conversion of the <STRONG>termcap</STRONG> file back into + <STRONG>terminfo</STRONG> format will not necessarily reproduce the original <STRONG>terminfo</STRONG> + source. + + Some common <STRONG>terminfo</STRONG> parameter sequences, their <STRONG>termcap</STRONG> equivalents, + and some terminal types which commonly have such sequences, are: + + <STRONG>terminfo</STRONG> <STRONG>termcap</STRONG> Representative Terminals + --------------------------------------------------------------- + <STRONG>%p1%c</STRONG> <STRONG>%.</STRONG> adm + <STRONG>%p1%d</STRONG> <STRONG>%d</STRONG> hp, ANSI standard, vt100 + <STRONG>%p1%'x'%+%c</STRONG> <STRONG>%+x</STRONG> concept + <STRONG>%i</STRONG> <STRONG>%i</STRONG>q ANSI standard, vt100 + <STRONG>%p1%?%'x'%>%t%p1%'y'%+%;</STRONG> <STRONG>%>xy</STRONG> concept + <STRONG>%p2</STRONG> is printed before <STRONG>%p1</STRONG> <STRONG>%r</STRONG> hp + + +</PRE><H3><a name="h3-Use_-Option-_-u_">Use= Option [-u]</a></H3><PRE> + The <STRONG>-u</STRONG> option produces a <STRONG>terminfo</STRONG> source description of the first ter- + minal <EM>termname</EM> which is relative to the sum of the descriptions given + by the entries for the other terminals <EM>termnames</EM>. It does this by ana- + lyzing the differences between the first <EM>termname</EM> and the other + <EM>termnames</EM> and producing a description with <STRONG>use=</STRONG> fields for the other + terminals. In this manner, it is possible to retrofit generic terminfo + entries into a terminal's description. Or, if two similar terminals + exist, but were coded at different times or by different people so that + each description is a full description, using <STRONG>infocmp</STRONG> will show what + can be done to change one description to be relative to the other. + + A capability will get printed with an at-sign (@) if it no longer + exists in the first <EM>termname</EM>, but one of the other <EM>termname</EM> entries + contains a value for it. A capability's value gets printed if the + value in the first <EM>termname</EM> is not found in any of the other <EM>termname</EM> + entries, or if the first of the other <EM>termname</EM> entries that has this + capability gives a different value for the capability than that in the + first <EM>termname</EM>. + + The order of the other <EM>termname</EM> entries is significant. Since the ter- + minfo compiler <STRONG>tic</STRONG> does a left-to-right scan of the capabilities, spec- + ifying two <STRONG>use=</STRONG> entries that contain differing entries for the same + capabilities will produce different results depending on the order that + the entries are given in. <STRONG>infocmp</STRONG> will flag any such inconsistencies + between the other <EM>termname</EM> entries as they are found. + + Alternatively, specifying a capability <EM>after</EM> a <STRONG>use=</STRONG> entry that contains + that capability will cause the second specification to be ignored. + Using <STRONG>infocmp</STRONG> to recreate a description can be a useful check to make + sure that everything was specified correctly in the original source description. - Another error that does not cause incorrect compiled - files, but will slow down the compilation time, is speci- - fying extra <STRONG>use=</STRONG> fields that are superfluous. <STRONG>infocmp</STRONG> - will flag any other <EM>termname</EM> <EM>use=</EM> fields that were not - needed. + Another error that does not cause incorrect compiled files, but will + slow down the compilation time, is specifying extra <STRONG>use=</STRONG> fields that + are superfluous. <STRONG>infocmp</STRONG> will flag any other <EM>termname</EM> <EM>use=</EM> fields that + were not needed. <STRONG>Changing</STRONG> <STRONG>Databases</STRONG> <STRONG>[-A</STRONG> <EM>directory</EM>] [-B <EM>directory</EM>] - Like other <STRONG>ncurses</STRONG> utilities, infocmp looks for the termi- - nal descriptions in several places. You can use the <STRONG>TER-</STRONG> - <STRONG>MINFO</STRONG> and <STRONG>TERMINFO_DIRS</STRONG> environment variables to override - the compiled-in default list of places to search (see - <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG> for details). + Like other <STRONG>ncurses</STRONG> utilities, <STRONG>infocmp</STRONG> looks for the terminal descrip- + tions in several places. You can use the <STRONG>TERMINFO</STRONG> and <STRONG>TERMINFO_DIRS</STRONG> + environment variables to override the compiled-in default list of + places to search (see <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG> for details). - You can also use the options <STRONG>-A</STRONG> and <STRONG>-B</STRONG> to override the - list of places to search when comparing terminal descrip- - tions: + You can also use the options <STRONG>-A</STRONG> and <STRONG>-B</STRONG> to override the list of places + to search when comparing terminal descriptions: <STRONG>o</STRONG> The <STRONG>-A</STRONG> option sets the location for the first <EM>termname</EM> - <STRONG>o</STRONG> The <STRONG>-B</STRONG> option sets the location for the other - <EM>termnames</EM>. - - Using these options, it is possible to compare descrip- - tions for a terminal with the same name located in two - different databases. For instance, you can use this fea- - ture for comparing descriptions for the same terminal cre- - ated by different people. - - <STRONG>Other</STRONG> <STRONG>Options</STRONG> - <STRONG>-0</STRONG> causes the fields to be printed on one line, without - wrapping. - - <STRONG>-1</STRONG> causes the fields to be printed out one to a line. - Otherwise, the fields will be printed several to a - line to a maximum width of 60 characters. - - <STRONG>-a</STRONG> tells <STRONG>infocmp</STRONG> to retain commented-out capabilities - rather than discarding them. Capabilities are com- - mented by prefixing them with a period. - - <STRONG>-D</STRONG> tells <STRONG>infocmp</STRONG> to print the database locations that it - knows about, and exit. - - <STRONG>-E</STRONG> Dump the capabilities of the given terminal as - tables, needed in the C initializer for a TERMTYPE - structure (the terminal capability structure in the - <STRONG><term.h></STRONG>). This option is useful for preparing ver- - sions 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 <STRONG>-e</STRONG> and <STRONG>-E</STRONG> - options was not needed; but support for extended - names required making the arrays of terminal capabil- - ities separate from the TERMTYPE structure. - - <STRONG>-e</STRONG> Dump the capabilities of the given terminal as a C - initializer for a TERMTYPE structure (the terminal - capability structure in the <STRONG><term.h></STRONG>). This option - is useful for preparing versions of the curses - library hardwired for a given terminal type. - - <STRONG>-F</STRONG> compare terminfo files. This assumes that two fol- - lowing 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 dif- - ferences, but resolution can be forced by also speci- - fying <STRONG>-r</STRONG>. - - <STRONG>-f</STRONG> Display complex terminfo strings which contain - if/then/else/endif expressions indented for readabil- - ity. - - <STRONG>-G</STRONG> Display constant literals in decimal form rather than - their character equivalents. - - <STRONG>-g</STRONG> Display constant character literals in quoted form - rather than their decimal equivalents. - - <STRONG>-i</STRONG> Analyze the initialization (<STRONG>is1</STRONG>, <STRONG>is2</STRONG>, <STRONG>is3</STRONG>), and reset - (<STRONG>rs1</STRONG>, <STRONG>rs2</STRONG>, <STRONG>rs3</STRONG>), strings in the entry. 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 spe- - cial 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 actions translated into {}-bracketed descrip- - tions. Here is a list of the DEC/ANSI special - sequences recognized: i. - - Action Meaning - ----------------------------------------- - RIS full reset - - SC save cursor - RC restore cursor - LL home-down - RSR reset scroll region - ----------------------------------------- - DECSTR soft reset (VT320) - S7C1T 7-bit controls (VT220) - ----------------------------------------- - ISO DEC G0 enable DEC graphics for G0 - ISO UK G0 enable UK chars for G0 - ISO US G0 enable US chars for G0 - ISO DEC G1 enable DEC graphics for G1 - ISO UK G1 enable UK chars for G1 - ISO US G1 enable US chars for G1 - ----------------------------------------- - DECPAM application keypad mode - DECPNM normal keypad mode - DECANSI enter ANSI mode - ----------------------------------------- - ECMA[+-]AM keyboard action mode - ECMA[+-]IRM insert replace mode - ECMA[+-]SRM send receive mode - ECMA[+-]LNM linefeed mode - ----------------------------------------- - DEC[+-]CKM application cursor keys - DEC[+-]ANM set VT52 mode - DEC[+-]COLM 132-column mode - DEC[+-]SCLM smooth scroll - DEC[+-]SCNM reverse video mode - DEC[+-]OM origin mode - DEC[+-]AWM wraparound mode - DEC[+-]ARM auto-repeat mode - - It also recognizes a SGR action corresponding to - ANSI/ISO 6429/ECMA Set Graphics Rendition, with the - values NORMAL, BOLD, UNDERLINE, BLINK, and REVERSE. - All but NORMAL may be prefixed with `+' (turn on) or - `-' (turn off). - - An SGR0 designates an empty highlight sequence - (equivalent to {SGR:NORMAL}). + <STRONG>o</STRONG> The <STRONG>-B</STRONG> option sets the location for the other <EM>termnames</EM>. + + Using these options, it is possible to compare descriptions for a ter- + minal with the same name located in two different databases. For + instance, you can use this feature for comparing descriptions for the + same terminal created by different people. + + +</PRE><H3><a name="h3-Other-Options">Other Options</a></H3><PRE> + <STRONG>-0</STRONG> causes the fields to be printed on one line, without wrapping. + + <STRONG>-1</STRONG> causes the fields to be printed out one to a line. Otherwise, the + fields will be printed several to a line to a maximum width of 60 + characters. + + <STRONG>-a</STRONG> tells <STRONG>infocmp</STRONG> to retain commented-out capabilities rather than + discarding them. Capabilities are commented by prefixing them + with a period. + + <STRONG>-D</STRONG> tells <STRONG>infocmp</STRONG> to print the database locations that it knows about, + and exit. + + <STRONG>-E</STRONG> Dump the capabilities of the given terminal as tables, needed in + the C initializer for a TERMTYPE structure (the terminal capabil- + ity structure in the <STRONG><term.h></STRONG>). This option is useful for prepar- + ing 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 <STRONG>-e</STRONG> and <STRONG>-E</STRONG> options was + not needed; but support for extended names required making the + arrays of terminal capabilities separate from the TERMTYPE struc- + ture. + + <STRONG>-e</STRONG> Dump the capabilities of the given terminal as a C initializer for + a TERMTYPE structure (the terminal capability structure in the + <STRONG><term.h></STRONG>). This option is useful for preparing versions of the + curses library hardwired for a given terminal type. + + <STRONG>-F</STRONG> compare terminfo files. This assumes that two following arguments + are filenames. The files are searched for pairwise matches + between entries, with two entries considered to match if any of + their names do. The report printed to standard output lists + entries with no matches in the other file, and entries with more + than one match. For entries with exactly one match it includes a + difference report. Normally, to reduce the volume of the report, + use references are not resolved before looking for differences, + but resolution can be forced by also specifying <STRONG>-r</STRONG>. + + <STRONG>-f</STRONG> Display complex terminfo strings which contain if/then/else/endif + expressions indented for readability. + + <STRONG>-G</STRONG> Display constant literals in decimal form rather than their char- + acter equivalents. + + <STRONG>-g</STRONG> Display constant character literals in quoted form rather than + their decimal equivalents. + + <STRONG>-i</STRONG> Analyze the initialization (<STRONG>is1</STRONG>, <STRONG>is2</STRONG>, <STRONG>is3</STRONG>), and reset (<STRONG>rs1</STRONG>, <STRONG>rs2</STRONG>, + <STRONG>rs3</STRONG>), strings in the entry, as well as those used for start- + ing/stopping cursor-positioning mode (<STRONG>smcup</STRONG>, <STRONG>rmcup</STRONG>) as well as + starting/stopping keymap mode (<STRONG>smkx</STRONG>, <STRONG>rmkx</STRONG>). + + For each string, the code tries to analyze it into actions in + terms of the other capabilities in the entry, certain X3.64/ISO + 6429/ECMA-48 capabilities, and certain DEC VT-series private modes + (the set of recognized special sequences has been selected for + completeness over the existing terminfo database). Each report + line consists of the capability name, followed by a colon and + space, followed by a printable expansion of the capability string + with sections matching recognized actions translated into + {}-bracketed descriptions. + + Here is a list of the DEC/ANSI special sequences recognized: + + Action Meaning + ----------------------------------------- + RIS full reset + SC save cursor + RC restore cursor + LL home-down + RSR reset scroll region + ----------------------------------------- + DECSTR soft reset (VT320) + S7C1T 7-bit controls (VT220) + ----------------------------------------- + + ISO DEC G0 enable DEC graphics for G0 + ISO UK G0 enable UK chars for G0 + ISO US G0 enable US chars for G0 + ISO DEC G1 enable DEC graphics for G1 + ISO UK G1 enable UK chars for G1 + ISO US G1 enable US chars for G1 + ----------------------------------------- + DECPAM application keypad mode + DECPNM normal keypad mode + DECANSI enter ANSI mode + ----------------------------------------- + ECMA[+-]AM keyboard action mode + ECMA[+-]IRM insert replace mode + ECMA[+-]SRM send receive mode + ECMA[+-]LNM linefeed mode + ----------------------------------------- + DEC[+-]CKM application cursor keys + DEC[+-]ANM set VT52 mode + DEC[+-]COLM 132-column mode + DEC[+-]SCLM smooth scroll + DEC[+-]SCNM reverse video mode + DEC[+-]OM origin mode + DEC[+-]AWM wraparound mode + DEC[+-]ARM auto-repeat mode + + It also recognizes a SGR action corresponding to ANSI/ISO + 6429/ECMA Set Graphics Rendition, with the values NORMAL, BOLD, + UNDERLINE, BLINK, and REVERSE. All but NORMAL may be prefixed + with + + <STRONG>o</STRONG> "+" (turn on) or + + <STRONG>o</STRONG> "-" (turn off). + + An SGR0 designates an empty highlight sequence (equivalent to + {SGR:NORMAL}). <STRONG>-l</STRONG> Set output format to terminfo. <STRONG>-p</STRONG> Ignore padding specifications when comparing strings. - <STRONG>-q</STRONG> Make the comparison listing shorter by omitting sub- - headings, and using "-" for absent capabilities, "@" - for canceled rather than "NULL". + <STRONG>-Q</STRONG> <EM>n</EM> Rather than show source in terminfo (text) format, print the com- + piled (binary) format in hexadecimal or base64 form, depending on + the option's value: + + 1 hexadecimal + + 2 base64 + + 3 hexadecimal and base64 + + For example, this prints the compiled terminfo value as a string + which could be assigned to the <STRONG>TERMINFO</STRONG> environment variable: + + infocmp -0 -q -Q2 + + <STRONG>-q</STRONG> This makes the output a little shorter: + + <STRONG>o</STRONG> Make the comparison listing shorter by omitting subheadings, + and using "-" for absent capabilities, "@" for canceled rather + than "NULL". + + <STRONG>o</STRONG> However, show differences between absent and cancelled capa- + bilities. + + <STRONG>o</STRONG> Omit the "Reconstructed from" comment for source listings. <STRONG>-R</STRONG><EM>subset</EM> - Restrict output to a given subset. This option is - for use with archaic versions of terminfo like those - on SVr1, Ultrix, or HP/UX that do not support the - full set of SVR4/XSI Curses terminfo; and variants - such as AIX that have their own extensions incompati- - ble with SVr4/XSI. Available terminfo subsets are - "SVr1", "Ultrix", "HP", and "AIX"; see <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG> - for details. You can also choose the subset "BSD" - which selects only capabilities with termcap equiva- - lents recognized by 4.4BSD. + 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 terminfo; and + variants such as AIX that have their own extensions incompatible + with SVr4/XSI. + + <STRONG>o</STRONG> Available terminfo subsets are "SVr1", "Ultrix", "HP", and + "AIX"; see <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG> for details. + + <STRONG>o</STRONG> You can also choose the subset "BSD" which selects only capa- + bilities with termcap equivalents recognized by 4.4BSD. The + <STRONG>-C</STRONG> option sets the "BSD" subset as a side-effect. + + <STRONG>o</STRONG> If you select any other value for <STRONG>-R</STRONG>, it is the same as no + subset, i.e., all capabilities are used. The <STRONG>-I</STRONG> option like- + wise selects no subset as a side-effect. <STRONG>-s</STRONG> <EM>[d|i|l|c]</EM> - The <STRONG>-s</STRONG> option sorts the fields within each type - according to the argument below: + The <STRONG>-s</STRONG> option sorts the fields within each type according to the + argument below: - <STRONG>d</STRONG> leave fields in the order that they are stored - in the <EM>terminfo</EM> database. + <STRONG>d</STRONG> leave fields in the order that they are stored in the <EM>ter-</EM> + <EM>minfo</EM> database. <STRONG>i</STRONG> sort by <EM>terminfo</EM> name. @@ -388,86 +412,139 @@ <STRONG>c</STRONG> sort by the <EM>termcap</EM> name. - If the <STRONG>-s</STRONG> option is not given, the fields printed out - will be sorted alphabetically by the <STRONG>terminfo</STRONG> name - within each type, except in the case of the <STRONG>-C</STRONG> or the - <STRONG>-L</STRONG> options, which cause the sorting to be done by the - <STRONG>termcap</STRONG> name or the long C variable name, respec- - tively. + If the <STRONG>-s</STRONG> option is not given, the fields printed out will be + sorted alphabetically by the <STRONG>terminfo</STRONG> name within each type, + except in the case of the <STRONG>-C</STRONG> or the <STRONG>-L</STRONG> options, which cause the + sorting to be done by the <STRONG>termcap</STRONG> name or the long C variable + name, respectively. + + <STRONG>-T</STRONG> eliminates size-restrictions on the generated text. This is + mainly useful for testing and analysis, since the compiled + descriptions are limited (e.g., 1023 for termcap, 4096 for ter- + minfo). - <STRONG>-T</STRONG> eliminates size-restrictions on the generated text. - This is mainly useful for testing and analysis, since - the compiled descriptions are limited (e.g., 1023 for - termcap, 4096 for terminfo). + <STRONG>-t</STRONG> tells <STRONG>tic</STRONG> to discard commented-out capabilities. Normally when + translating from terminfo to termcap, untranslatable capabilities + are commented-out. - <STRONG>-t</STRONG> tells <STRONG>tic</STRONG> to discard commented-out capabilities. - Normally when translating from terminfo to termcap, - untranslatable capabilities are commented-out. + <STRONG>-U</STRONG> tells <STRONG>infocmp</STRONG> to not post-process the data after parsing the + source file. This feature helps when comparing the actual con- + tents of two source files, since it excludes the inferences that + <STRONG>infocmp</STRONG> makes to fill in missing data. - <STRONG>-U</STRONG> tells <STRONG>infocmp</STRONG> to not post-process the data after - parsing the source file. This feature helps when - comparing the actual contents of two source files, - since it excludes the inferences that <STRONG>infocmp</STRONG> makes - to fill in missing data. + <STRONG>-V</STRONG> reports the version of ncurses which was used in this program, and + exits. - <STRONG>-V</STRONG> reports the version of ncurses which was used in this - program, and exits. + <STRONG>-v</STRONG> <EM>n</EM> prints out tracing information on standard error as the program + runs. - <STRONG>-v</STRONG> <EM>n</EM> prints out tracing information on standard error as - the program runs. Higher values of n induce greater - verbosity. + The optional parameter <EM>n</EM> is a number from 1 to 10, inclusive, + indicating the desired level of detail of information. If ncurses + is built without tracing support, the optional parameter is + ignored. + + <STRONG>-W</STRONG> By itself, the <STRONG>-w</STRONG> option will not force long strings to be + wrapped. Use the <STRONG>-W</STRONG> option to do this. <STRONG>-w</STRONG> <EM>width</EM> changes the output to <EM>width</EM> characters. - <STRONG>-x</STRONG> print information for user-defined capabilities. - These are extensions to the terminfo repertoire which - can be loaded using the <STRONG>-x</STRONG> option of <STRONG>tic</STRONG>. + <STRONG>-x</STRONG> print information for user-defined capabilities (see <STRONG>user_caps(5)</STRONG>. + These are extensions to the terminfo repertoire which can be + loaded using the <STRONG>-x</STRONG> option of <STRONG>tic</STRONG>. -</PRE> -<H2>FILES</H2><PRE> - /usr/share/terminfo Compiled terminal description data- - base. +</PRE><H2><a name="h2-FILES">FILES</a></H2><PRE> + /usr/share/terminfo Compiled terminal description database. -</PRE> -<H2>EXTENSIONS</H2><PRE> - The <STRONG>-0</STRONG>, <STRONG>-1</STRONG>, <STRONG>-E</STRONG>, <STRONG>-F</STRONG>, <STRONG>-G</STRONG>, <STRONG>-R</STRONG>, <STRONG>-T</STRONG>, <STRONG>-V</STRONG>, <STRONG>-a</STRONG>, <STRONG>-e</STRONG>, <STRONG>-f</STRONG>, <STRONG>-g</STRONG>, <STRONG>-i</STRONG>, - <STRONG>-l</STRONG>, <STRONG>-p</STRONG>, <STRONG>-q</STRONG> and <STRONG>-t</STRONG> options are not supported in SVr4 - curses. +</PRE><H2><a name="h2-HISTORY">HISTORY</a></H2><PRE> + Although System V Release 2 provided a terminfo library, it had no doc- + umented tool for decompiling the terminal descriptions. Tony Hansen + (AT&T) wrote the first <STRONG>infocmp</STRONG> in early 1984, for System V Release 3. - The <STRONG>-r</STRONG> option's notion of `termcap' capabilities is System - V Release 4's. Actual BSD curses versions will have a - more restricted set. To see only the 4.4BSD set, use <STRONG>-r</STRONG> - <STRONG>-RBSD</STRONG>. + Eric Raymond used the AT&T documentation in 1995 to provide an equiva- + lent <STRONG>infocmp</STRONG> for ncurses. In addition, he added a few new features + such as: + <STRONG>o</STRONG> the <STRONG>-e</STRONG> option, to support <EM>fallback</EM> (compiled-in) terminal descrip- + tions -</PRE> -<H2>BUGS</H2><PRE> + <STRONG>o</STRONG> the <STRONG>-i</STRONG> option, to help with analysis + + Later, Thomas Dickey added the <STRONG>-x</STRONG> (user-defined capabilities) option, + and the <STRONG>-E</STRONG> option to support fallback entries with user-defined capa- + bilities. + + For a complete list, see the <EM>EXTENSIONS</EM> section. + + In 2010, Roy Marples provided an <STRONG>infocmp</STRONG> program for NetBSD. It is + less capable than the SVr4 or ncurses versions (e.g., it lacks the + sorting options documented in X/Open), but does include the <STRONG>-x</STRONG> option + adapted from ncurses. + + +</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE> + X/Open Curses, Issue 7 (2009) provides a description of <STRONG>infocmp</STRONG>. It + does not mention the options used for converting to termcap format. + + +</PRE><H2><a name="h2-EXTENSIONS">EXTENSIONS</a></H2><PRE> + The <STRONG>-0</STRONG>, <STRONG>-1</STRONG>, <STRONG>-E</STRONG>, <STRONG>-F</STRONG>, <STRONG>-G</STRONG>, <STRONG>-Q</STRONG>, <STRONG>-R</STRONG>, <STRONG>-T</STRONG>, <STRONG>-V</STRONG>, <STRONG>-a</STRONG>, <STRONG>-e</STRONG>, <STRONG>-f</STRONG>, <STRONG>-g</STRONG>, <STRONG>-i</STRONG>, <STRONG>-l</STRONG>, <STRONG>-p</STRONG>, <STRONG>-q</STRONG> + and <STRONG>-t</STRONG> options are not supported in SVr4 curses. + + SVr4 infocmp does not distinguish between absent and cancelled capabil- + ities. Also, it shows missing integer capabilities as <STRONG>-1</STRONG> (the internal + value used to represent missing integers). This implementation shows + those as "NULL", for consistency with missing strings. + + The <STRONG>-r</STRONG> option's notion of "termcap" capabilities is System V Release + 4's. Actual BSD curses versions will have a more restricted set. To + see only the 4.4BSD set, use <STRONG>-r</STRONG> <STRONG>-RBSD</STRONG>. + + +</PRE><H2><a name="h2-BUGS">BUGS</a></H2><PRE> The <STRONG>-F</STRONG> option of <STRONG><A HREF="infocmp.1m.html">infocmp(1m)</A></STRONG> should be a <STRONG><A HREF="toe.1m.html">toe(1m)</A></STRONG> mode. -</PRE> -<H2>SEE ALSO</H2><PRE> - <STRONG><A HREF="captoinfo.1m.html">captoinfo(1m)</A></STRONG>, <STRONG><A HREF="infotocap.1m.html">infotocap(1m)</A></STRONG>, <STRONG><A HREF="tic.1m.html">tic(1m)</A></STRONG>, <STRONG><A HREF="toe.1m.html">toe(1m)</A></STRONG>, - <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>. +</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE> + <STRONG><A HREF="captoinfo.1m.html">captoinfo(1m)</A></STRONG>, <STRONG><A HREF="infotocap.1m.html">infotocap(1m)</A></STRONG>, <STRONG><A HREF="tic.1m.html">tic(1m)</A></STRONG>, <STRONG><A HREF="toe.1m.html">toe(1m)</A></STRONG>, <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG>ter-</STRONG> + <STRONG><A HREF="terminfo.5.html">minfo(5)</A></STRONG>. <STRONG><A HREF="user_caps.5.html">user_caps(5)</A></STRONG>. - http://invisible-island.net/ncurses/tctest.html + https://invisible-island.net/ncurses/tctest.html - This describes <STRONG>ncurses</STRONG> version 5.9 (patch 20141220). + This describes <STRONG>ncurses</STRONG> version 6.2 (patch 20200212). -</PRE> -<H2>AUTHOR</H2><PRE> +</PRE><H2><a name="h2-AUTHOR">AUTHOR</a></H2><PRE> Eric S. Raymond <esr@snark.thyrsus.com> and Thomas E. Dickey <dickey@invisible-island.net> - <STRONG><A HREF="infocmp.1m.html">infocmp(1m)</A></STRONG> + <STRONG><A HREF="infocmp.1m.html">infocmp(1m)</A></STRONG> </PRE> -<HR> -Man(1) output converted with <a href="http://invisible-island.net/scripts/readme.html#others_scripts">man2html</a> +<div class="nav"> +<ul> +<li><a href="#h2-NAME">NAME</a></li> +<li><a href="#h2-SYNOPSIS">SYNOPSIS</a></li> +<li><a href="#h2-DESCRIPTION">DESCRIPTION</a> +<ul> +<li><a href="#h3-Default-Options">Default Options</a></li> +<li><a href="#h3-Comparison-Options-_-d_-_-c_-_-n_">Comparison Options [-d] [-c] [-n]</a></li> +<li><a href="#h3-Source-Listing-Options-_-I_-_-L_-_-C_-_-r_">Source Listing Options [-I] [-L] [-C] [-r]</a></li> +<li><a href="#h3-Use_-Option-_-u_">Use= Option [-u]</a></li> +<li><a href="#h3-Other-Options">Other Options</a></li> +</ul> +</li> +<li><a href="#h2-FILES">FILES</a></li> +<li><a href="#h2-HISTORY">HISTORY</a></li> +<li><a href="#h2-PORTABILITY">PORTABILITY</a></li> +<li><a href="#h2-EXTENSIONS">EXTENSIONS</a></li> +<li><a href="#h2-BUGS">BUGS</a></li> +<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li> +<li><a href="#h2-AUTHOR">AUTHOR</a></li> +</ul> +</div> </BODY> </HTML> |