X-Git-Url: http://ncurses.scripts.mit.edu/?p=ncurses.git;a=blobdiff_plain;f=doc%2Fhtml%2Fman%2Fcurs_util.3x.html;h=dfef903a36193f6b91ceb7032fcbc21b7dc34796;hp=00b13c257c8f1e7eaac4fc2f9feb35c66bd6955b;hb=ce4803687b821efbc5fb2c5a5f06d69cd4dc2656;hpb=db5f7f4f146a91ba8ec7f1df8e9d7f9d2d7c74fd diff --git a/doc/html/man/curs_util.3x.html b/doc/html/man/curs_util.3x.html index 00b13c25..dfef903a 100644 --- a/doc/html/man/curs_util.3x.html +++ b/doc/html/man/curs_util.3x.html @@ -1,7 +1,7 @@ @@ -46,15 +46,13 @@ - -
+
delay_output, filter, flushinp, getwin, key_name, keyname, nofilter, putwin, unctrl, use_env, use_tioctl, wunctrl - miscellaneous curses utility routines --
+
#include <curses.h> char *unctrl(chtype c); @@ -71,11 +69,9 @@ int flushinp(void); --
+
--
+
The unctrl routine returns a character string which is a printable representation of the character c, ignoring at- tributes. Control characters are displayed in the ^X no- @@ -84,8 +80,7 @@ of a wide character. --
+
The keyname routine returns a character string correspond- ing to the key c: @@ -97,11 +92,11 @@ o DEL (character 127) is displayed as ^?. o Values above 128 are either meta characters (if the - screen has not been initialized, or if meta has been - called with a TRUE parameter), shown in the M-X nota- - tion, or are displayed as themselves. In the latter - case, the values may not be printable; this follows - the X/Open specification. + screen has not been initialized, or if meta(3x) has + been called with a TRUE parameter), shown in the M-X + notation, or are displayed as themselves. In the lat- + ter case, the values may not be printable; this fol- + lows the X/Open specification. o Values above 256 may be the names of the names of function keys. @@ -118,8 +113,7 @@ ter. --
+
The filter routine, if used, must be called before initscr or newterm are called. The effect is that, during those calls, LINES is set to 1; the capabilities clear, cup, @@ -133,14 +127,13 @@ modifies the in-memory copy of the terminal information. --
+
The use_env routine, if used, should be called before initscr or newterm are called (because those compute the screen size). It modifies the way ncurses treats environ- ment variables when determining the screen size. - o Normally ncurses looks first at the terminal database + o Normally ncurses looks first at the terminal database for the screen size. If use_env was called with FALSE for parameter, it @@ -152,32 +145,31 @@ the terminal database. o Finally (unless use_env was called with FALSE parame- - ter), ncurses examines the LINES or COLUMNS environ- + ter), ncurses examines the LINES or COLUMNS environ- ment variables, using a value in those to override the results from the operating system or terminal data- base. - Ncurses also updates the screen size in response to + Ncurses also updates the screen size in response to SIGWINCH, unless overridden by the LINES or COLUMNS environment variables, --
+
The use_tioctl routine, if used, should be called before initscr or newterm are called (because those compute the screen size). After use_tioctl is called with TRUE as an - argument, ncurses modifies the last step in its computa- + argument, ncurses modifies the last step in its computa- tion of screen size as follows: o checks if the LINES and COLUMNS environment variables are set to a number greater than zero. - o for each, ncurses updates the corresponding environ- + o for each, ncurses updates the corresponding environ- ment variable with the value that it has obtained via operating system call or from the terminal database. - o ncurses re-fetches the value of the environment vari- + o ncurses re-fetches the value of the environment vari- ables so that it is still the environment variables which set the screen size. @@ -189,21 +181,20 @@ - TRUE FALSE This is the default behavior. ncurses + TRUE FALSE This is the default behavior. ncurses uses operating system calls unless over- ridden by $LINES or $COLUMNS environment variables. - TRUE TRUE ncurses updates $LINES and $COLUMNS + TRUE TRUE ncurses updates $LINES and $COLUMNS based on operating system calls. - FALSE TRUE ncurses ignores $LINES and $COLUMNS, us- + FALSE TRUE ncurses ignores $LINES and $COLUMNS, us- es operating system calls to obtain size. - FALSE FALSE ncurses relies on the terminal database + FALSE FALSE ncurses relies on the terminal database to determine size. --
+
The putwin routine writes all data associated with window (or pad) win into the file to which filep points. This information can be later retrieved using the getwin func- @@ -230,8 +221,7 @@ will not be colored when the window is refreshed. --
+
The delay_output routine inserts an ms millisecond pause in output. This routine should not be used extensively because padding characters are used rather than a CPU @@ -239,15 +229,13 @@ napms to perform the delay. --
+
The flushinp routine throws away any typeahead that has been typed by the user and has not yet been read by the program. --
+
Except for flushinp, routines that return an integer re- turn ERR upon failure and OK (SVr4 specifies only "an in- teger value other than ERR") upon successful completion. @@ -261,137 +249,135 @@ returns an error if the terminal was not initial- ized. - meta returns an error if the terminal was not initial- - ized. - putwin - returns an error if the associated fwrite calls + returns an error if the associated fwrite calls return an error. --
+
--
+
The SVr4 documentation describes the action of filter only - in the vaguest terms. The description here is adapted - from the XSI Curses standard (which erroneously fails to + in the vaguest terms. The description here is adapted + from the XSI Curses standard (which erroneously fails to describe the disabling of cuu). --
- The keyname function may return the names of user-defined - string capabilities which are defined in the terminfo en- - try via the -x option of tic. This implementation auto- - matically assigns at run-time keycodes to user-defined - strings which begin with "k". The keycodes start at - KEY_MAX, but are not guaranteed to be the same value for - different runs because user-defined codes are merged from - all terminal descriptions which have been loaded. The - use_extended_names function controls whether this data is - loaded when the terminal description is read by the li- +
+ The keyname function may return the names of user-defined + string capabilities which are defined in the terminfo en- + try via the -x option of tic. This implementation auto- + matically assigns at run-time keycodes to user-defined + strings which begin with "k". The keycodes start at + KEY_MAX, but are not guaranteed to be the same value for + different runs because user-defined codes are merged from + all terminal descriptions which have been loaded. The + use_extended_names function controls whether this data is + loaded when the terminal description is read by the li- brary. --
- The nofilter and use_tioctl routines are specific to - ncurses. They were not supported on Version 7, BSD or +
+ The nofilter and use_tioctl routines are specific to + ncurses. They were not supported on Version 7, BSD or System V implementations. It is recommended that any code - depending on ncurses extensions be conditioned using + depending on ncurses extensions be conditioned using NCURSES_VERSION. --
- The putwin and getwin functions have several issues with +
+ The putwin and getwin functions have several issues with portability: - o The files written and read by these functions use an - implementation-specific format. Although the format - is an obvious target for standardization, it has been + o The files written and read by these functions use an + implementation-specific format. Although the format + is an obvious target for standardization, it has been overlooked. Interestingly enough, according to the copyright dates in Solaris source, the functions (along with scr_init, - etc.) originated with the University of California, - Berkeley (in 1982) and were later (in 1988) incorpo- - rated into SVr4. Oddly, there are no such functions + etc.) originated with the University of California, + Berkeley (in 1982) and were later (in 1988) incorpo- + rated into SVr4. Oddly, there are no such functions in the 4.3BSD curses sources. - o Most implementations simply dump the binary WINDOW - structure to the file. These include SVr4 curses, - NetBSD and PDCurses, as well as older ncurses ver- - sions. This implementation (as well as the X/Open - variant of Solaris curses, dated 1995) uses textual + o Most implementations simply dump the binary WINDOW + structure to the file. These include SVr4 curses, + NetBSD and PDCurses, as well as older ncurses ver- + sions. This implementation (as well as the X/Open + variant of Solaris curses, dated 1995) uses textual dumps. - The implementations which use binary dumps use block- - I/O (the fwrite and fread functions). Those that use - textual dumps use buffered-I/O. A few applications + The implementations which use binary dumps use block- + I/O (the fwrite and fread functions). Those that use + textual dumps use buffered-I/O. A few applications may happen to write extra data in the file using these - functions. Doing that can run into problems mixing - block- and buffered-I/O. This implementation reduces - the problem on writes by flushing the output. Howev- - er, reading from a file written using mixed schemes + functions. Doing that can run into problems mixing + block- and buffered-I/O. This implementation reduces + the problem on writes by flushing the output. Howev- + er, reading from a file written using mixed schemes may not be successful. --
- The XSI Curses standard, Issue 4 describes these func- - tions. It states that unctrl and wunctrl will return a - null pointer if unsuccessful, but does not define any er- +
+ The XSI Curses standard, Issue 4 describes these func- + tions. It states that unctrl and wunctrl will return a + null pointer if unsuccessful, but does not define any er- ror conditions. This implementation checks for three cas- es: - o the parameter is a 7-bit US-ASCII code. This is the + o the parameter is a 7-bit US-ASCII code. This is the case that X/Open Curses documented. o the parameter is in the range 128-159, i.e., a C1 con- - trol code. If use_legacy_coding has been called with - a 2 parameter, unctrl returns the parameter, i.e., a - one-character string with the parameter as the first - character. Otherwise, it returns "~@", "~A", etc., + trol code. If use_legacy_coding has been called with + a 2 parameter, unctrl returns the parameter, i.e., a + one-character string with the parameter as the first + character. Otherwise, it returns "~@", "~A", etc., analogous to "^@", "^A", C0 controls. - X/Open Curses does not document whether unctrl can be - called before initializing curses. This implementa- - tion permits that, and returns the "~@", etc., values + X/Open Curses does not document whether unctrl can be + called before initializing curses. This implementa- + tion permits that, and returns the "~@", etc., values in that case. - o parameter values outside the 0 to 255 range. unctrl + o parameter values outside the 0 to 255 range. unctrl returns a null pointer. - The strings returned by unctrl in this implementation are - determined at compile time, showing C1 controls from the - upper-128 codes with a `~' prefix rather than `^'. Other - implementations have different conventions. For example, - they may show both sets of control characters with `^', - and strip the parameter to 7 bits. Or they may ignore C1 - controls and treat all of the upper-128 codes as print- + The strings returned by unctrl in this implementation are + determined at compile time, showing C1 controls from the + upper-128 codes with a "~" prefix rather than "^". Other + implementations have different conventions. For example, + they may show both sets of control characters with "^", + and strip the parameter to 7 bits. Or they may ignore C1 + controls and treat all of the upper-128 codes as print- able. This implementation uses 8 bits but does not modify the string to reflect locale. The use_legacy_coding func- tion allows the caller to change the output of unctrl. - Likewise, the meta function allows the caller to change - the output of keyname, i.e., it determines whether to use - the `M-' prefix for "meta" keys (codes in the range 128 to - 255). Both use_legacy_coding and meta succeed only after - curses is initialized. X/Open Curses does not document - the treatment of codes 128 to 159. When treating them as - "meta" keys (or if keyname is called before initializing - curses), this implementation returns strings "M-^@", - "M-^A", etc. + Likewise, the meta(3x) function allows the caller to + change the output of keyname, i.e., it determines whether + to use the "M-" prefix for "meta" keys (codes in the range + 128 to 255). Both use_legacy_coding and meta succeed only + after curses is initialized. X/Open Curses does not docu- + ment the treatment of codes 128 to 159. When treating + them as "meta" keys (or if keyname is called before ini- + tializing curses), this implementation returns strings + "M-^@", "M-^A", etc. --
- legacy_coding(3x), curses(3x), curs_initscr(3x), curs_ker- - nel(3x), curs_scr_dump(3x), curs_variables(3x), lega- - cy_coding(3x). +
+ If ncurses is configured to provide the sp-functions ex- + tension, the state of use_env and use_tioctl may be updat- + ed before creating each screen rather than once only + (curs_sp_funcs(3x)). This feature of use_env is not pro- + vided by other implementation of curses. + + +
+ legacy_coding(3x), curses(3x), curs_initscr(3x), curs_in- + opts(3x), curs_kernel(3x), curs_scr_dump(3x), + curs_sp_funcs(3x), curs_variables(3x), legacy_coding(3x). @@ -421,6 +407,7 @@