X-Git-Url: http://ncurses.scripts.mit.edu/?p=ncurses.git;a=blobdiff_plain;f=doc%2Fhtml%2Fman%2Fncurses.3x.html;h=530b293ac1c87f23be19f7ced997adcf50ff9ced;hp=57f28a07111c8f87a8135c63a183bbdd1194e5b0;hb=f367fa254ce3fe29710c86971f04e03111c2bd2c;hpb=f86cbeb5f9bd96ab041d34039c35749a14965039 diff --git a/doc/html/man/ncurses.3x.html b/doc/html/man/ncurses.3x.html index 57f28a07..530b293a 100644 --- a/doc/html/man/ncurses.3x.html +++ b/doc/html/man/ncurses.3x.html @@ -28,7 +28,7 @@ * sale, use or other dealings in this Software without prior written * * authorization. * **************************************************************************** - * @Id: ncurses.3x,v 1.103 2011/02/05 23:21:29 tom Exp @ + * @Id: ncurses.3x,v 1.106 2011/12/17 23:19:59 tom Exp @ -->
@@ -63,7 +63,7 @@ sonable optimization. This implementation is ``new curses'' (ncurses) and is the approved replacement for 4.4BSD classic curses, which has been discontinued. This - describes ncurses version 5.8 (patch 20110226). + describes ncurses version 5.9 (patch 20120107). The ncurses library emulates the curses library of System V Release 4 UNIX, and XPG4 (X/Open Portability Guide) @@ -757,9 +757,12 @@ pletion, unless otherwise noted in the routine descrip- tions. - All macros return the value of the w version, except + As a general rule, routines check for null pointers passed + as parameters, and handle this as an error. + + All macros return the value of the w version, except setscrreg, wsetscrreg, getyx, getbegyx, and getmaxyx. The - return values of setscrreg, wsetscrreg, getyx, getbegyx, + return values of setscrreg, wsetscrreg, getyx, getbegyx, and getmaxyx are undefined (i.e., these should not be used as the right-hand side of assignment statements). @@ -773,46 +776,46 @@ important ones have been already discussed in detail. BAUDRATE - The debugging library checks this environment symbol + The debugging library checks this environment symbol when the application has redirected output to a file. - The symbol's numeric value is used for the baudrate. + The symbol's numeric value is used for the baudrate. If no value is found, ncurses uses 9600. This allows - testers to construct repeatable test-cases that take + testers to construct repeatable test-cases that take into account costs that depend on baudrate. CC When set, change occurrences of the command_character - (i.e., the cmdch capability) of the loaded terminfo - entries to the value of this symbol. Very few ter- + (i.e., the cmdch capability) of the loaded terminfo + entries to the value of this symbol. Very few ter- minfo entries provide this feature. - Because this name is also used in development envi- - ronments to represent the C compiler's name, ncurses + Because this name is also used in development envi- + ronments to represent the C compiler's name, ncurses ignores it if it does not happen to be a single char- acter. COLUMNS Specify the width of the screen in characters. - Applications running in a windowing environment usu- - ally are able to obtain the width of the window in - which they are executing. If neither the COLUMNS - value nor the terminal's screen size is available, - ncurses uses the size which may be specified in the + Applications running in a windowing environment usu- + ally are able to obtain the width of the window in + which they are executing. If neither the COLUMNS + value nor the terminal's screen size is available, + ncurses uses the size which may be specified in the terminfo database (i.e., the cols capability). - It is important that your application use a correct - size for the screen. This is not always possible - because your application may be running on a host - which does not honor NAWS (Negotiations About Window - Size), or because you are temporarily running as - another user. However, setting COLUMNS and/or LINES + It is important that your application use a correct + size for the screen. This is not always possible + because your application may be running on a host + which does not honor NAWS (Negotiations About Window + Size), or because you are temporarily running as + another user. However, setting COLUMNS and/or LINES overrides the library's use of the screen size obtained from the operating system. - Either COLUMNS or LINES symbols may be specified - independently. This is mainly useful to circumvent - legacy misfeatures of terminal descriptions, e.g., + Either COLUMNS or LINES symbols may be specified + independently. This is mainly useful to circumvent + legacy misfeatures of terminal descriptions, e.g., xterm which commonly specifies a 65 line screen. For - best results, lines and cols should not be specified + best results, lines and cols should not be specified in a terminal description for terminals which are run as emulations. @@ -821,35 +824,35 @@ the screen size. ESCDELAY - Specifies the total time, in milliseconds, for which - ncurses will await a character sequence, e.g., a - function key. The default value, 1000 milliseconds, + Specifies the total time, in milliseconds, for which + ncurses will await a character sequence, e.g., a + function key. The default value, 1000 milliseconds, is enough for most uses. However, it is made a vari- able to accommodate unusual applications. The most common instance where you may wish to change - this value is to work with slow hosts, e.g., running - on a network. If the host cannot read characters - rapidly enough, it will have the same effect as if - the terminal did not send characters rapidly enough. + this value is to work with slow hosts, e.g., running + on a network. If the host cannot read characters + rapidly enough, it will have the same effect as if + the terminal did not send characters rapidly enough. The library will still see a timeout. - Note that xterm mouse events are built up from char- - acter sequences received from the xterm. If your + Note that xterm mouse events are built up from char- + acter sequences received from the xterm. If your application makes heavy use of multiple-clicking, you - may wish to lengthen this default value because the - timeout applies to the composed multi-click event as + may wish to lengthen this default value because the + timeout applies to the composed multi-click event as well as the individual clicks. - In addition to the environment variable, this imple- - mentation provides a global variable with the same + In addition to the environment variable, this imple- + mentation provides a global variable with the same name. Portable applications should not rely upon the - presence of ESCDELAY in either form, but setting the - environment variable rather than the global variable - does not create problems when compiling an applica- + presence of ESCDELAY in either form, but setting the + environment variable rather than the global variable + does not create problems when compiling an applica- tion. - HOME Tells ncurses where your home directory is. That is + HOME Tells ncurses where your home directory is. That is where it may read and write auxiliary terminal descriptions: @@ -857,12 +860,12 @@ $HOME/.terminfo LINES - Like COLUMNS, specify the height of the screen in - characters. See COLUMNS for a detailed description. + Like COLUMNS, specify the height of the screen in + characters. See COLUMNS for a detailed description. MOUSE_BUTTONS_123 This applies only to the OS/2 EMX port. It specifies - the order of buttons on the mouse. OS/2 numbers a + the order of buttons on the mouse. OS/2 numbers a 3-button mouse inconsistently from other platforms: 1 = left @@ -870,109 +873,109 @@ 3 = middle. This symbol lets you customize the mouse. The symbol - must be three numeric digits 1-3 in any order, e.g., - 123 or 321. If it is not specified, ncurses uses + must be three numeric digits 1-3 in any order, e.g., + 123 or 321. If it is not specified, ncurses uses 132. NCURSES_ASSUMED_COLORS - Override the compiled-in assumption that the termi- - nal's default colors are white-on-black (see - default_colors(3x)). You may set the foreground and - background color values with this environment vari- - able by proving a 2-element list: foreground,back- - ground. For example, to tell ncurses to not assume - anything about the colors, set this to "-1,-1". To - make it green-on-black, set it to "2,0". Any posi- + Override the compiled-in assumption that the termi- + nal's default colors are white-on-black (see + default_colors(3x)). You may set the foreground and + background color values with this environment vari- + able by proving a 2-element list: foreground,back- + ground. For example, to tell ncurses to not assume + anything about the colors, set this to "-1,-1". To + make it green-on-black, set it to "2,0". Any posi- tive value from zero to the terminfo max_colors value is allowed. NCURSES_GPM_TERMS - This applies only to ncurses configured to use the + This applies only to ncurses configured to use the GPM interface. If present, the environment variable is a list of one - or more terminal names against which the TERM envi- - ronment variable is matched. Setting it to an empty - value disables the GPM interface; using the built-in + or more terminal names against which the TERM envi- + ronment variable is matched. Setting it to an empty + value disables the GPM interface; using the built-in support for xterm, etc. - If the environment variable is absent, ncurses will + If the environment variable is absent, ncurses will attempt to open GPM if TERM contains "linux". NCURSES_NO_HARD_TABS - Ncurses may use tabs as part of the cursor movement - optimization. In some cases, your terminal driver - may not handle these properly. Set this environment + Ncurses may use tabs as part of the cursor movement + optimization. In some cases, your terminal driver + may not handle these properly. Set this environment variable to disable the feature. You can also adjust your stty settings to avoid the problem. NCURSES_NO_MAGIC_COOKIES Some terminals use a magic-cookie feature which - requires special handling to make highlighting and - other video attributes display properly. You can - suppress the highlighting entirely for these termi- - nals by setting this environment variable. + requires special handling to make highlighting and + other video attributes display properly. You can + suppress the highlighting entirely for these + terminals by setting this environment variable. NCURSES_NO_PADDING - Most of the terminal descriptions in the terminfo - database are written for real "hardware" terminals. - Many people use terminal emulators which run in a - windowing environment and use curses-based applica- - tions. Terminal emulators can duplicate all of the + Most of the terminal descriptions in the terminfo + database are written for real "hardware" terminals. + Many people use terminal emulators which run in a + windowing environment and use curses-based applica- + tions. Terminal emulators can duplicate all of the important aspects of a hardware terminal, but they do - not have the same limitations. The chief limitation - of a hardware terminal from the standpoint of your + not have the same limitations. The chief limitation + of a hardware terminal from the standpoint of your application is the management of dataflow, i.e., tim- ing. Unless a hardware terminal is interfaced into a - terminal concentrator (which does flow control), it - (or your application) must manage dataflow, prevent- - ing overruns. The cheapest solution (no hardware + terminal concentrator (which does flow control), it + (or your application) must manage dataflow, prevent- + ing overruns. The cheapest solution (no hardware cost) is for your program to do this by pausing after - operations that the terminal does slowly, such as + operations that the terminal does slowly, such as clearing the display. - As a result, many terminal descriptions (including - the vt100) have delay times embedded. You may wish - to use these descriptions, but not want to pay the + As a result, many terminal descriptions (including + the vt100) have delay times embedded. You may wish + to use these descriptions, but not want to pay the performance penalty. - Set the NCURSES_NO_PADDING symbol to disable all but - mandatory padding. Mandatory padding is used as a + Set the NCURSES_NO_PADDING symbol to disable all but + mandatory padding. Mandatory padding is used as a part of special control sequences such as flash. NCURSES_NO_SETBUF - Normally ncurses enables buffered output during ter- - minal initialization. This is done (as in SVr4 - curses) for performance reasons. For testing pur- + Normally ncurses enables buffered output during ter- + minal initialization. This is done (as in SVr4 + curses) for performance reasons. For testing pur- poses, both of ncurses and certain applications, this feature is made optional. Setting the NCURSES_NO_SETBUF variable disables output buffering, - leaving the output in the original (usually line + leaving the output in the original (usually line buffered) mode. NCURSES_NO_UTF8_ACS During initialization, the ncurses library checks for - special cases where VT100 line-drawing (and the cor- - responding alternate character set capabilities) - described in the terminfo are known to be missing. - Specifically, when running in a UTF-8 locale, the - Linux console emulator and the GNU screen program - ignore these. Ncurses checks the TERM environment - variable for these. For other special cases, you - should set this environment variable. Doing this - tells ncurses to use Unicode values which correspond + special cases where VT100 line-drawing (and the cor- + responding alternate character set capabilities) + described in the terminfo are known to be missing. + Specifically, when running in a UTF-8 locale, the + Linux console emulator and the GNU screen program + ignore these. Ncurses checks the TERM environment + variable for these. For other special cases, you + should set this environment variable. Doing this + tells ncurses to use Unicode values which correspond to the VT100 line-drawing glyphs. That works for the special cases cited, and is likely to work for termi- nal emulators. - When setting this variable, you should set it to a - nonzero value. Setting it to zero (or to a nonnum- - ber) disables the special check for "linux" and + When setting this variable, you should set it to a + nonzero value. Setting it to zero (or to a nonnum- + ber) disables the special check for "linux" and "screen". - As an alternative to the environment variable, - ncurses checks for an extended terminfo capability - U8. This is a numeric capability which can be com- + As an alternative to the environment variable, + ncurses checks for an extended terminfo capability + U8. This is a numeric capability which can be com- piled using tic -x. For example # linux console, if patched to provide working @@ -985,43 +988,43 @@ U8#1, use=xterm, The name "U8" is chosen to be two characters, to per- - mit it to be used by applications that use ncurses' + mit it to be used by applications that use ncurses' termcap interface. NCURSES_TRACE - During initialization, the ncurses debugging library - checks the NCURSES_TRACE symbol. If it is defined, + During initialization, the ncurses debugging library + checks the NCURSES_TRACE symbol. If it is defined, to a numeric value, ncurses calls the trace function, using that value as the argument. - The argument values, which are defined in curses.h, - provide several types of information. When running - with traces enabled, your application will write the + The argument values, which are defined in curses.h, + provide several types of information. When running + with traces enabled, your application will write the file trace to the current directory. - TERM Denotes your terminal type. Each terminal type is + TERM Denotes your terminal type. Each terminal type is distinct, though many are similar. TERMCAP If the ncurses library has been configured with term- - cap support, ncurses will check for a terminal's + cap support, ncurses will check for a terminal's description in termcap form if it is not available in the terminfo database. - The TERMCAP symbol contains either a terminal - description (with newlines stripped out), or a file - name telling where the information denoted by the - TERM symbol exists. In either case, setting it - directs ncurses to ignore the usual place for this + The TERMCAP symbol contains either a terminal + description (with newlines stripped out), or a file + name telling where the information denoted by the + TERM symbol exists. In either case, setting it + directs ncurses to ignore the usual place for this information, e.g., /etc/termcap. TERMINFO Overrides the directory in which ncurses searches for your terminal description. This is the simplest, but - not the only way to change the list of directories. + not the only way to change the list of directories. The complete list of directories in order follows: - o the last directory to which ncurses wrote, if + o the last directory to which ncurses wrote, if any, is searched first o the directory specified by the TERMINFO symbol @@ -1030,62 +1033,70 @@ o directories listed in the TERMINFO_DIRS symbol - o one or more directories whose names are config- + o one or more directories whose names are config- ured and compiled into the ncurses library, e.g., /usr/share/terminfo TERMINFO_DIRS - Specifies a list of directories to search for termi- - nal descriptions. The list is separated by colons - (i.e., ":") on Unix, semicolons on OS/2 EMX. All of + Specifies a list of directories to search for termi- + nal descriptions. The list is separated by colons + (i.e., ":") on Unix, semicolons on OS/2 EMX. All of the terminal descriptions are in terminfo form, which - makes a subdirectory named for the first letter of + makes a subdirectory named for the first letter of the terminal names therein. + If ncurses is built with a hashed database, then each + entry in this list can also be the path of the corre- + sponding database file. + + If ncurses is built with a support for reading term- + cap files directly, then an entry in this list may be + the path of a termcap file. + TERMPATH - If TERMCAP does not hold a file name then ncurses - checks the TERMPATH symbol. This is a list of file- - names separated by spaces or colons (i.e., ":") on + If TERMCAP does not hold a file name then ncurses + checks the TERMPATH symbol. This is a list of file- + names separated by spaces or colons (i.e., ":") on Unix, semicolons on OS/2 EMX. If the TERMPATH symbol - is not set, ncurses looks in the files /etc/termcap, - /usr/share/misc/termcap and $HOME/.termcap, in that + is not set, ncurses looks in the files /etc/termcap, + /usr/share/misc/termcap and $HOME/.termcap, in that order. - The library may be configured to disregard the following - variables when the current user is the superuser (root), - or if the application uses setuid or setgid permissions: + The library may be configured to disregard the following + variables when the current user is the superuser (root), + or if the application uses setuid or setgid permissions: $TERMINFO, $TERMINFO_DIRS, $TERMPATH, as well as $HOME.- Several different configurations are possible, depending - on the configure script options used when building - ncurses. There are a few main options whose effects are + Several different configurations are possible, depending + on the configure script options used when building + ncurses. There are a few main options whose effects are visible to the applications developer using ncurses: --disable-overwrite - The standard include for ncurses is as noted in SYN- + The standard include for ncurses is as noted in SYN- OPSIS: #include <curses.h> - This option is used to avoid filename conflicts when - ncurses is not the main implementation of curses of - the computer. If ncurses is installed disabling - overwrite, it puts its headers in a subdirectory, + This option is used to avoid filename conflicts when + ncurses is not the main implementation of curses of + the computer. If ncurses is installed disabling + overwrite, it puts its headers in a subdirectory, e.g., #include <ncurses/curses.h> - It also omits a symbolic link which would allow you + It also omits a symbolic link which would allow you to use -lcurses to build executables. --enable-widec - The configure script renames the library and (if the - --disable-overwrite option is used) puts the header + The configure script renames the library and (if the + --disable-overwrite option is used) puts the header files in a different subdirectory. All of the - library names have a "w" appended to them, i.e., + library names have a "w" appended to them, i.e., instead of -lncurses @@ -1095,16 +1106,16 @@ -lncursesw You must also define _XOPEN_SOURCE_EXTENDED when com- - piling for the wide-character library to use the - extended (wide-character) functions. The curses.h - file which is installed for the wide-character - library is designed to be compatible with the normal + piling for the wide-character library to use the + extended (wide-character) functions. The curses.h + file which is installed for the wide-character + library is designed to be compatible with the normal library's header. Only the size of the WINDOW struc- - ture differs, and very few applications require more - than a pointer to WINDOWs. If the headers are - installed allowing overwrite, the wide-character - library's headers should be installed last, to allow - applications to be built using either library from + ture differs, and very few applications require more + than a pointer to WINDOWs. If the headers are + installed allowing overwrite, the wide-character + library's headers should be installed last, to allow + applications to be built using either library from the same set of headers. --with-shared @@ -1114,16 +1125,16 @@ --with-debug --with-profile - The shared and normal (static) library names differ - by their suffixes, e.g., libncurses.so and - libncurses.a. The debug and profiling libraries add - a "_g" and a "_p" to the root names respectively, + The shared and normal (static) library names differ + by their suffixes, e.g., libncurses.so and + libncurses.a. The debug and profiling libraries add + a "_g" and a "_p" to the root names respectively, e.g., libncurses_g.a and libncurses_p.a. --with-trace - The trace function normally resides in the debug + The trace function normally resides in the debug library, but it is sometimes useful to configure this - in the shared library. Configure scripts should + in the shared library. Configure scripts should check for the function's existence rather than assum- ing it is always in the debug library. @@ -1131,14 +1142,14 @@
/usr/share/tabset - directory containing initialization files for the + directory containing initialization files for the terminal capability database /usr/share/terminfo ter- minal capability database
- terminfo(5) and related pages whose names begin "curs_" + terminfo(5) and related pages whose names begin "curs_" for detailed routine descriptions. curs_variables(3x) @@ -1148,52 +1159,61 @@ The ncurses library can be compiled with an option (-DUSE_GETCAP) that falls back to the old-style /etc/term- cap file if the terminal setup code cannot find a terminfo - entry corresponding to TERM. Use of this feature is not - recommended, as it essentially includes an entire termcap - compiler in the ncurses startup code, at significant cost + entry corresponding to TERM. Use of this feature is not + recommended, as it essentially includes an entire termcap + compiler in the ncurses startup code, at significant cost in core and startup cycles. - The ncurses library includes facilities for capturing - mouse events on certain terminals (including xterm). See + The ncurses library includes facilities for capturing + mouse events on certain terminals (including xterm). See the curs_mouse(3x) manual page for details. - The ncurses library includes facilities for responding to - window resizing events, e.g., when running in an xterm. - See the resizeterm(3x) and wresize(3x) manual pages for - details. In addition, the library may be configured with + The ncurses library includes facilities for responding to + window resizing events, e.g., when running in an xterm. + See the resizeterm(3x) and wresize(3x) manual pages for + details. In addition, the library may be configured with a SIGWINCH handler. - The ncurses library extends the fixed set of function key - capabilities of terminals by allowing the application - designer to define additional key sequences at runtime. + The ncurses library extends the fixed set of function key + capabilities of terminals by allowing the application + designer to define additional key sequences at runtime. See the define_key(3x) key_defined(3x), and keyok(3x) man- ual pages for details. The ncurses library can exploit the capabilities of termi- - nals which implement the ISO-6429 SGR 39 and SGR 49 con- + nals which implement the ISO-6429 SGR 39 and SGR 49 con- trols, which allow an application to reset the terminal to - its original foreground and background colors. From the - users' perspective, the application is able to draw col- - ored text on a background whose color is set indepen- - dently, providing better control over color contrasts. + its original foreground and background colors. From the + users' perspective, the application is able to draw col- + ored text on a background whose color is set indepen- + dently, providing better control over color contrasts. See the default_colors(3x) manual page for details. - The ncurses library includes a function for directing - application output to a printer attached to the terminal + The ncurses library includes a function for directing + application output to a printer attached to the terminal device. See the curs_print(3x) manual page for details.
- The ncurses library is intended to be BASE-level confor- + The ncurses library is intended to be BASE-level confor- mant with XSI Curses. The EXTENDED XSI Curses functional- ity (including color support) is supported. - A small number of local differences (that is, individual - differences between the XSI Curses and ncurses calls) are - described in PORTABILITY sections of the library man + A small number of local differences (that is, individual + differences between the XSI Curses and ncurses calls) are + described in PORTABILITY sections of the library man pages. + Unlike other implementations, this one checks parameters + such as pointers to WINDOW structures to ensure they are + not null. The main reason for providing this behavior is + to guard against programmer error. The standard interface + does not provide a way for the library to tell an applica- + tion which of several possible errors were detected. + Relying on this (or some other) extension will adversely + affect the portability of curses applications. + This implementation also contains several extensions: o The routine has_key is not part of XPG4, nor is it