X-Git-Url: http://ncurses.scripts.mit.edu/?p=ncurses.git;a=blobdiff_plain;f=doc%2Fhtml%2Fman%2Fcurs_util.3x.html;h=b2006cd3634cbc65f3c9a519a2dd87a0fa7f0e1b;hp=5b29a74a7d169d2bf36b911032690edb54098c3f;hb=2e5d72d6396bb38a8d1d1b3534f62e28aebaa600;hpb=0ac2306dd3aaab1338d8b1458c15a7e476cfc3ff diff --git a/doc/html/man/curs_util.3x.html b/doc/html/man/curs_util.3x.html index 5b29a74a..b2006cd3 100644 --- a/doc/html/man/curs_util.3x.html +++ b/doc/html/man/curs_util.3x.html @@ -1,7 +1,8 @@ - + @@ -48,8 +49,8 @@

NAME

        delay_output, filter, flushinp, getwin, key_name, keyname,
-       nofilter, putwin, unctrl, use_env, wunctrl - miscellaneous
-       curses utility routines
+       nofilter, putwin, unctrl, use_env, use_tioctl, wunctrl -
+       miscellaneous curses utility routines
 
 
 
@@ -63,6 +64,7 @@ void filter(void); void nofilter(void); void use_env(bool f); + void use_tioctl(bool f); int putwin(WINDOW *win, FILE *filep); WINDOW *getwin(FILE *filep); int delay_output(int ms); @@ -122,16 +124,66 @@ $TERM. The limitation arises because the filter routine modifies the in-memory copy of the terminal information. - The use_env routine, if used, is called before initscr or - newterm are called. When called with FALSE as an argu- - ment, the values of lines and columns specified in the - terminfo database will be used, even if environment vari- - ables LINES and COLUMNS (used by default) are set, or if - curses is running in a window (in which case default be- - havior would be to use the window size if LINES and COL- - UMNS are not set). Note that setting LINES or COLUMNS - overrides the corresponding size which may be obtained - from the operating system. + 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 + for the screen size. + + If use_env was called with FALSE for parameter, it + stops here unless If use_tioctl was also called with + TRUE for parameter. + + o Then it asks for the screen size via operating system + calls. If successful, it overrides the values from + the terminal database. + + o Finally (unless use_env was called with FALSE parame- + 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 + 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- + 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- + 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- + ables so that it is still the environment variables + which set the screen size. + + The use_env and use_tioctl routines combine as summarized + here: + + use_env use_tioctl Summary + ---------------------------------------------------------------- + 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 + based on operating system calls. + + FALSE TRUE ncurses ignores $LINES and $COLUMNS, us- + es operating system calls to obtain + size. + FALSE FALSE ncurses relies on the terminal database + to determine size. The putwin routine writes all data associated with window win into the file to which filep points. This information @@ -191,66 +243,67 @@ control 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 con- - trols. + 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 imple- - mentation permits that, and returns the ``~@'', - etc., values in that case. + X/Open Curses does not document whether unctrl can + be called before initializing curses. This imple- + mentation permits that, and returns the "~@", etc., + values in that case. - o parameter values outside the 0 to 255 range. unc- + o parameter values outside the 0 to 255 range. unc- trl returns a null pointer. 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 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 af- - ter 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. - - 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- + 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. + + 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 routine is specific to ncurses. It was not - supported on Version 7, BSD or System V implementations. - It is recommended that any code depending on ncurses ex- - tensions be conditioned using NCURSES_VERSION. + 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 + NCURSES_VERSION.

SEE ALSO

        legacy_coding(3x), curses(3x), curs_initscr(3x), curs_ker-
-       nel(3x), curs_scr_dump(3x), legacy_coding(3x).
+       nel(3x),   curs_scr_dump(3x),   curs_variables(3x),  lega-
+       cy_coding(3x).