X-Git-Url: http://ncurses.scripts.mit.edu/?a=blobdiff_plain;f=doc%2Fhtml%2Fman%2Fterminfo.5.html;h=859a54554379300821cb044c0e193dde7016feb0;hb=122d3739b3c11c83decc625d53f26fff6e825710;hp=d92aff11d07c1866fa644f3b5dbe62459c234f86;hpb=a09e8b13568e210a03ca4ad64e8552c0edea07c5;p=ncurses.git diff --git a/doc/html/man/terminfo.5.html b/doc/html/man/terminfo.5.html index d92aff11..859a5455 100644 --- a/doc/html/man/terminfo.5.html +++ b/doc/html/man/terminfo.5.html @@ -5,7 +5,7 @@ * Note: this must be run through tbl before nroff. * The magic cookie on the first line triggers this under some man programs. **************************************************************************** - * Copyright 2018-2020,2021 Thomas E. Dickey * + * Copyright 2018-2021,2023 Thomas E. Dickey * * Copyright 1998-2016,2017 Free Software Foundation, Inc. * * * * Permission is hereby granted, free of charge, to any person obtaining a * @@ -32,10 +32,10 @@ * sale, use or other dealings in this Software without prior written * * authorization. * **************************************************************************** - * @Id: terminfo.head,v 1.42 2021/12/25 17:39:16 tom Exp @ + * @Id: terminfo.head,v 1.53 2023/10/14 19:53:57 tom Exp @ * Head of terminfo man page ends here **************************************************************************** - * Copyright 2018-2021,2022 Thomas E. Dickey * + * Copyright 2018-2022,2023 Thomas E. Dickey * * Copyright 1998-2016,2017 Free Software Foundation, Inc. * * * * Permission is hereby granted, free of charge, to any person obtaining a * @@ -62,32 +62,31 @@ * sale, use or other dealings in this Software without prior written * * authorization. * **************************************************************************** - * @Id: terminfo.tail,v 1.113 2022/12/10 19:51:10 tom Exp @ + * @Id: terminfo.tail,v 1.134 2023/10/14 19:18:14 tom Exp @ *.in -2 *.in +2 *.in -2 *.in +2 - *.TH -->
--terminfo(5) File Formats terminfo(5) +terminfo(5) File formats terminfo(5)
- terminfo - terminal capability database + terminfo - terminal capability database
@@ -106,7 +105,7 @@ have, by specifying how to perform screen operations, and by specifying padding requirements and initialization sequences. - This manual describes ncurses version 6.3 (patch 20221210). + This manual describes ncurses version 6.4 (patch 20231111).
@@ -161,6 +160,7 @@ following suffixes should be used where possible: Suffix Meaning Example + ------------------------------------------------------------- -nn Number of lines on the screen aaa-60 -np Number of pages of memory c100-4p -am With automargins (usually the default) vt100-am @@ -243,25 +243,29 @@ terminfo description block and available to terminfo-using code. In each line of the table, - The variable is the name by which the programmer (at the terminfo - level) accesses the capability. + o The variable is the name by which the programmer (at the terminfo + level) accesses the capability. - The capname is the short name used in the text of the database, and is - used by a person updating the database. Whenever possible, capnames - are chosen to be the same as or similar to the ANSI X3.64-1979 standard - (now superseded by ECMA-48, which uses identical or very similar - names). Semantics are also intended to match those of the - specification. + o The capname (Cap-name) is the short name used in the text of the + database, and is used by a person updating the database. - The termcap code is the old termcap capability name (some capabilities - are new, and have names which termcap did not originate). + Whenever possible, capnames are chosen to be the same as or similar + to the ANSI X3.64-1979 standard (now superseded by ECMA-48, which + uses identical or very similar names). Semantics are also intended + to match those of the specification. - Capability names have no hard length limit, but an informal limit of 5 - characters has been adopted to keep them short and to allow the tabs in - the source file Caps to line up nicely. + Capability names have no hard length limit, but an informal limit + of 5 characters has been adopted to keep them short and to allow + the tabs in the source file Caps to line up nicely. - Finally, the description field attempts to convey the semantics of the - capability. You may find some codes in the description field: + o The termcap (Tcap) code is the old capability name (some + capabilities are new, and have names which termcap did not + originate). + + o Finally, the description field attempts to convey the semantics of + the capability. + + You may find some codes in the description field: (P) indicates that padding may be specified @@ -283,9 +287,6 @@ Variable Cap- TCap Description Booleans name Code - - - auto_left_margin bw bw cub1 wraps from column 0 to last column @@ -349,9 +350,9 @@ f2=ctrl C) no_pad_char npc NP pad character does not exist + non_dest_scroll_region ndscr ND scrolling region is non-destructive - non_rev_rmcup nrrmc NR smcup does not reverse rmcup over_strike os os terminal can @@ -417,7 +418,6 @@ with SVr4's printer support. - Variable Cap- TCap Description Numeric name Code bit_image_entwining bitwin Yo number of passes for @@ -483,7 +483,6 @@ change_res_horz chr ZC Change horizontal resolution to #1 - change_res_vert cvr ZD Change vertical resolution to #1 change_scroll_region csr cs change region to @@ -1172,9 +1171,14 @@ numbered keys and the handful of special named keys) is best done using the longer names available using terminfo. + The ncurses library uses a few of these user-defined capabilities, as + described in user_caps(5). Other user-defined capabilities (including + function keys) are described in the terminal database, in the section + on NCURSES USER-DEFINABLE CAPABILITIES +
- The following entry, describing an ANSI-standard terminal, is + The following entry, describing an ANSI-standard terminal, is representative of what a terminfo entry for a modern terminal typically looks like. @@ -1209,41 +1213,41 @@ smul=\E[4m, tbc=\E[3g, u6=\E[%i%d;%dR, u7=\E[6n, u8=\E[?%[;0123456789]c, u9=\E[c, vpa=\E[%i%p1%dd, - Entries may continue onto multiple lines by placing white space at the - beginning of each line except the first. Comments may be included on + Entries may continue onto multiple lines by placing white space at the + beginning of each line except the first. Comments may be included on lines beginning with "#". Capabilities in terminfo are of three types: - o Boolean capabilities which indicate that the terminal has some + o Boolean capabilities which indicate that the terminal has some particular feature, o numeric capabilities giving the size of the terminal or the size of particular delays, and - o string capabilities, which give a sequence which can be used to + o string capabilities, which give a sequence which can be used to perform particular terminal operations.
All capabilities have names. For instance, the fact that ANSI-standard - terminals have automatic margins (i.e., an automatic return and line- - feed when the end of a line is reached) is indicated by the capability - am. Hence the description of ansi includes am. Numeric capabilities - are followed by the character "#" and then a positive value. Thus + terminals have automatic margins (i.e., an automatic return and line- + feed when the end of a line is reached) is indicated by the capability + am. Hence the description of ansi includes am. Numeric capabilities + are followed by the character "#" and then a positive value. Thus cols, which indicates the number of columns the terminal has, gives the - value "80" for ansi. Values for numeric capabilities may be specified - in decimal, octal or hexadecimal, using the C programming language + value "80" for ansi. Values for numeric capabilities may be specified + in decimal, octal, or hexadecimal, using the C programming language conventions (e.g., 255, 0377 and 0xff or 0xFF). - Finally, string valued capabilities, such as el (clear to end of line - sequence) are given by the two-character code, an "=", and then a + Finally, string valued capabilities, such as el (clear to end of line + sequence) are given by the two-character code, an "=", and then a string ending at the next following ",". - A number of escape sequences are provided in the string valued + A number of escape sequences are provided in the string valued capabilities for easy encoding of characters there: o Both \E and \e map to an ESCAPE character, - o ^x maps to a control-x for any appropriate x, and + o ^xx maps to a control-x for any appropriate x, and o the sequences @@ -1256,9 +1260,9 @@ respectively. X/Open Curses does not say what "appropriate x" 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 + 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. Other escapes include @@ -1274,70 +1278,89 @@ o and \0 for null. \0 will produce \200, which does not terminate a string but behaves - as a null character on most terminals, providing CS7 is specified. + as a null character on most terminals, providing CS7 is specified. See stty(1). - The reason for this quirk is to maintain binary compatibility of - the compiled terminfo files with other implementations, e.g., the - SVr4 systems, which document this. Compiled terminfo files use - null-terminated strings, with no lengths. Modifying this would - require a new binary format, which would not work with other + The reason for this quirk is to maintain binary compatibility of + the compiled terminfo files with other implementations, e.g., the + SVr4 systems, which document this. Compiled terminfo files use + null-terminated strings, with no lengths. Modifying this would + require a new binary format, which would not work with other implementations. Finally, characters may be given as three octal digits after a \. - A delay in milliseconds may appear anywhere in a string capability, - enclosed in $<..> brackets, as in el=\EK$<5>, and padding characters + A delay in milliseconds may appear anywhere in a string capability, + enclosed in $<..> brackets, as in el=\EK$<5>, and padding characters are supplied by tputs(3x) to provide this delay. - o The delay must be a number with at most one decimal place of + o The delay must be a number with at most one decimal place of precision; it may be followed by suffixes "*" or "/" or both. - o A "*" indicates that the padding required is proportional to the - number of lines affected by the operation, and the amount given is - the per-affected-unit padding required. (In the case of insert + o A "*" indicates that the padding required is proportional to the + number of lines affected by the operation, and the amount given is + the per-affected-unit padding required. (In the case of insert character, the factor is still the number of lines affected.) Normally, padding is advisory if the device has the xon capability; it is used for cost computation but does not trigger delays. - o A "/" suffix indicates that the padding is mandatory and forces a + o A "/" suffix indicates that the padding is mandatory and forces a delay of the given number of milliseconds even on devices for which xon is present to indicate flow control. - Sometimes individual capabilities must be commented out. To do this, - put a period before the capability name. For example, see the second + Sometimes individual capabilities must be commented out. To do this, + put a period before the capability name. For example, see the second ind in the example above.
- The ncurses library searches for terminal descriptions in several - places. It uses only the first description found. The library has a - compiled-in list of places to search which can be overridden by - environment variables. Before starting to search, ncurses eliminates - duplicates in its search list. + Terminal descriptions in ncurses are stored in terminal databases. + These databases, which are found by their pathname, may be configured + either as directory trees or hashed databases (see term(5)), + + The library uses a compiled-in list of pathnames, which can be + overridden by environment variables. Before starting to search, + ncurses checks the search list, eliminating duplicates and pathnames + where no terminal database is found. The ncurses library reads the + first description which passes its consistency checks. + + o The environment variable TERMINFO is checked first, for a terminal + database containing the terminal description. - o If the environment variable TERMINFO is set, it is interpreted as - the pathname of a directory containing the compiled description you - are working on. Only that directory is searched. + o Next, ncurses looks in $HOME/.terminfo for a compiled description. - o If TERMINFO is not set, ncurses will instead look in the directory - $HOME/.terminfo for a compiled description. + This is an optional feature which may be omitted entirely from the + library, or limited to prevent accidental use by privileged + applications. - o Next, if the environment variable TERMINFO_DIRS is set, ncurses - will interpret the contents of that variable as a list of colon- - separated directories (or database files) to be searched. + o Next, if the environment variable TERMINFO_DIRS is set, ncurses + interprets the contents of that variable as a list of colon- + separated pathnames of terminal databases to be searched. - An empty directory name (i.e., if the variable begins or ends with - a colon, or contains adjacent colons) is interpreted as the system + An empty pathname (i.e., if the variable begins or ends with a + colon, or contains adjacent colons) is interpreted as the system location /usr/share/terminfo. o Finally, ncurses searches these compiled-in locations: - o a list of directories (no default value), and + o a list of directories (/usr/share/terminfo), and - o the system terminfo directory, /usr/share/terminfo (the - compiled-in default). + o the system terminfo directory, /usr/share/terminfo + + The TERMINFO variable can contain a terminal description instead of the + pathname of a terminal database. If this variable begins with "hex:" + or "b64:" then ncurses reads a terminal description from hexadecimal- + or base64-encoded data, and if that description matches the name + sought, will use that. This encoded data can be set using the "-Q" + option of tic or infocmp. + + The preceding addresses the usual configuration of ncurses, which uses + terminal descriptions prepared in terminfo format. While termcap is + less expressive, ncurses can also be configured to read termcap + descriptions. In that configuration, it checks the TERMCAP and + TERMPATH variables (for content and search path, respectively) after + the system terminal database.
@@ -1450,7 +1473,7 @@ the next character to be a "-" flag, avoiding interpreting "%-" as an operator. - %c print pop() like %c in printf + %c print pop() like %c in printf %s print pop() like %s in printf @@ -1550,28 +1573,31 @@ variables are persistent across escape-string evaluations. Consider the HP2645, which, to get to row 3 and column 12, needs to be - sent \E&a12c03Y padded for 6 milliseconds. Note that the order of the - rows and columns is inverted here, and that the row and column are - printed as two digits. Thus its cup capability is - "cup=6\E&%p2%2dc%p1%2dY". - - The Microterm ACT-IV needs the current row and column sent preceded by - a ^T, with the row and column simply encoded in binary, - "cup=^T%p1%c%p2%c". Terminals which use "%c" need to be able to - backspace the cursor (cub1), and to move the cursor up one line on the - screen (cuu1). This is necessary because it is not always safe to - transmit \n ^D and \r, as the system may change or discard them. (The - library routines dealing with terminfo set tty modes so that tabs are - never expanded, so \t is safe to send. This turns out to be essential - for the Ann Arbor 4080.) - - A final example is the LSI ADM-3a, which uses row and column offset by - a blank character, thus "cup=\E=%p1%' '%+%c%p2%' '%+%c". After sending - "\E=", this pushes the first parameter, pushes the ASCII value for a - space (32), adds them (pushing the sum on the stack in place of the two - previous values) and outputs that value as a character. Then the same - is done for the second parameter. More complex arithmetic is possible - using the stack. + sent \E&a12c03Y padded for 6 milliseconds. The order of the rows and + columns is inverted here, and the row and column are printed as two + digits. The corresponding terminal description is expressed thus: + cup=\E&a%p2%dc%p1%dY$<6>, + + The Microterm ACT-IV needs the current row and column sent preceded by + a ^T, with the row and column simply encoded in binary, + cup=^T%p1%c%p2%c + + Terminals which use "%c" need to be able to backspace the cursor + (cub1), and to move the cursor up one line on the screen (cuu1). This + is necessary because it is not always safe to transmit \n ^D and \r, as + the system may change or discard them. (The library routines dealing + with terminfo set tty modes so that tabs are never expanded, so \t is + safe to send. This turns out to be essential for the Ann Arbor 4080.) + + A final example is the LSI ADM-3a, which uses row and column offset by + a blank character, thus + cup=\E=%p1%' '%+%c%p2%' '%+%c + + After sending "\E=", this pushes the first parameter, pushes the ASCII + value for a space (32), adds them (pushing the sum on the stack in + place of the two previous values) and outputs that value as a + character. Then the same is done for the second parameter. More + complex arithmetic is possible using the stack.
@@ -1652,18 +1678,18 @@ These are the margin-related capabilities: - Name Description - ------------------------------------------------------ - smgl Set left margin at current column - smgr Set right margin at current column - smgb Set bottom margin at current line - smgt Set top margin at current line - smgbp Set bottom margin at line N - smglp Set left margin at column N - smgrp Set right margin at column N - smgtp Set top margin at line N - smglr Set both left and right margins to L and R - smgtb Set both top and bottom margins to T and B + Name Description + --------------------------------------------------- + smgl Set left margin at current column + smgr Set right margin at current column + smgb Set bottom margin at current line + smgt Set top margin at current line + smgbp Set bottom margin at line N + smglp Set left margin at column N + smgrp Set right margin at column N + smgtp Set top margin at line N + smglr Set both left and right margins to L and R + smgtb Set both top and bottom margins to T and B When writing an application that uses these string capabilities, the pairs should be first checked to see if each capability in the pair is @@ -1887,26 +1913,26 @@ If there is a sequence to set arbitrary combinations of modes, this should be given as sgr (set attributes), taking 9 parameters. Each - parameter is either 0 or nonzero, as the corresponding attribute is on - or off. The 9 parameters are, in order: standout, underline, reverse, - blink, dim, bold, blank, protect, alternate character set. Not all - modes need be supported by sgr, only those for which corresponding - separate attribute commands exist. + parameter is either zero (0) or nonzero, as the corresponding attribute + is on or off. The 9 parameters are, in order: standout, underline, + reverse, blink, dim, bold, blank, protect, alternate character set. + Not all modes need be supported by sgr, only those for which + corresponding separate attribute commands exist. For example, the DEC vt220 supports most of the modes: - tparm parameter attribute escape sequence - - none none \E[0m - p1 standout \E[0;1;7m - p2 underline \E[0;4m - p3 reverse \E[0;7m - p4 blink \E[0;5m - p5 dim not available - p6 bold \E[0;1m - p7 invis \E[0;8m - p8 protect not used - p9 altcharset ^O (off) ^N (on) + tparm Parameter Attribute Escape Sequence + ------------------------------------------------ + none none \E[0m + p1 standout \E[0;1;7m + p2 underline \E[0;4m + p3 reverse \E[0;7m + p4 blink \E[0;5m + p5 dim not available + p6 bold \E[0;1m + p7 invis \E[0;8m + p8 protect not used + p9 altcharset ^O (off) ^N (on) We begin each escape sequence by turning off any existing modes, since there is no quick way to determine whether they are active. Standout @@ -1923,16 +1949,16 @@ Writing out the above sequences, along with their dependencies yields - sequence when to output terminfo translation - - \E[0 always \E[0 - ;1 if p1 or p6 %?%p1%p6%|%t;1%; - ;4 if p2 %?%p2%|%t;4%; - ;5 if p4 %?%p4%|%t;5%; - ;7 if p1 or p3 %?%p1%p3%|%t;7%; - ;8 if p7 %?%p7%|%t;8%; - m always m - ^N or ^O if p9 ^N, else ^O %?%p9%t^N%e^O%; + Sequence When to Output terminfo Translation + ---------------------------------------------------- + \E[0 always \E[0 + ;1 if p1 or p6 %?%p1%p6%|%t;1%; + ;4 if p2 %?%p2%|%t;4%; + ;5 if p4 %?%p4%|%t;5%; + ;7 if p1 or p3 %?%p1%p3%|%t;7%; + ;8 if p7 %?%p7%|%t;8%; + m always m + ^N or ^O if p9 ^N, else ^O %?%p9%t^N%e^O%; Putting this all together into the sgr sequence gives: @@ -2216,42 +2242,41 @@ 4410v1 added. This alternate character set may be specified by the acsc capability. - Glyph ACS Ascii acsc acsc - Name Name Default Char Value + ASCII acsc acsc + Glyph Name ACS Name Fallback Symbol Value -------------------------------------------------------------------- - 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 \ 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 + 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 \ 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 A few notes apply to the table itself: @@ -2332,28 +2357,30 @@ free to map these as it likes, but the RGB values indicate normal locations in color space. - Color #define Value RGB - black COLOR_BLACK 0 0, 0, 0 - red COLOR_RED 1 max,0,0 - green COLOR_GREEN 2 0,max,0 - yellow COLOR_YELLOW 3 max,max,0 - blue COLOR_BLUE 4 0,0,max - magenta COLOR_MAGENTA 5 max,0,max - cyan COLOR_CYAN 6 0,max,max - white COLOR_WHITE 7 max,max,max + Color #define Value RGB + ------------------------------------------------ + black COLOR_BLACK 0 0, 0, 0 + red COLOR_RED 1 max, 0, 0 + green COLOR_GREEN 2 0, max, 0 + yellow COLOR_YELLOW 3 max, max, 0 + blue COLOR_BLUE 4 0, 0, max + magenta COLOR_MAGENTA 5 max, 0, max + cyan COLOR_CYAN 6 0, max, max + white COLOR_WHITE 7 max, max, max The argument values of setf/setb historically correspond to a different mapping, i.e., - Color #define Value RGB - black COLOR_BLACK 0 0, 0, 0 - blue COLOR_BLUE 1 0,0,max - green COLOR_GREEN 2 0,max,0 - cyan COLOR_CYAN 3 0,max,max - red COLOR_RED 4 max,0,0 - magenta COLOR_MAGENTA 5 max,0,max - yellow COLOR_YELLOW 6 max,max,0 - white COLOR_WHITE 7 max,max,max + Color #define Value RGB + ------------------------------------------------ + black COLOR_BLACK 0 0, 0, 0 + blue COLOR_BLUE 1 0, 0, max + green COLOR_GREEN 2 0, max, 0 + cyan COLOR_CYAN 3 0, max, max + red COLOR_RED 4 max, 0, 0 + magenta COLOR_MAGENTA 5 max, 0, max + yellow COLOR_YELLOW 6 max, max, 0 + white COLOR_WHITE 7 max, max, max It is important to not confuse the two sets of color capabilities; otherwise red/blue will be interchanged on the display. @@ -2383,23 +2410,25 @@ of attributes not to be used when colors are enabled. The correspondence with the attributes understood by curses is as follows: - Attribute Bit Decimal Set by - A_STANDOUT 0 1 sgr - A_UNDERLINE 1 2 sgr - A_REVERSE 2 4 sgr - A_BLINK 3 8 sgr - A_DIM 4 16 sgr - A_BOLD 5 32 sgr - A_INVIS 6 64 sgr - A_PROTECT 7 128 sgr - A_ALTCHARSET 8 256 sgr - A_HORIZONTAL 9 512 sgr1 - A_LEFT 10 1024 sgr1 - A_LOW 11 2048 sgr1 - A_RIGHT 12 4096 sgr1 - A_TOP 13 8192 sgr1 - A_VERTICAL 14 16384 sgr1 - A_ITALIC 15 32768 sitm + Attribute Bit Decimal Set by + -------------------------------------- + A_STANDOUT 0 1 sgr + A_UNDERLINE 1 2 sgr + A_REVERSE 2 4 sgr + A_BLINK 3 8 sgr + A_DIM 4 16 sgr + A_BOLD 5 32 sgr + A_INVIS 6 64 sgr + A_PROTECT 7 128 sgr + A_ALTCHARSET 8 256 sgr + A_HORIZONTAL 9 512 sgr1 + A_LEFT 10 1024 sgr1 + A_LOW 11 2048 sgr1 + A_RIGHT 12 4096 sgr1 + A_TOP 13 8192 sgr1 + + A_VERTICAL 14 16384 sgr1 + A_ITALIC 15 32768 sitm For example, on many IBM PC consoles, the underline attribute collides with the foreground color blue and is not available in color mode. @@ -2513,12 +2542,18 @@ safe length for a termcap entry 1k-1 (1023) bytes. Depending on what the application and the termcap library being used does, and where in the termcap file the terminal type that tgetent is searching for is, - several bad things can happen. + several bad things can happen: + + o some termcap libraries print a warning message, + + o some exit if they find an entry that's longer than 1023 bytes, + + o some neither exit nor warn, doing nothing useful, and + + o some simply truncate the entries to 1023 bytes. - Some termcap libraries print a warning message or exit if they find an - entry that's longer than 1023 bytes; others do not; others truncate the - entries to 1023 bytes. Some application programs allocate more than - the recommended 1K for the termcap entry; others do not. + Some application programs allocate more than the recommended 1K for the + termcap entry; others do not. Each termcap entry has two important sizes associated with it: before "tc" expansion, and after "tc" expansion. "tc" is the capability that @@ -2612,9 +2647,9 @@ X/Open Curses does not mention italics. Portable applications must assume that numeric capabilities are signed 16-bit values. This - includes the no_color_video (ncv) capability. The 32768 mask value - used for italics with ncv can be confused with an absent or cancelled - ncv. If italics should work with colors, then the ncv value must be + includes the no_color_video (ncv) capability. The 32768 mask value + used for italics with ncv can be confused with an absent or cancelled + ncv. If italics should work with colors, then the ncv value must be specified, even if it is zero. Different commercial ports of terminfo and curses support different @@ -2642,13 +2677,8 @@
- /usr/share/terminfo/?/* files containing terminal descriptions - - -
- infocmp(1m), tabs(1), tic(1m), curses(3x), curs_color(3x), - curs_variables(3x), printf(3), term_variables(3x). term(5). - user_caps(5). + /usr/share/terminfo + compiled terminal description database directory
@@ -2656,8 +2686,14 @@ by Pavel Curtis. +
+ infocmp(1m), tabs(1), tic(1m), curses(3x), curs_color(3x), + curs_terminfo(3x), curs_variables(3x), printf(3), term_variables(3x), + term(5), user_caps(5) + + - terminfo(5) +ncurses 6.4 2023-10-14 terminfo(5)