X-Git-Url: http://ncurses.scripts.mit.edu/?p=ncurses.git;a=blobdiff_plain;f=doc%2Fhtml%2Fman%2Fcurs_util.3x.html;h=8181efa432f386223c3e02ac29ab60a833f53ba9;hp=2557f86df3cdd074a8ab6052e0adce7e146aed84;hb=f86cbeb5f9bd96ab041d34039c35749a14965039;hpb=a8987e73ec254703634802b4f7ee30d3a485524d diff --git a/doc/html/man/curs_util.3x.html b/doc/html/man/curs_util.3x.html index 2557f86d..8181efa4 100644 --- a/doc/html/man/curs_util.3x.html +++ b/doc/html/man/curs_util.3x.html @@ -1,7 +1,7 @@ @@ -40,7 +40,7 @@
 
-curs_util(3x)                                       curs_util(3x)
+curs_util(3x)                                             curs_util(3x)
 
 
 
@@ -48,8 +48,8 @@
 

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
 
 
 
@@ -57,10 +57,11 @@ #include <curses.h> char *unctrl(chtype c); - char *wunctrl(cchar_t *c); + 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); @@ -71,21 +72,43 @@

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.
+       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:
+
+          o   Printable  characters  are displayed as themselves,
+              e.g., a one-character string containing the key.
+
+          o   Control characters are displayed in  the  ^X  nota-
+              tion.
+
+          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 notation, or are displayed as  themselves.   In
+              the  latter  case, the values may not be printable;
+              this follows the X/Open specification.
+
+          o   Values above 256 may be the names of the  names  of
+              function keys.
+
+          o   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
@@ -93,14 +116,22 @@
        cud,  cud1,  cuu1,  cuu,  vpa  are  disabled; and the home
        string is set to the value of cr.
 
+       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
-       behavior would be to use the  window  size  if  LINES  and
-       COLUMNS are not set).
+       curses  is  running in a window (in which case default be-
+       havior would be to  use  the  window  size  if  LINES  and
+       COLUMNS  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
@@ -124,36 +155,107 @@
 
 

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:
+
+          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
+              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.
+
+              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-
+              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-
+       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_kernel(3x),
-       curs_scr_dump(3x).
+       legacy_coding(3x), curses(3x), curs_initscr(3x), curs_ker-
+       nel(3x),   curs_scr_dump(3x),   curs_variables(3x),  lega-
+       cy_coding(3x).
 
 
 
-                                                    curs_util(3x)
+                                                          curs_util(3x)