X-Git-Url: http://ncurses.scripts.mit.edu/?p=ncurses.git;a=blobdiff_plain;f=doc%2Fhtml%2Fman%2Fncurses.3x.html;h=b670e16ed2b0ccc0134497db78645239f8964201;hp=bd0f768aa07916673cf203d46574aaecc1720928;hb=e2d7d0028f4298dca2b0edaf2dc8ce30518d9218;hpb=f9d358b4f3cf9b44727a0ee5c08f8ca6ae4e3821 diff --git a/doc/html/man/ncurses.3x.html b/doc/html/man/ncurses.3x.html index bd0f768a..b670e16e 100644 --- a/doc/html/man/ncurses.3x.html +++ b/doc/html/man/ncurses.3x.html @@ -2,7 +2,7 @@ @@ -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.7 (patch 20100529). + describes ncurses version 5.9 (patch 20130309). The ncurses library emulates the curses library of System V Release 4 UNIX, and XPG4 (X/Open Portability Guide) @@ -262,7 +262,7 @@ ncursesw the so-called "wide" library, which handles - multibyte characters (See the section on + multibyte characters (see the section on ALTERNATE CONFIGURATIONS). The "wide" library includes all of the calls from the "normal" library. It adds about one third more calls @@ -654,6 +654,7 @@ use_env curs_util(3x) use_extended_names curs_extend(3x)* use_legacy_coding legacy_coding(3x)* + use_tioctl curs_util(3x) vid_attr curs_terminfo(3x) vid_puts curs_terminfo(3x) vidattr curs_terminfo(3x) @@ -705,8 +706,8 @@ wgetch curs_getch(3x) wgetn_wstr curs_get_wstr(3x) wgetnstr curs_getstr(3x) - wgetstr curs_getstr(3x) + wgetstr curs_getstr(3x) whline curs_border(3x) whline_set curs_border_set(3x) win_wch curs_in_wch(3x) @@ -755,9 +756,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). @@ -771,16 +775,17 @@ important ones have been already discussed in detail. BAUDRATE - 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. - If no value is found, ncurses uses 9600. This allows - testers to construct repeatable test-cases that take - into account costs that depend on baudrate. + The debugging library checks this environment vari- + able when the application has redirected output to a + file. The variable'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 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- + entries to the value of this variable. Very few ter- minfo entries provide this feature. Because this name is also used in development envi- @@ -815,39 +820,42 @@ as emulations. Use the use_env function to disable all use of exter- - nal environment (including system calls) to determine - the screen size. + nal environment (but not including system calls) to + determine the screen size. Use the use_tioctl func- + tion to update COLUMNS or LINES to match the screen + size obtained from system calls or the terminal data- + base. 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: @@ -855,124 +863,164 @@ $HOME/.terminfo LINES - Like COLUMNS, specify the height of the screen in + 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 2 = right 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 - 132. + This variable lets you customize the mouse. The + variable 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- + 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. 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 - part of special control sequences such as flash. + Set the NCURSES_NO_PADDING environment variable 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- - 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 - buffered) mode. + This setting is obsolete. Before changes + + o started with 5.9 patch 20120825 and + + o continued though 5.9 patch 20130126 + + ncurses enabled buffered output during terminal ini- + tialization. This was done (as in SVr4 curses) for + performance reasons. For testing purposes, both of + ncurses and certain applications, this feature was + made optional. Setting the NCURSES_NO_SETBUF vari- + able disabled output buffering, leaving the output in + the original (usually line buffered) mode. + + In the current implementation, ncurses performs its + own buffering and does not require this workaround. + It does not modify the buffering of the standard out- + put. + + The reason for the change was to make the behavior + for interrupts and other signals more robust. One + drawback is that certain nonconventional programs + would mix ordinary stdio calls with ncurses calls and + (usually) work. This is no longer possible since + ncurses is not using the buffered standard output but + its own output (to the same file descriptor). As a + special case, the low-level calls such as putp still + use the standard output. But high-level curses calls + do not. 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- + piled using tic -x. For example + + # linux console, if patched to provide working + # VT100 shift-in/shift-out, with corresponding font. + linux-vt100|linux console with VT100 line-graphics, + U8#0, use=linux, + + # uxterm with vt100Graphics resource set to false + xterm-utf8|xterm relying on UTF-8 line-graphics, + 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' + termcap interface. + NCURSES_TRACE 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. + checks the NCURSES_TRACE environment variable. 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 @@ -988,12 +1036,12 @@ 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 - information, e.g., /etc/termcap. + The TERMCAP environment variable contains either a + terminal description (with newlines stripped out), or + a file name telling where the information denoted by + the TERM environment variable 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 @@ -1001,40 +1049,62 @@ not the only way to change the list of directories. The complete list of directories in order follows: - - the last directory to which ncurses wrote, if any, - is searched first + o the last directory to which ncurses wrote, if + any, is searched first + + o the directory specified by the TERMINFO environ- + ment variable + + o $HOME/.terminfo - - the directory specified by the TERMINFO symbol + o directories listed in the TERMINFO_DIRS environ- + ment variable - - $HOME/.terminfo + o one or more directories whose names are config- + ured and compiled into the ncurses library, i.e., - - directories listed in the TERMINFO_DIRS symbol + o /usr/local/ncurses/share/ter- + minfo:/usr/share/terminfo (corresponding to + the TERMINFO_DIRS variable) - - one or more directories whose names are configured - and compiled into the ncurses library, e.g., - /usr/share/terminfo + o /usr/share/terminfo (corresponding to the + TERMINFO variable) 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 - the terminal descriptions are in terminfo form, which - makes a subdirectory named for the first letter of - the terminal names therein. + (i.e., ":") on Unix, semicolons on OS/2 EMX. + + All of the terminal descriptions are in terminfo + form. Normally these are stored in a directory tree, + using subdirectories named by 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 - Unix, semicolons on OS/2 EMX. If the TERMPATH symbol - is not set, ncurses looks in the files /etc/termcap, + checks the TERMPATH environment variable. This is a + list of filenames separated by spaces or colons + (i.e., ":") on Unix, semicolons on OS/2 EMX. + + If the TERMPATH environment variable 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: - $TERMINFO, $TERMINFO_DIRS, $TERMPATH, as well as $HOME. + or if the application uses setuid or setgid permissions: + + $TERMINFO, $TERMINFO_DIRS, $TERMPATH, as well as + $HOME. @@ -1120,6 +1190,7 @@

SEE ALSO

        terminfo(5) and related pages whose  names  begin  "curs_"
        for detailed routine descriptions.
+       curs_variables(3x)
 
 
 
@@ -1173,33 +1244,49 @@ 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: - The routine has_key is not part of XPG4, nor is it - present in SVr4. See the curs_getch(3x) manual page - for details. + o The routine has_key is not part of XPG4, nor is it + present in SVr4. See the curs_getch(3x) manual page + for details. + + o The routine slk_attr is not part of XPG4, nor is it + present in SVr4. See the curs_slk(3x) manual page for + details. + + o The routines getmouse, mousemask, ungetmouse, mousein- + terval, and wenclose relating to mouse interfacing are + not part of XPG4, nor are they present in SVr4. See + the curs_mouse(3x) manual page for details. - The routine slk_attr is not part of XPG4, nor is it - present in SVr4. See the curs_slk(3x) manual page - for details. + o The routine mcprint was not present in any previous + curses implementation. See the curs_print(3x) manual + page for details. - The routines getmouse, mousemask, ungetmouse, mou- - seinterval, and wenclose relating to mouse interfac- - ing are not part of XPG4, nor are they present in - SVr4. See the curs_mouse(3x) manual page for - details. + o The routine wresize is not part of XPG4, nor is it + present in SVr4. See the wresize(3x) manual page for + details. - The routine mcprint was not present in any previous - curses implementation. See the curs_print(3x) manual - page for details. + o The WINDOW structure's internal details can be hidden + from application programs. See curs_opaque(3x) for + the discussion of is_scrollok, etc. - The routine wresize is not part of XPG4, nor is it - present in SVr4. See the wresize(3x) manual page for - details. + o This implementation can be configured to provide rudi- + mentary support for multi-threaded applications. See + curs_threads(3x) for details. - The WINDOW structure's internal details can be hidden - from application programs. See curs_opaque(3x) for - the discussion of is_scrollok, etc. + o This implementation can also be configured to provide + a set of functions which improve the ability to manage + multiple screens. See curs_sp_funcs(3x) for details. In historic curses versions, delays embedded in the capa- bilities cr, ind, cub1, ff and tab activated corresponding