X-Git-Url: https://ncurses.scripts.mit.edu/?p=ncurses.git;a=blobdiff_plain;f=doc%2Fhtml%2Fman%2Fcurs_util.3x.html;h=fcf95e1e2abcbd61e05d4237e3a5d86f3274c1f8;hp=0fed7678fc28f6d363f73c3d0c3149d79dd20ae3;hb=71c0306f0824ef2b10c4c5813fb003db48f3012e;hpb=46722468f47c2b77b3987729b4bcf2321cccfd01;ds=inline diff --git a/doc/html/man/curs_util.3x.html b/doc/html/man/curs_util.3x.html index 0fed7678..fcf95e1e 100644 --- a/doc/html/man/curs_util.3x.html +++ b/doc/html/man/curs_util.3x.html @@ -1,7 +1,7 @@ @@ -40,12 +40,16 @@
 
+curs_util(3x)                                             curs_util(3x)
+
+
+
 
 

NAME

        delay_output, filter, flushinp, getwin, key_name, keyname,
-       putwin, unctrl, use_env, wunctrl  -  miscellaneous  curses
-       utility routines
+       nofilter, putwin, unctrl, use_env, wunctrl - miscellaneous
+       curses utility routines
 
 
 
@@ -53,10 +57,11 @@ #include <curses.h> char *unctrl(chtype c); - char *wunctrl(wchar_t w); + wchar_t *wunctrl(cchar_t *c); char *keyname(int c); char *key_name(wchar_t w); void filter(void); + void nofilter(void); void use_env(bool f); int putwin(WINDOW *win, FILE *filep); WINDOW *getwin(FILE *filep); @@ -67,50 +72,80 @@

DESCRIPTION

        The  unctrl  routine returns a character string which is a
-       printable representation  of  the  character  c,  ignoring
-       attributes.   Control  characters  are displayed in the ^X
-       notation.  Printing characters are displayed as  is.   The
+       printable representation of the character c, ignoring  at-
+       tributes.   Control characters are displayed in the ^X no-
+       tation.  Printing characters are  displayed  as  is.   The
        corresponding  wunctrl  returns a printable representation
        of a wide-character.
 
        The keyname routine returns a character string correspond-
-       ing to the key c.  Control characters are displayed in the
-       ^X notation.  Values above 128 are either meta characters,
-       shown  in the M-X notation, or the names of function keys,
-       or null.  The corresponding key_name returns  a  character
-       string  corresponding  to the wide-character value w.  The
-       two functions do not return the same set of  strings;  the
-       latter  returns null where the former would display a meta
-       character.
+       ing to the key c:
+
+          -  Printable  characters  are  displayed as themselves,
+             e.g., a one-character string containing the key.
+
+          -  Control characters are displayed in the ^X notation.
+
+          -  DEL (character 127) is displayed as ^?.
+
+          -  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  no-
+             tation, or are displayed as themselves.  In the lat-
+             ter case, the values may not be printable; this fol-
+             lows the X/Open specification.
+
+          -  Values  above  256  may be the names of the names of
+             function keys.
+
+          -  Otherwise (if there is no  corresponding  name)  the
+             function  returns  null, to denote an error.  X/Open
+             also lists an "UNKNOWN KEY" return value, which some
+             implementations return rather than null.
+
+       The corresponding key_name returns a character string cor-
+       responding to the wide-character value w.  The  two  func-
+       tions  do  not  return the same set of strings; the latter
+       returns null where the former would display a meta charac-
+       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,
-       cud,  cud1,  cuu1,  cuu,  vpa  are  disabled; and the home
+       or newterm are called.  The effect is that,  during  those
+       calls,  LINES  is  set  to 1; the capabilities clear, cup,
+       cud, cud1, cuu1, cuu,  vpa  are  disabled;  and  the  home
        string is set to the value of cr.
 
-       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
-       behavior would be to use the  window  size  if  LINES  and
-       COLUMNS are not set).
-
-       The  putwin routine writes all data associated with window
+       The  nofilter  routine  cancels  the effect of a preceding
+       filter call.  That  allows  the  caller  to  initialize  a
+       screen  on  a different device, using a different value of
+       $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 putwin routine writes all data associated with  window
        win into the file to which filep points.  This information
        can be later retrieved using the getwin function.
 
        The getwin routine reads window related data stored in the
-       file by putwin.  The routine then creates and  initializes
+       file  by putwin.  The routine then creates and initializes
        a new window using that data.  It returns a pointer to the
        new window.
 
-       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
-       pause.
+       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
+       pause.  If no padding character is  specified,  this  uses
+       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
@@ -119,47 +154,106 @@
 
 

RETURN VALUE

-       Except  for  flushinp,  routines  that  return  an integer
-       return ERR upon failure and OK (SVr4  specifies  only  "an
-       integer value other than ERR") upon successful completion.
-
-       flushinp always returns OK.
+       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.
 
        Routines that return pointers return NULL on error.
 
+       X/Open  does not define any error conditions.  In this im-
+       plementation
+
+          flushinp
+               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
+               return an error.
+
 
 

PORTABILITY

-       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
-       error conditions.
+       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:
+
+              -    the  parameter is a 7-bit US-ASCII code.  This
+                   is the case that X/Open Curses documented.
+
+              -    the parameter is in the range 128-159, i.e., a
+                   C1  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 controls.
+
+                   X/Open Curses does not document whether unctrl
+                   can  be  called  before  initializing  curses.
+                   This implementation permits that, and  returns
+                   the ``~@'', etc., values in that case.
+
+              -    parameter  values  outside the 0 to 255 range.
+                   unctrl 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-
+       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-
+       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.
+
 
 

SEE ALSO

-       curses(3x), curs_initscr(3x), curs_scr_dump(3x).
-
-
-
-
-
-
-
-
-
-
-
-
-
+       legacy_coding(3x), curses(3x), curs_initscr(3x), curs_ker-
+       nel(3x), curs_scr_dump(3x), legacy_coding(3x).
 
 
 
+                                                          curs_util(3x)