X-Git-Url: https://ncurses.scripts.mit.edu/?a=blobdiff_plain;f=doc%2Fhtml%2Fman%2Finfocmp.1m.html;h=44cb12fb7122ba8c05caaa7dd880a44d75c13ee0;hb=HEAD;hp=3d322d0ef4906a803b7f525c5e72d8792870010c;hpb=7104baa59ff713e8339b3b20edcf4234a5af6200;p=ncurses.git diff --git a/doc/html/man/infocmp.1m.html b/doc/html/man/infocmp.1m.html index 3d322d0e..5877cf6a 100644 --- a/doc/html/man/infocmp.1m.html +++ b/doc/html/man/infocmp.1m.html @@ -1,7 +1,7 @@
--infocmp(1m) infocmp(1m) +infocmp(1m) User commands infocmp(1m) @@ -52,39 +52,38 @@
- infocmp [-1CDEFGIKLTUVWcdegilnpqrtux] - [-v n] [-s d| i| l| c] [-Q n] [-R subset] - [-w width] [-A directory] [-B directory] - [termname...] + infocmp [-1cCdDeEFgGiIKlLnpqrtTuUVWx] [-A directory] [-B directory] + [-Q encoding] [-R subset] [-s key] [-v level] [-w width] + [terminal-type ... ]
infocmp can be used to compare a binary terminfo entry with other terminfo entries, rewrite a terminfo 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 + 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.
- 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. + If no options are specified and zero or one terminal-types are + specified, the -I option will be assumed. If more than one terminal- + type is specified, the -d option will be assumed. -
+
infocmp compares the terminfo description of the first terminal - termname with each of the descriptions given by the entries for the - other terminal's termnames. If a capability is defined for only one of - the terminals, the value returned depends on the type of the - capability: + terminal-type with each of the descriptions given by the entries for + the other terminal's terminal-types. If a capability is defined for + only one of the terminals, the value returned depends on the type of + the capability: - o F for missing boolean variables + o F for missing Boolean variables o NULL for missing integer or string variables - Use the -q option to show the distinction between absent and cancelled + Use the -q option to show the distinction between absent and canceled capabilities. These options produce a list which you can use to compare two or more @@ -111,22 +110,22 @@ option to add the BSD-compatibility capabilities (names prefixed with "OT"). - If no termnames are given, infocmp uses the environment variable - TERM for each of the termnames. + If no terminal-types are given, infocmp uses the environment + variable TERM for each of the terminal-types. -
+
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 - -K modifies the -C option, improving BSD-compatibility. + -I use terminfo capability codes + -L use "long" capability names + -C use termcap capability codes + -r with -C, include nonstandard capabilities + -K with -C, improve BSD compatibility - If no termnames are given, the environment variable TERM will be used - for the terminal name. + If no terminal-types 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 parameterized strings can be changed to the termcap @@ -168,41 +167,43 @@ Some common terminfo parameter sequences, their termcap equivalents, and some terminal types which commonly have such sequences, are: - terminfo termcap Representative Terminals - --------------------------------------------------------------- - %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 + terminfo termcap Terminal Types + ---------------------------------------------------- + %p1%c %. ansi-m + %p1%d %d ansi, vt100 + %p1%' '%+%c %+x vt52 + %i %iq ansi, vt100 + %p1%?%'x'%>%t%p1%'y'%+%; %>xy annarbor4080 + %p2...%p1 %r hpgeneric -
+
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. + terminal terminal-type which is relative to the sum of the descriptions + given by the entries for the other terminal-types. It does this by + analyzing the differences between the first terminal-types and the + other terminal-types 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 be 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 will be 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 + in the first terminal-type, but one of the other terminal-type entries + contains a value for it. A capability's value will be printed if the + value in the first terminal-type is not found in any of the other + terminal-type entries, or if the first of the other terminal-type + entries that has this capability gives a different value for the + capability than that in the first terminal-type. + + The order of the other terminal-type entries is significant. Since the terminfo compiler tic does a left-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. + between the other terminal-type 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. @@ -212,25 +213,26 @@ 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. + are superfluous. infocmp will flag any other terminal-type use= fields + that were not needed. - Changing Databases [-A directory] [-B directory] - Like other ncurses utilities, infocmp looks for the terminal - descriptions in several places. You can use the TERMINFO and - TERMINFO_DIRS environment variables to override the compiled-in default - list of places to search (see curses(3x) for details). + Changing Databases [-A directory] [-B directory] + Like other ncurses utilities, infocmp looks for the terminal + descriptions in several places. You can use the TERMINFO and + TERMINFO_DIRS environment variables to override the compiled-in default + list of places to search. See curses(3x), as well as the Fetching + Compiled Descriptions section in terminfo(5). - You can also use the options -A and -B to override the list of places + You can also use the options -A and -B to override the list of places to search when comparing terminal descriptions: - o The -A option sets the location for the first termname + o The -A option sets the location for the first terminal-type - o The -B option sets the location for the other termnames. + o The -B option sets the location for the other terminal-types. - Using these options, it is possible to compare descriptions for a - terminal with the same name located in two different databases. For - instance, you can use this feature for comparing descriptions for the + Using these options, it is possible to compare descriptions for a + terminal 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. @@ -238,118 +240,117 @@ -0 causes the fields to be printed on one line, without wrapping. -1 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 + fields will be printed several 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 + -a tells infocmp to retain commented-out capabilities rather than + discarding them. Capabilities are commented by prefixing them with a period. -D tells infocmp to print the database locations that it knows about, and exit. - -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 + -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 + 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 + 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, + 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 + -f Display complex terminfo strings which contain if/then/else/endif expressions indented for readability. - -G Display constant literals in decimal form rather than their + -G Display constant literals in decimal form rather than their character equivalents. - -g Display constant character literals in quoted form rather than + -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, as well as those used for - starting/stopping cursor-positioning mode (smcup, rmcup) as well + -i Analyze the initialization (is1, is2, is3), and reset (rs1, rs2, + rs3), strings in the entry, as well as those used for + starting/stopping cursor-positioning mode (smcup, rmcup) as well as starting/stopping keymap mode (smkx, rmkx). - For each string, the code tries to analyze it into actions in - terms of the other capabilities in the entry, certain X3.64/ISO + 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 + (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 - - o "+" (turn on) or - - o "-" (turn off). - - An SGR0 designates an empty highlight sequence (equivalent to - {SGR:NORMAL}). + 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 + + o "+" (turn on) or + + o "-" (turn off). + + An SGR0 designates an empty highlight sequence (equivalent to + {SGR:NORMAL}). -l Set output format to terminfo. @@ -366,7 +367,7 @@ 3 hexadecimal and base64 For example, this prints the compiled terminfo value as a string - which could be assigned to the TERMINFO environment variable: + which could be assigned to the TERMINFO environment variable: infocmp -0 -q -Q2 @@ -376,7 +377,7 @@ and using "-" for absent capabilities, "@" for canceled rather than "NULL". - o However, show differences between absent and cancelled + o However, show differences between absent and canceled capabilities. o Omit the "Reconstructed from" comment for source listings. @@ -392,18 +393,25 @@ "AIX"; see terminfo(5) for details. o You can also choose the subset "BSD" which selects only - capabilities with termcap equivalents recognized by 4.4BSD. - The -C option sets the "BSD" subset as a side-effect. + capabilities with termcap equivalents recognized by 4.4BSD. + + o If you select any other value for -R, it is the same as no + subset, i.e., all capabilities are used. + + A few options override the subset selected with -R, if they are + processed later in the command parameters: + + -C sets the "BSD" subset as a side-effect. + + -I sets the subset to all capabilities. - o If you select any other value for -R, it is the same as no - subset, i.e., all capabilities are used. The -I option - likewise selects no subset as a side-effect. + -r sets the subset to all capabilities. -s [d|i|l|c] - The -s option sorts the fields within each type according to the + 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 + d leave fields in the order that they are stored in the terminfo database. i sort by terminfo name. @@ -412,50 +420,70 @@ c sort by the termcap name. - If the -s option is not given, the fields printed out will be - sorted alphabetically by the terminfo 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 + If the -s option is not given, the fields printed out will be + sorted alphabetically by the terminfo 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 + -T 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). - -t tells tic to discard commented-out capabilities. Normally when - translating from terminfo to termcap, untranslatable capabilities + -t tells tic to discard commented-out capabilities. Normally when + translating from terminfo to termcap, untranslatable capabilities are commented-out. - -U tells infocmp to not post-process the data after parsing the + -U tells infocmp 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 + contents of two source files, since it excludes the inferences that infocmp makes to fill in missing data. - -V reports the version of ncurses which was used in this program, and + -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 + -v n prints out tracing information on standard error as the program runs. - The optional parameter n 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 + The optional parameter n 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. - -W By itself, the -w option will not force long strings to be + -W By itself, the -w option will not force long strings to be wrapped. Use the -W option to do this. -w width changes the output to width characters. - -x print information for user-defined capabilities (see user_caps(5). - These are extensions to the terminfo repertoire which can be + -x print information for user-defined capabilities (see user_caps(5). + These are extensions to the terminfo repertoire which can be loaded using the -x option of tic.
- /usr/share/terminfo Compiled terminal description database. + /usr/share/terminfo + compiled terminal description database + + +
+ The -0, -1, -a, -e, -E, -f, -F, -g, -G, -i, -l, -p, -q, -Q, -R, -t, -T, + and -V options are ncurses extensions. + + +
+ X/Open Curses, Issue 7 (2009) specifies infocmp. It does not mention + options for producing descriptions in termcap format. + + SVr4 infocmp does not distinguish between absent and canceled + capabilities. It furthermore reports missing integer capabilities as + -1 (its internal representation). ncurses shows these as "NULL" for + consistency with missing string capabilities. + + The -r option of ncurses infocmp uses SVr4's notion of of "termcap" + capabilities. BSD curses had a more restricted set. To see only those + present in 4.4BSD, use "-r -RBSD".
@@ -464,7 +492,7 @@ (AT&T) wrote the first infocmp in early 1984, for System V Release 3. Eric Raymond used the AT&T documentation in 1995 to provide an - equivalent infocmp for ncurses. In addition, he added a few new + equivalent infocmp for ncurses. In addition, he added a few new features such as: o the -e option, to support fallback (compiled-in) terminal @@ -479,51 +507,29 @@ For a complete list, see the EXTENSIONS section. In 2010, Roy Marples provided an infocmp program for NetBSD. It is - less capable than the SVr4 or ncurses versions (e.g., it lacks the + less capable than the SVr4 or ncurses versions (e.g., it lacks the sorting options documented in X/Open), but does include the -x option - adapted from ncurses. - - -
- X/Open Curses, Issue 7 (2009) provides a description of infocmp. It - does not mention the options used for converting to termcap format. - - -
- The -0, -1, -E, -F, -G, -Q, -R, -T, -V, -a, -e, -f, -g, -i, -l, -p, -q - and -t options are not supported in SVr4 curses. - - SVr4 infocmp does not distinguish between absent and cancelled - capabilities. Also, it shows missing integer capabilities as -1 (the - internal value used to represent missing integers). This - implementation shows those as "NULL", for consistency with missing - strings. - - 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. + adapted from ncurses.
The -F option of infocmp(1m) should be a toe(1m) mode. +
+ Eric S. Raymond <esr@snark.thyrsus.com> and + Thomas E. Dickey <dickey@invisible-island.net> + +
captoinfo(1m), infotocap(1m), tic(1m), toe(1m), curses(3x), - terminfo(5). user_caps(5). + terminfo(5), user_caps(5) https://invisible-island.net/ncurses/tctest.html - This describes ncurses version 6.3 (patch 20220604). -
- Eric S. Raymond <esr@snark.thyrsus.com> and - Thomas E. Dickey <dickey@invisible-island.net> - - - - infocmp(1m) +ncurses 6.5 2024-09-21 infocmp(1m)