X-Git-Url: https://ncurses.scripts.mit.edu/?p=ncurses.git;a=blobdiff_plain;f=man%2Fterminfo.tail;h=37db325e41d0a19048f717d94345335288f63024;hp=80ce6432f3e83af9023e60f4490a6f48ed99709f;hb=5c2245b6fc619f8d96ce940281dfbf13b5b8900b;hpb=62ca6190a9a8ddccb2c4d5ca7b2ef9f88432da65;ds=sidebyside diff --git a/man/terminfo.tail b/man/terminfo.tail index 80ce6432..37db325e 100644 --- a/man/terminfo.tail +++ b/man/terminfo.tail @@ -1,4 +1,4 @@ -.\" $Id: terminfo.tail,v 1.75 2016/12/24 22:54:11 tom Exp $ +.\" $Id: terminfo.tail,v 1.88 2017/08/12 22:26:02 tom Exp $ .\" Beginning of terminfo.tail file .\" This file is part of ncurses. .\" See "terminfo.head" for copyright. @@ -21,7 +21,7 @@ That is, if \fB@TIC@\fP encounters a capability name which it does not recognize, it infers its type (boolean, number or string) from the syntax and makes an extended table entry for that capability. -The \fBuse_extended_names\fP function makes this information +The \fBuse_extended_names\fP(3X) function makes this information conditionally available to applications. The ncurses library provides the data leaving most of the behavior to applications: @@ -124,12 +124,33 @@ sequence) are given by the two-character code, an \*(``=\*('', and then a string ending at the next following \*(``,\*(''. .PP A number of escape sequences are provided in the string valued capabilities -for easy encoding of characters there. +for easy encoding of characters there: +.bP Both \fB\eE\fR and \fB\ee\fR map to an \s-1ESCAPE\s0 character, -\fB^x\fR maps to a control-x for any appropriate x, and the sequences -\fB\en \el \er \et \eb \ef \es\fR give -a newline, line-feed, return, tab, backspace, form-feed, and space. +.bP +\fB^x\fR maps to a control-x for any appropriate \fIx\fP, and +.bP +the sequences +.RS 6 +.PP +\fB\en\fP, \fB\el\fP, \fB\er\fP, \fB\et\fP, \fB\eb\fP, \fB\ef\fP, and \fB\es\fR +.RE +.IP +produce +.RS 6 +.PP +\fInewline\fP, \fIline-feed\fP, \fIreturn\fP, \fItab\fP, \fIbackspace\fP, \fIform-feed\fP, and \fIspace\fP, +.RE +.IP +respectively. +.PP +X/Open Curses does not say what \*(``appropriate \fIx\fP\*('' might be. +In practice, that is a printable ASCII graphic character. +The special case \*(``^?\*('' is interpreted as DEL (127). +In all other cases, the character value is AND'd with 0x1f, +mapping to ASCII control codes in the range 0 through 31. +.PP Other escapes include .bP \fB\e^\fR for \fB^\fR, @@ -144,7 +165,7 @@ and \fB\e0\fR for null. .IP \fB\e0\fR will produce \e200, which does not terminate a string but behaves as a null character on most terminals, providing CS7 is specified. -See stty(1). +See \fBstty\fP(1). .IP The reason for this quirk is to maintain binary compatibility of the compiled terminfo files with other implementations, @@ -157,7 +178,7 @@ Finally, characters may be given as three octal digits after a \fB\e\fR. .PP A delay in milliseconds may appear anywhere in a string capability, enclosed in $<..> brackets, as in \fBel\fP=\eEK$<5>, -and padding characters are supplied by \fBtputs\fP +and padding characters are supplied by \fBtputs\fP(3X) to provide this delay. .bP The delay must be a number with at most one decimal @@ -434,7 +455,7 @@ get static variable \fI[a\-z]\fP and push it .IP The terms "static" and "dynamic" are misleading. Historically, these are simply two different sets of variables, -whose values are not reset between calls to \fBtparm\fP. +whose values are not reset between calls to \fBtparm\fP(3X). However, that fact is not documented in other implementations. Relying on it will adversely impact portability to other implementations. .TP @@ -1269,52 +1290,74 @@ They are documented here in case they ever become important. .SS Line Graphics .PP Many terminals have alternate character sets useful for forms-drawing. -Terminfo and \fBcurses\fR build in support for the drawing characters +Terminfo and \fBcurses\fR have built-in support +for most of the drawing characters supported by the VT100, with some characters from the AT&T 4410v1 added. This alternate character set may be specified by the \fBacsc\fR capability. .PP .TS H center expand; -l l l l -l l l l -lw25 lw10 lw6 lw6. +l l l l l +l l l l l +_ _ _ _ _ +lw25 lw10 lw6 lw6 lw6. .\".TH -\fBGlyph ACS Ascii VT100\fR -\fBName Name Default Name\fR -UK pound sign ACS_STERLING f } -arrow pointing down ACS_DARROW v . -arrow pointing left ACS_LARROW < , -arrow pointing right ACS_RARROW > + -arrow pointing up ACS_UARROW ^ \- -board of squares ACS_BOARD # h -bullet ACS_BULLET o ~ -checker board (stipple) ACS_CKBOARD : a -degree symbol ACS_DEGREE \e f -diamond ACS_DIAMOND + ` -greater-than-or-equal-to ACS_GEQUAL > z -greek pi ACS_PI * { -horizontal line ACS_HLINE \- q -lantern symbol ACS_LANTERN # i -large plus or crossover ACS_PLUS + n -less-than-or-equal-to ACS_LEQUAL < y -lower left corner ACS_LLCORNER + m -lower right corner ACS_LRCORNER + j -not-equal ACS_NEQUAL ! | -plus/minus ACS_PLMINUS # g -scan line 1 ACS_S1 ~ o -scan line 3 ACS_S3 \- p -scan line 7 ACS_S7 \- r -scan line 9 ACS_S9 \&_ s -solid square block ACS_BLOCK # 0 -tee pointing down ACS_TTEE + w -tee pointing left ACS_RTEE + u -tee pointing right ACS_LTEE + t -tee pointing up ACS_BTEE + v -upper left corner ACS_ULCORNER + l -upper right corner ACS_URCORNER + k -vertical line ACS_VLINE | x +\fBGlyph ACS Ascii acsc acsc\fR +\fBName Name Default Char Value\fR +arrow pointing right ACS_RARROW > + 0x2b +arrow pointing left ACS_LARROW < , 0x2c +arrow pointing up ACS_UARROW ^ \- 0x2d +arrow pointing down ACS_DARROW v . 0x2e +solid square block ACS_BLOCK # 0 0x30 +diamond ACS_DIAMOND + ` 0x60 +checker board (stipple) ACS_CKBOARD : a 0x61 +degree symbol ACS_DEGREE \e f 0x66 +plus/minus ACS_PLMINUS # g 0x67 +board of squares ACS_BOARD # h 0x68 +lantern symbol ACS_LANTERN # i 0x69 +lower right corner ACS_LRCORNER + j 0x6a +upper right corner ACS_URCORNER + k 0x6b +upper left corner ACS_ULCORNER + l 0x6c +lower left corner ACS_LLCORNER + m 0x6d +large plus or crossover ACS_PLUS + n 0x6e +scan line 1 ACS_S1 ~ o 0x6f +scan line 3 ACS_S3 \- p 0x70 +horizontal line ACS_HLINE \- q 0x71 +scan line 7 ACS_S7 \- r 0x72 +scan line 9 ACS_S9 \&_ s 0x73 +tee pointing right ACS_LTEE + t 0x74 +tee pointing left ACS_RTEE + u 0x75 +tee pointing up ACS_BTEE + v 0x76 +tee pointing down ACS_TTEE + w 0x77 +vertical line ACS_VLINE | x 0x78 +less-than-or-equal-to ACS_LEQUAL < y 0x79 +greater-than-or-equal-to ACS_GEQUAL > z 0x7a +greek pi ACS_PI * { 0x7b +not-equal ACS_NEQUAL ! | 0x7c +UK pound sign ACS_STERLING f } 0x7d +bullet ACS_BULLET o ~ 0x7e .TE .PP +A few notes apply to the table itself: +.bP +X/Open Curses incorrectly states that the mapping for \fIlantern\fP is +uppercase \*(``I\*('' although Unix implementations use the +lowercase \*(``i\*('' mapping. +.bP +The DEC VT100 implemented graphics using the alternate character set +feature, temporarily switching \fImodes\fP and sending characters +in the range 0x60 (96) to 0x7e (126) +(the \fBacsc Value\fP column in the table). +.bP +The AT&T terminal added graphics characters outside that range. +.IP +Some of the characters within the range do not match the VT100; +presumably they were used in the AT&T terminal: +\fIboard of squares\fP replaces the VT100 \fInewline\fP symbol, while +\fIlantern symbol\fP replaces the VT100 \fIvertical tab\fP symbol. +The other VT100 symbols for control characters (\fIhorizontal tab\fP, +\fIcarriage return\fP and \fIline-feed\fP) are not (re)used in curses. +.PP The best way to define a new device's graphics set is to add a column to a copy of this table for your terminal, giving the character which (when emitted between \fBsmacs\fR/\fBrmacs\fR switches) will be rendered @@ -1374,7 +1417,7 @@ be coded as \fBsetaf\fR and \fBsetab\fR, respectively. If the terminal supports other escape sequences to set background and foreground, they should be coded as \fBsetf\fR and \fBsetb\fR, respectively. -The \fBvidputs\fR and the \fBrefresh\fP functions +The \fBvidputs\fR and the \fBrefresh\fP(3X) functions use the \fBsetaf\fR and \fBsetab\fR capabilities if they are defined. .PP The \fBsetaf\fR/\fBsetab\fR and \fBsetf\fR/\fBsetb\fR capabilities take a @@ -1628,36 +1671,6 @@ Note that in older terminfo versions, this capability was called Other specific terminal problems may be corrected by adding more capabilities of the form \fBx\fR\fIx\fR. .PP -.SS Similar Terminals -.PP -If there are two very similar terminals, one (the variant) can be defined as -being just like the other (the base) with certain exceptions. -In the -definition of the variant, the string capability \fBuse\fR can be given with -the name of the base terminal. -The capabilities given before -.B use -override those in the base type named by -.BR use . -If there are multiple \fBuse\fR capabilities, they are merged in reverse order. -That is, the rightmost \fBuse\fR reference is processed first, then the one to -its left, and so forth. -Capabilities given explicitly in the entry override -those brought in by \fBuse\fR references. -.PP -A capability can be canceled by placing \fBxx@\fR to the left of the -use reference that imports it, where \fIxx\fP is the capability. -For example, the entry -.RS -.PP -2621\-nl, smkx@, rmkx@, use=2621, -.RE -.PP -defines a 2621\-nl that does not have the \fBsmkx\fR or \fBrmkx\fR capabilities, -and hence does not turn on the function key labels when in visual mode. -This is useful for different modes for a terminal, or for different -user preferences. -.PP .SS Pitfalls of Long Entries .PP Long terminfo entries are unlikely to be a problem; to date, no entry has even @@ -1775,8 +1788,8 @@ They are deduced from the documentation for the AT&T 505 terminal. .PP Be careful assigning the \fBkmous\fR capability. -The \fBncurses\fR wants to -interpret it as \fBKEY_MOUSE\fR, for use by terminals and emulators like xterm +The \fBncurses\fR library wants to interpret it as \fBKEY_MOUSE\fR, +for use by terminals and emulators like xterm that can return mouse-tracking information in the keyboard-input stream. .PP X/Open Curses does not mention italics. @@ -1792,30 +1805,30 @@ Different commercial ports of terminfo and curses support different subsets of the XSI Curses standard and (in some cases) different extension sets. Here is a summary, accurate as of October 1995: -.PP +.bP \fBSVR4, Solaris, ncurses\fR \-\- These support all SVr4 capabilities. -.PP +.bP \fBSGI\fR \-\- Supports the SVr4 set, adds one undocumented extended string capability (\fBset_pglen\fR). -.PP +.bP \fBSVr1, Ultrix\fR \-\- These support a restricted subset of terminfo capabilities. The booleans end with \fBxon_xoff\fR; the numerics with \fBwidth_status_line\fR; and the strings with \fBprtr_non\fR. -.PP +.bP \fBHP/UX\fR \-\- Supports the SVr1 subset, plus the SVr[234] numerics \fBnum_labels\fR, \fBlabel_height\fR, \fBlabel_width\fR, plus function keys 11 through 63, plus \fBplab_norm\fR, \fBlabel_on\fR, and \fBlabel_off\fR, plus some incompatible extensions in the string table. -.PP +.bP \fBAIX\fR \-\- Supports the SVr1 subset, plus function keys 11 through 63, plus a number of incompatible string table extensions. -.PP +.bP \fBOSF\fR \-\- Supports both the SVr4 set and the AIX extensions. .SH FILES @@ -1830,6 +1843,7 @@ files containing terminal descriptions \fBprintf\fR(3), \fBterm\fR(\*n). \fBterm_variables\fR(3X). +\fBuser_caps\fR(5). .SH AUTHORS Zeyd M. Ben-Halim, Eric S. Raymond, Thomas E. Dickey. Based on pcurses by Pavel Curtis.