X-Git-Url: https://ncurses.scripts.mit.edu/?a=blobdiff_plain;f=doc%2Fhtml%2Fman%2Fcurs_variables.3x.html;h=616d96e0f8cc11a2c6968857f15f45a0c6ede8a3;hb=159cd0555e0efc14be66c9c3a1548f58908b6a1d;hp=1d3cf47abe54fa09d3006ebafac60bef5794b755;hpb=31c4bcf3307145fc5368b4aaf15e41bdd66a984b;p=ncurses.git diff --git a/doc/html/man/curs_variables.3x.html b/doc/html/man/curs_variables.3x.html index 1d3cf47a..616d96e0 100644 --- a/doc/html/man/curs_variables.3x.html +++ b/doc/html/man/curs_variables.3x.html @@ -27,19 +27,20 @@ * sale, use or other dealings in this Software without prior written * * authorization. * **************************************************************************** - * @Id: curs_variables.3x,v 1.23 2023/09/16 23:37:03 tom Exp @ + * @Id: curs_variables.3x,v 1.40 2023/12/23 23:10:13 tom Exp @ + * SVID 4, Volume 3, p. 408 --> -curs_variables 3x 2023-09-16 ncurses 6.4 Library calls +curs_variables 3x 2023-12-23 ncurses 6.4 Library calls -

curs_variables 3x 2023-09-16 ncurses 6.4 Library calls

+

curs_variables 3x 2023-12-23 ncurses 6.4 Library calls

 curs_variables(3x)               Library calls              curs_variables(3x)
 
@@ -47,168 +48,251 @@
 
 
 

NAME

-       COLORS,  COLOR_PAIRS,  COLS,  ESCDELAY, LINES, TABSIZE, curscr, newscr,
-       stdscr - curses global variables
+       bool,  chtype,  cchar_t,  attr_t, SCREEN, WINDOW, TRUE, FALSE, ERR, OK,
+       curscr, newscr, stdscr, COLORS,  COLOR_PAIRS,  COLS,  LINES,  ESCDELAY,
+       TABSIZE - curses data types, constants, and global variables
 
 
 

SYNOPSIS

        #include <curses.h>
 
-       int COLOR_PAIRS;
+       /* data types */
+       typedef /* ... */ bool;
+       typedef /* ... */ chtype;
+       typedef /* ... */ cchar_t;
+       typedef /* ... */ attr_t;
+       typedef /* ... */ SCREEN;
+       typedef /* ... */ WINDOW;
+
+       /* constants */
+       const bool TRUE;
+       const bool FALSE;
+
+       const /* ... */ ERR;
+       const /* ... */ OK;
+
+       /* variables */
        int COLORS;
+       int COLOR_PAIRS;
        int COLS;
-       int ESCDELAY;
        int LINES;
-       int TABSIZE;
        WINDOW * curscr;
-       WINDOW * newscr;
        WINDOW * stdscr;
 
+       /* extensions */
+       int ESCDELAY;
+       int TABSIZE;
+       WINDOW * newscr;
+
 
 

DESCRIPTION

-       This page summarizes variables provided by the curses library.  A  more
-       complete description is given in the curses(3x) manual page.
+       This  page  summarizes data types, constants, and variables provided by
+       the curses library.  Locate further discussion in curses(3x).
 
-       Depending  on  the  configuration,  these  may  be actual variables, or
-       macros (see curs_threads(3x) and curs_opaque(3x)) which  provide  read-
-       only  access  to  curses's  state.  In either case, applications should
-       treat them as read-only to avoid confusing the library.
+       Depending on ncurses's  build-time  configuration,  the  variables  may
+       instead  be  macros  (see  curs_threads(3x)  and  curs_opaque(3x)) that
+       provide read-only access to  the  library's  state.   In  either  case,
+       applications  should  treat  them  as  read-only to avoid confusing the
+       library.
 
 
-

COLOR_PAIRS

-       After initializing curses, this variable contains the number  of  color
-       pairs  which  the  terminal  can  support.  Usually the number of color
-       pairs will be the product COLORS*COLORS, however  this  is  not  always
-       true:
+

CONSTANTS

 
-       o   a few terminals use HLS colors, which do not follow this rule
+

TRUE, FALSE

+       The curses library defines TRUE and FALSE to represent  the  values  of
+       the Boolean data type.
 
-       o   terminals  supporting  a  large number of colors are limited by the
-           number of color pairs that can be represented  in  a  signed  short
-           value.
 
+

ERR, OK

+       curses  and terminfo routines frequently return these constant integral
+       values indicating failure and success, respectively.
 
-

COLORS

-       After  initializing curses, this variable contains the number of colors
-       which the terminal can support.
 
+

PREDEFINED TYPES

 
-

COLS

-       After initializing curses, this variable  contains  the  width  of  the
-       screen, i.e., the number of columns.
+

bool

+       X/Open Issue 4 curses  (1996)  preceded  the  ISO  C99  and  ISO  C++98
+       standards,  each of which also defined a Boolean data type.  The curses
+       library requires an integral type bool.
 
+       ncurses' configure script attempts to discover the data  type  used  by
+       the system's C and C++ compilers, to reuse for the curses bool.
 
-

ESCDELAY

-       This variable holds the number of milliseconds to wait after reading an
-       escape character, to distinguish between an individual escape character
-       entered  on  the  keyboard  from  escape  sequences sent by cursor- and
-       function-keys (see curses(3x)).
 
+

chtype

+       The  chtype  integral  type combines a ("narrow", 8-bit) character with
+       attributes encoding the character's rendition, such as the  styling  of
+       its  typeface  and/or  foreground  and  background  colors.   See,  for
+       example, addch(3x), attron(3x), and inch(3x).
 
-

LINES

-       After initializing curses, this variable contains  the  height  of  the
-       screen, i.e., the number of lines.
 
+

cchar_t, attr_t

+       chtype is too small for the standard C library's  wide-character  type,
+       wchar_t.   cchar_t  is a type that can accommodate an attr_t and enough
+       wide characters to store what  Unicode  terms  a  grapheme  cluster  (a
+       "user-perceived  character"  [UAX  #29], which may nevertheless require
+       several character encoding units to represent).  attr_t is an  integral
+       type  storing  "wide"  attributes  that  apply  to  cchar_ts.  See, for
+       example, add_wch(3x), attr_on(3x), and in_wch(3x).
 
-

TABSIZE

-       This  variable  holds  the number of columns used by the curses library
-       when converting a tab character to spaces as  it  adds  the  tab  to  a
-       window (see curs_addch(3x).
 
+

SCREEN

+       curses  manages  a  terminal  device  with  this  structure  type;  see
+       initscr(3x).
+
+
+

WINDOW

+       curses  represents rectangular portions of the terminal screen with the
+       WINDOW structure type; see subsection "Overview" of ncurses(3x).
+
+
+

VARIABLES

+
+

curscr, stdscr, newscr

+       The library records updates to the terminal screen in  a  window  named
+       curscr.   This  object  is  referred  to  as  the  "physical screen" in
+       curs_refresh(3x) and curs_outopts(3x).
 
-

The Current Screen

-       This  implementation  of  curses uses a special window curscr to record
-       its updates to the terminal screen.
+       ncurses collects pending updates to the terminal  screen  in  a  window
+       named  newscr.   This  object is referred to as the "virtual screen" in
+       the curs_kernel(3x), curs_refresh(3x), and curs_outopts(3x).  When  the
+       screen  is  refreshed, curses determines a minimal set of updates using
+       the terminal's capabilities to make curscr look like newscr.
 
-       This is referred to as the "physical screen"  in  the  curs_refresh(3x)
-       and curs_outopts(3x) manual pages.
+       Once curses is initialized, it creates a window named  stdscr.   It  is
+       the  same size as the terminal screen and is the default window used by
+       routines that do not take a parameter  identifying  one.   Many  curses
+       functions use this window.
 
 
-

The New Screen

-       This  implementation  of  curses  uses  a special window newscr to hold
-       updates to the terminal screen before applying them to curscr.
+

COLORS

+       Once  curses  is  initialized,  COLORS  contains  the  number of colors
+       supported by the terminal; see curs_color(3x).
+
+
+

COLOR_PAIRS

+       Once curses is initialized, COLOR_PAIRS contains the  number  of  color
+       pairs supported by the terminal; see curs_color(3x).
+
 
-       This is referred to as the "virtual  screen"  in  the  curs_kernel(3x),
-       curs_refresh(3x) and curs_outopts(3x) manual pages.
+

COLS, LINES

+       Once  curses  is initialized, COLS and LINES contain the screen's width
+       and height in character cells, respectively; that  is,  the  number  of
+       columns and lines.
 
 
-

The Standard Screen

-       Upon  initializing curses, a default window called stdscr, which is the
-       size of the terminal screen, is created.   Many  curses  functions  use
-       this window.
+

ESCDELAY

+       For curses to distinguish an escape character corresponding to a user's
+       press of an "Escape" key on the input device from  one  included  in  a
+       control sequence used by a cursor movement or function key, the library
+       waits to see if another key event occurs after  the  escape  character.
+       ESCDELAY stores this interval in milliseconds.
+
+
+

TABSIZE

+       The curses library converts a tab character to this number of spaces as
+       it adds a tab to a window; see curs_addch(3x).
 
 
 

NOTES

-       The   curses  library  is  initialized  using  either  initscr(3x),  or
-       newterm(3x).
+       Either initscr(3x) or newterm(3x) initializes curses.
 
-       If curses is configured to use separate curses/terminfo libraries, most
-       of these variables reside in the curses library.
+       If ncurses is  configured  to  provide  separate  curses  and  terminfo
+       libraries, most of these variables reside in the curses library.
 
 
 

PORTABILITY

-       TABSIZE  is  a feature of SVr4 curses which is not documented by X/Open
-       curses.
+       The  X/Open  Curses  standard  documents all of the foregoing types and
+       symbols except for newscr, TABSIZE, and ESCDELAY.
+
+       X/Open Curses describes curscr only as "an  internal  data  structure";
+       SVr4   gave  more  details,  noting  its  use  "for  certain  low-level
+       operations like clearing and redrawing a  screen  containing  garbage".
+       Neither specified its interaction with the rest of the interface beyond
+       use as an argument to clearok(3x) and wrefresh(3x).
+
+       newscr is a feature of SVr4 curses.  When refreshing the screen, it  is
+       used  as  a  working area for combining the standard window stdscr with
+       any others the application may have created with newwin(3x).  When  the
+       update of newscr is complete, curses modifies curscr to match newscr.
 
-       o   In  SVr4  curses,  TABSIZE  is  initially  set  from  the  terminal
-           description's  init_tabs capability.  After that, it can be altered
-           by the applications using SVr4 curses.
+       TABSIZE is a feature of SVr4 curses.
 
-           SVr4 curses uses the  current  value  of  TABSIZE  to  compute  the
-           position  of  tabstops  for  updating  both the virtual screen with
-           addch(3x) as well as the physical screen with mvcur(3x).
+       o   SVr4   initially  sets  TABSIZE  from  the  terminal  description's
+           init_tabs  capability.   After  that,  it   can   be   altered   by
+           applications using SVr4 curses.
 
-       o   This implementation uses the current  value  of  TABSIZE  only  for
-           updating the virtual screen.  It uses the terminal description's it
-           (init_tabs) capability for computing hardware tabs (i.e., tab stops
-           on the physical screen).
+       o   SVr4  curses  uses  the value of TABSIZE to compute the position of
+           tab stops when updating both the virtual screen with addch(3x)  and
+           the physical screen with mvcur(3x).
 
-       o   Other  implementations  differ.  For instance, NetBSD curses allows
-           TABSIZE  to  be  set  through  an   environment   variable.    This
-           implementation does not.
+       o   ncurses  uses  the  value  of  TABSIZE  only  to update the virtual
+           screen.   It  uses  the  terminal  description's  "it"  (init_tabs)
+           capability  for  computing hardware tabs (that is, tab stops on the
+           physical screen).
 
-           NetBSD curses does not support hardware tabs; it uses the init_tabs
-           capability and the TABSIZE variable only for updating  the  virtual
+       o   Other implementations differ.  For instance, NetBSD  curses  allows
+           TABSIZE  to  be  set through an environment variable.  ncurses does
+           not.
+
+           NetBSD curses does not support hardware tabs; it uses the init_tabs
+           capability  and  the TABSIZE variable only for updating the virtual
            screen.
 
-       ESCDELAY is an extension in AIX curses:
+       ESCDELAY is a feature of AIX curses.
 
-       o   In AIX, the units for ESCDELAY are fifths of a millisecond.
+       o   In AIX, the units for ESCDELAY are fifths of milliseconds.
 
-       o   The default value for AIX's ESCDELAY is 0.1 seconds.
+       o   The default value for AIX's ESCDELAY equals 0.1 seconds.
 
-       o   AIX  also  enforces  a  limit  of 10,000 seconds for ESCDELAY; this
-           implementation currently has no upper limit.
+       o   AIX also enforces a limit of 10,000 seconds for  ESCDELAY;  ncurses
+           does not enforce any upper limit.
 
-       This implementation has long used ESCDELAY with units of  milliseconds,
-       making  it  impossible to be completely compatible with AIX.  Likewise,
-       most users have either decided to override the value, or rely upon  its
-       default value.
+       ncurses  has  long  used ESCDELAY with units of milliseconds, making it
+       impossible to be completely compatible with  AIX.   Consequently,  most
+       users  have  decided  either to override the value, or to rely upon its
+       default.
 
 
 

SEE ALSO

-       curses(3x),   curs_opaque(3x),   curs_terminfo(3x),   curs_threads(3x),
-       term_variables(3x), terminfo(5).
+       curses(3x),   curs_color(3x),    curs_opaque(3x),    curs_terminfo(3x),
+       curs_threads(3x), term_variables(3x), terminfo(5)
+
+       [UAX  #29]  "Unicode  Standard  Annex  #29: Unicode Text Segmentation";
+       <https://unicode.org/reports/tr29/>
 
 
 
-ncurses 6.4                       2023-09-16                curs_variables(3x)
+ncurses 6.4                       2023-12-23                curs_variables(3x)