diff options
Diffstat (limited to 'ncurses-5.9/man/infocmp.1m')
-rw-r--r-- | ncurses-5.9/man/infocmp.1m | 431 |
1 files changed, 431 insertions, 0 deletions
diff --git a/ncurses-5.9/man/infocmp.1m b/ncurses-5.9/man/infocmp.1m new file mode 100644 index 0000000..62c27bb --- /dev/null +++ b/ncurses-5.9/man/infocmp.1m @@ -0,0 +1,431 @@ +'\" t +.\"*************************************************************************** +.\" Copyright (c) 1998-2006,2010 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 * +.\" "Software"), to deal in the Software without restriction, including * +.\" without limitation the rights to use, copy, modify, merge, publish, * +.\" distribute, distribute with modifications, sublicense, and/or sell * +.\" copies of the Software, and to permit persons to whom the Software is * +.\" furnished to do so, subject to the following conditions: * +.\" * +.\" The above copyright notice and this permission notice shall be included * +.\" in all copies or substantial portions of the Software. * +.\" * +.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * +.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * +.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * +.\" IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * +.\" DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * +.\" OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * +.\" THE USE OR OTHER DEALINGS IN THE SOFTWARE. * +.\" * +.\" Except as contained in this notice, the name(s) of the above copyright * +.\" holders shall not be used in advertising or otherwise to promote the * +.\" sale, use or other dealings in this Software without prior written * +.\" authorization. * +.\"*************************************************************************** +.\" +.\" $Id$ +.TH @INFOCMP@ 1M "" +.ds n 5 +.ds d @TERMINFO@ +.SH NAME +\fB@INFOCMP@\fR \- compare or print out \fIterminfo\fR descriptions +.SH SYNOPSIS +\fB@INFOCMP@\fR [\fB\-\ +1\ +C\ +E\ +F\ +G\ +I\ +L\ +T\ +U\ +V\ +c\ +d\ +e\ +g\ +i\ +l\ +n\ +p\ +q\ +r\ +t\ +u\ +x\ +\fR] +.br + [\fB\-v\fR \fIn\fR] [\fB\-s d\fR| \fBi\fR| \fBl\fR| \fBc\fR] [\fB\-R \fR\fBsubset\fR] +.br + [\fB\-w\fR\ \fIwidth\fR] [\fB\-A\fR\ \fIdirectory\fR] [\fB\-B\fR\ \fIdirectory\fR] +.br + [\fItermname\fR...] +.SH DESCRIPTION +\fB@INFOCMP@\fR can be used to compare a binary \fBterminfo\fR entry with other +terminfo entries, rewrite a \fBterminfo\fR description to take advantage of the +\fBuse=\fR terminfo field, or print out a \fBterminfo\fR description from the +binary file (\fBterm\fR) 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. +.SS Default Options +If no options are specified and zero or one \fItermnames\fR are specified, the +\fB\-I\fR option will be assumed. If more than one \fItermname\fR is specified, +the \fB\-d\fR option will be assumed. +.SS Comparison Options [\-d] [\-c] [\-n] +\fB@INFOCMP@\fR compares the \fBterminfo\fR description of the first terminal +\fItermname\fR with each of the descriptions given by the entries for the other +terminal's \fItermnames\fR. If a capability is defined for only one of the +terminals, the value returned will depend on the type of the capability: +\fBF\fR for boolean variables, \fB\-1\fR for integer variables, and \fBNULL\fR +for string variables. +.PP +The \fB\-d\fR 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. +.PP +The \fB\-c\fR 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 \fB\-u\fR option is worth using. +.PP +The \fB\-n\fR option produces a list of each capability that is in neither +entry. If no \fItermnames\fR are given, the environment variable \fBTERM\fR +will be used for both of the \fItermnames\fR. This can be used as a quick +check to see if anything was left out of a description. +.SS Source Listing Options [\-I] [\-L] [\-C] [\-r] +The \fB\-I\fR, \fB\-L\fR, and \fB\-C\fR options will produce a source listing for +each terminal named. +. +.TS +center tab(/) ; +l l . +\fB\-I\fR/use the \fBterminfo\fR names +\fB\-L\fR/use the long C variable name listed in <\fBterm.h\fR> +\fB\-C\fR/use the \fBtermcap\fR names +\fB\-r\fR/when using \fB\-C\fR, put out all capabilities in \fBtermcap\fR form +.TE +.PP +If no \fItermnames\fR are given, the environment variable \fBTERM\fR will be +used for the terminal name. +.PP +The source produced by the \fB\-C\fR option may be used directly as a +\fBtermcap\fR entry, but not all parameterized strings can be changed to +the \fBtermcap\fR format. \fB@INFOCMP@\fR 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. +.PP +All padding information for strings will be collected together and placed +at the beginning of the string where \fBtermcap\fR expects it. Mandatory +padding (padding information with a trailing '/') will become optional. +.PP +All \fBtermcap\fR variables no longer supported by \fBterminfo\fR, but which +are derivable from other \fBterminfo\fR variables, will be output. Not all +\fBterminfo\fR capabilities will be translated; only those variables which were +part of \fBtermcap\fR will normally be output. Specifying the \fB\-r\fR option +will take off this restriction, allowing all capabilities to be output in +\fItermcap\fR form. +.PP +Note that because padding is collected to the beginning of the capability, not +all capabilities are output. Mandatory padding is not supported. Because +\fBtermcap\fR strings are not as flexible, it is not always possible to convert +a \fBterminfo\fR string capability into an equivalent \fBtermcap\fR format. A +subsequent conversion of the \fBtermcap\fR file back into \fBterminfo\fR format +will not necessarily reproduce the original \fBterminfo\fR +source. +.PP +Some common \fBterminfo\fR parameter sequences, their \fBtermcap\fR +equivalents, and some terminal types which commonly have such sequences, are: +. +.TS +center tab(/) ; +l c l +l l l. +\fBterminfo/termcap\fR/Representative Terminals += +\fB%p1%c/%.\fR/adm +\fB%p1%d/%d\fR/hp, ANSI standard, vt100 +\fB%p1%'x'%+%c/%+x\fR/concept +\fB%i/%i\fRq/ANSI standard, vt100 +\fB%p1%?%'x'%>%t%p1%'y'%+%;/%>xy\fR/concept +\fB%p2\fR is printed before \fB%p1/%r\fR/hp +.TE +.SS Use= Option [\-u] +The \fB\-u\fR option produces a \fBterminfo\fR source description of the first +terminal \fItermname\fR which is relative to the sum of the descriptions given +by the entries for the other terminals \fItermnames\fR. It does this by +analyzing the differences between the first \fItermname\fR and the other +\fItermnames\fR and producing a description with \fBuse=\fR 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 \fB@INFOCMP@\fR will show what can be done to change +one description to be relative to the other. +.PP +A capability will get printed with an at-sign (@) if it no longer exists in the +first \fItermname\fR, but one of the other \fItermname\fR entries contains a +value for it. A capability's value gets printed if the value in the first +\fItermname\fR is not found in any of the other \fItermname\fR entries, or if +the first of the other \fItermname\fR entries that has this capability gives a +different value for the capability than that in the first \fItermname\fR. +.PP +The order of the other \fItermname\fR entries is significant. Since the +terminfo compiler \fBtic\fR does a left-to-right scan of the capabilities, +specifying two \fBuse=\fR entries that contain differing entries for the same +capabilities will produce different results depending on the order that the +entries are given in. \fB@INFOCMP@\fR will flag any such inconsistencies between +the other \fItermname\fR entries as they are found. +.PP +Alternatively, specifying a capability \fIafter\fR a \fBuse=\fR entry that +contains that capability will cause the second specification to be ignored. +Using \fB@INFOCMP@\fR to recreate a description can be a useful check to make +sure that everything was specified correctly in the original source +description. +.PP +Another error that does not cause incorrect compiled files, but will slow down +the compilation time, is specifying extra \fBuse=\fR fields that are +superfluous. \fB@INFOCMP@\fR will flag any other \fItermname use=\fR fields that +were not needed. +.SS Changing Databases [\-A \fIdirectory\fR] [\-B \fIdirectory\fR] +The location of the compiled \fBterminfo\fR database is taken from the +environment variable \fBTERMINFO\fR . If the variable is not defined, or the +terminal is not found in that location, the system \fBterminfo\fR database, +in \fB@TERMINFO@\fR, will be used. The options \fB\-A\fR +and \fB\-B\fR may be used to override this location. The \fB\-A\fR option will +set \fBTERMINFO\fR for the first \fItermname\fR and the \fB\-B\fR option will +set \fBTERMINFO\fR for the other \fItermnames\fR. 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 terminal +created by different people. +.SS Other Options +.TP 5 +\fB\-1\fR +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. +.TP +\fB\-a\fR +tells \fB@INFOCMP@\fP to retain commented-out capabilities rather than discarding +them. Capabilities are commented by prefixing them with a period. +.TP 5 +\fB\-E\fR +Dump the capabilities of the given terminal as tables, needed in +the C initializer for a +TERMTYPE structure (the terminal capability structure in the \fB<term.h>\fR). +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. +.sp +Before ncurses 5.0, the split between the \fB\-e\fP and \fB\-E\fP +options was not needed; but support for extended names required making +the arrays of terminal capabilities separate from the TERMTYPE structure. +.TP 5 +\fB\-e\fR +Dump the capabilities of the given terminal as a C initializer for a +TERMTYPE structure (the terminal capability structure in the \fB<term.h>\fR). +This option is useful for preparing versions of the curses library hardwired +for a given terminal type. +.TP 5 +\fB\-F\fR +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 \fB\-r\fR. +.TP 5 +\fB\-f\fR +Display complex terminfo strings which contain if/then/else/endif expressions +indented for readability. +.TP 5 +\fB\-G\fR +Display constant literals in decimal form +rather than their character equivalents. +.TP 5 +\fB\-g\fR +Display constant character literals in quoted form +rather than their decimal equivalents. +.TP 5 +\fB\-i\fR +Analyze the initialization (\fBis1\fR, \fBis2\fR, \fBis3\fR), and reset +(\fBrs1\fR, \fBrs2\fR, \fBrs3\fR), 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 recognized actions +translated into {}-bracketed descriptions. Here is a list of the DEC/ANSI +special sequences recognized: +i. +.TS +center tab(/) ; +l l +l l. +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 +.TE +.sp +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). +.PP +An SGR0 designates an empty highlight sequence (equivalent to {SGR:NORMAL}). +.TP 5 +\fB\-l\fR +Set output format to terminfo. +.TP 5 +\fB\-p\fR +Ignore padding specifications when comparing strings. +.TP 5 +\fB\-q\fR +Make the comparison listing shorter by omitting subheadings, and using +"\-" for absent capabilities, "@" for canceled rather than "NULL". +.TP 5 +\fB\-R\fR\fIsubset\fR +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. Available terminfo +subsets are "SVr1", "Ultrix", "HP", and "AIX"; see \fBterminfo\fR(\*n) for +details. You can also choose the subset "BSD" which selects only capabilities +with termcap equivalents recognized by 4.4BSD. +.TP +\fB\-s \fR\fI[d|i|l|c]\fR +The \fB\-s\fR option sorts the fields within each type according to the argument +below: +.br +.RS 5 +.TP 5 +\fBd\fR +leave fields in the order that they are stored in the \fIterminfo\fR database. +.TP 5 +\fBi\fR +sort by \fIterminfo\fR name. +.TP 5 +\fBl\fR +sort by the long C variable name. +.TP 5 +\fBc\fR +sort by the \fItermcap\fR name. +.RE +.IP +If the \fB\-s\fR option is not given, the fields printed out will be +sorted alphabetically by the \fBterminfo\fR name within each type, +except in the case of the \fB\-C\fR or the \fB\-L\fR options, which cause the +sorting to be done by the \fBtermcap\fR name or the long C variable +name, respectively. +.TP 5 +\fB\-T\fR +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). +.TP +\fB\-t\fR +tells \fBtic\fP to discard commented-out capabilities. +Normally when translating from terminfo to termcap, +untranslatable capabilities are commented-out. +.TP 5 +\fB\-U\fR +tells \fB@INFOCMP@\fP 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 \fB@INFOCMP@\fP makes to fill in missing +data. +.TP 5 +\fB\-V\fR +reports the version of ncurses which was used in this program, and exits. +.TP 5 +\fB\-v\fR \fIn\fR +prints out tracing information on standard error as the program runs. +Higher values of n induce greater verbosity. +.TP 5 +\fB\-w\fR \fIwidth\fR +changes the output to \fIwidth\fR characters. +.TP +\fB\-x\fR +print information for user-defined capabilities. +These are extensions to the terminfo repertoire which can be loaded +using the \fB\-x\fR option of \fBtic\fP. +.SH FILES +.TP 20 +\*d +Compiled terminal description database. +.SH EXTENSIONS +The +\fB\-E\fR, +\fB\-F\fR, +\fB\-G\fR, +\fB\-R\fR, +\fB\-T\fR, +\fB\-V\fR, +\fB\-a\fR, +\fB\-e\fR, +\fB\-f\fR, +\fB\-g\fR, +\fB\-i\fR, +\fB\-l\fR, +\fB\-p\fR, +\fB\-q\fR and +\fB\-t\fR +options are not supported in SVr4 curses. +.PP +The \fB\-r\fR 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 \fB\-r\fR \fB\-RBSD\fR. +.SH BUGS +The \fB\-F\fR option of \fB@INFOCMP@\fR(1M) should be a \fB@TOE@\fR(1M) mode. +.SH SEE ALSO +\fB@CAPTOINFO@\fR(1M), +\fB@INFOTOCAP@\fR(1M), +\fB@TIC@\fR(1M), +\fB@TOE@\fR(1M), +\fBcurses\fR(3X), +\fBterminfo\fR(\*n). +.PP +This describes \fBncurses\fR +version @NCURSES_MAJOR@.@NCURSES_MINOR@ (patch @NCURSES_PATCH@). +.SH AUTHOR +Eric S. Raymond <esr@snark.thyrsus.com> +and +.br +Thomas E. Dickey <dickey@invisible-island.net> |