X-Git-Url: https://ncurses.scripts.mit.edu/?p=ncurses.git;a=blobdiff_plain;f=doc%2Fhtml%2Fman%2Fncurses.3x.html;h=2af18f531a84b963461faf4a45365a8ac281e645;hp=17a0feadad7033cc414382b24a9baf9d636a82a5;hb=eccca377f55c70b12e3e92621d94d1e1c1fcfb7d;hpb=7fa7badf32c514211478cf9f79c70f20d435c2f2 diff --git a/doc/html/man/ncurses.3x.html b/doc/html/man/ncurses.3x.html index 17a0fead..2af18f53 100644 --- a/doc/html/man/ncurses.3x.html +++ b/doc/html/man/ncurses.3x.html @@ -1,7 +1,7 @@ - + ncurses 3x @@ -59,7 +59,7 @@ method of updating character screens with reasonable optimization. This implementation is "new curses" (ncurses) and is the approved replacement for 4.4BSD classic curses, which has been discontinued. - This describes ncurses version 6.0 (patch 20171014). + This describes ncurses version 6.1 (patch 20190121). The ncurses library emulates the curses library of System V Release 4 UNIX, and XPG4 (X/Open Portability Guide) curses (also known as XSI @@ -92,7 +92,7 @@ The library uses the locale which the calling program has initialized. That is normally done with setlocale: - setlocale(LC_ALL, ""); + setlocale(LC_ALL, ""); If the locale is not initialized, the library assumes that characters are printable as in ISO-8859-1, to work with certain legacy programs. @@ -108,13 +108,13 @@ screen oriented programs want this), the following sequence should be used: - initscr(); cbreak(); noecho(); + initscr(); cbreak(); noecho(); Most programs would additionally use the sequence: - nonl(); - intrflush(stdscr, FALSE); - keypad(stdscr, TRUE); + nonl(); + intrflush(stdscr, FALSE); + keypad(stdscr, TRUE); Before a curses program is run, the tab stops of the terminal should be set and its initialization strings, if defined, must be output. This @@ -176,17 +176,17 @@ standard place. For example, if TERM is set to att4424, then the com- piled terminal definition is found in - /usr/share/terminfo/a/att4424. + /usr/share/terminfo/a/att4424. (The a is copied from the first letter of att4424 to avoid creation of huge directories.) However, if TERMINFO is set to $HOME/myterms, curses first checks - $HOME/myterms/a/att4424, + $HOME/myterms/a/att4424, and if that fails, it then checks - /usr/share/terminfo/a/att4424. + /usr/share/terminfo/a/att4424. This is useful for developing experimental definitions or when write permission in /usr/share/terminfo is not available. @@ -835,8 +835,8 @@ Tells ncurses where your home directory is. That is where it may read and write auxiliary terminal descriptions: - $HOME/.termcap - $HOME/.terminfo + $HOME/.termcap + $HOME/.terminfo

LINES

@@ -849,9 +849,9 @@
        tons on the mouse.  OS/2 numbers a 3-button mouse  inconsistently  from
        other platforms:
 
-         1 = left
-         2 = right
-         3 = middle.
+           1 = left
+           2 = right
+           3 = middle.
 
        This variable lets you customize the mouse.  The variable must be three
        numeric digits 1-3 in any order, e.g., 123 or 321.  If it is not speci-
@@ -1047,11 +1047,11 @@
        o   If  ncurses  is  built  to use hashed databases, then each entry in
            this list may be the path of a hashed database file, e.g.,
 
-             /usr/share/terminfo.db
+               /usr/share/terminfo.db
 
            rather than
 
-             /usr/share/terminfo/
+               /usr/share/terminfo/
 
            The hashed database uses less disk-space and  is  a  little  faster
            than  the  directory  tree.   However, some applications assume the
@@ -1066,8 +1066,8 @@
            the remainder of that variable as a compiled terminal  description.
            You might produce the base64 format using infocmp(1m):
 
-             TERMINFO="$(infocmp -0 -Q2 -q)"
-             export TERMINFO
+               TERMINFO="$(infocmp -0 -Q2 -q)"
+               export TERMINFO
 
            The  compiled description is used if it corresponds to the terminal
            identified by the TERM variable.
@@ -1112,7 +1112,7 @@
        If  the  TERMPATH environment variable is not set, ncurses looks in the
        files
 
-         /etc/termcap, /usr/share/misc/termcap and $HOME/.termcap,
+           /etc/termcap, /usr/share/misc/termcap and $HOME/.termcap,
 
        in that order.
 
@@ -1120,7 +1120,7 @@
        the  current  user  is the superuser (root), or if the application uses
        setuid or setgid permissions:
 
-         $TERMINFO, $TERMINFO_DIRS, $TERMPATH, as well as $HOME.
+           $TERMINFO, $TERMINFO_DIRS, $TERMPATH, as well as $HOME.
 
 
 

ALTERNATE CONFIGURATIONS

@@ -1132,14 +1132,14 @@
        --disable-overwrite
             The standard include for ncurses is as noted in SYNOPSIS:
 
-              #include <curses.h>
+                #include <curses.h>
 
             This  option  is  used to avoid filename conflicts when ncurses is
             not the main implementation of curses of the computer.  If ncurses
             is  installed disabling overwrite, it puts its headers in a subdi-
             rectory, e.g.,
 
-              #include <ncurses/curses.h>
+                #include <ncurses/curses.h>
 
             It also omits a  symbolic  link  which  would  allow  you  to  use
             -lcurses to build executables.
@@ -1150,30 +1150,51 @@
             ent subdirectory.  All of the library names have a "w" appended to
             them, i.e., instead of
 
-              -lncurses
+                -lncurses
 
             you link with
 
-              -lncursesw
+                -lncursesw
 
-            You must also define _XOPEN_SOURCE_EXTENDED when compiling for the
-            wide-character  library to use the extended (wide-character) func-
-            tions.  The curses.h file which is installed for the  wide-charac-
-            ter library is designed to be compatible with the normal library's
-            header.  Only the size of the WINDOW structure differs,  and  very
-            few  applications  require more than a pointer to WINDOWs.  If the
-            headers  are  installed  allowing  overwrite,  the  wide-character
-            library's  headers should be installed last, to allow applications
-            to be built using either library from the same set of headers.
+            You must also enable the wide-character  features  in  the  header
+            file  when  compiling  for  the  wide-character library to use the
+            extended (wide-character) functions.   The  symbol  which  enables
+            these features has changed since XSI Curses, Issue 4:
+
+            o   Originally,  the  wide-character  feature  required the symbol
+                _XOPEN_SOURCE_EXTENDED  but  that  was  only  valid  for  XPG4
+                (1996).
+
+            o   Later,  that was deemed conflicting with _XOPEN_SOURCE defined
+                to 500.
+
+            o   As of mid-2018, none of the features  in  this  implementation
+                require  a  _XOPEN_SOURCE  feature greater than 600.  However,
+                X/Open Curses, Issue 7 (2009) recommends defining it to 700.
+
+            o   Alternatively,  you  can  enable  the  feature   by   defining
+                NCURSES_WIDECHAR  with  the caveat that some other header file
+                than curses.h may require a specific value  for  _XOPEN_SOURCE
+                (or a system-specific symbol).
+
+            The  curses.h  file  which  is  installed  for  the wide-character
+            library is designed to be compatible  with  the  normal  library's
+            header.   Only  the size of the WINDOW structure differs, and very
+            few applications require more than a pointer to WINDOWs.
+
+            If the headers are installed allowing overwrite, the  wide-charac-
+            ter  library's headers should be installed last, to allow applica-
+            tions to be built using either library from the same set of  head-
+            ers.
 
        --with-pthread
-            The configure script renames the  library.   All  of  the  library
-            names  have  a  "t"  appended  to  them  (before  any "w" added by
+            The  configure  script  renames  the  library.  All of the library
+            names have a "t"  appended  to  them  (before  any  "w"  added  by
             --enable-widec).
 
             The global variables such as LINES are replaced by macros to allow
             read-only access.  At the same time, setter-functions are provided
-            to set these values.  Some applications  (very  few)  may  require
+            to  set  these  values.   Some applications (very few) may require
             changes to work with this convention.
 
        --with-shared
@@ -1183,79 +1204,79 @@
        --with-debug
 
        --with-profile
-            The  shared and normal (static) library names differ by their suf-
-            fixes, e.g., libncurses.so and libncurses.a.  The debug  and  pro-
-            filing  libraries  add a "_g" and a "_p" to the root names respec-
+            The shared and normal (static) library names differ by their  suf-
+            fixes,  e.g.,  libncurses.so and libncurses.a.  The debug and pro-
+            filing libraries add a "_g" and a "_p" to the root  names  respec-
             tively, e.g., libncurses_g.a and libncurses_p.a.
 
        --with-trace
-            The trace function normally resides in the debug library,  but  it
+            The  trace  function normally resides in the debug library, but it
             is sometimes useful to configure this in the shared library.  Con-
-            figure scripts should check for the  function's  existence  rather
+            figure  scripts  should  check for the function's existence rather
             than assuming it is always in the debug library.
 
 
 

FILES

        /usr/share/tabset
-            directory  containing  initialization files for the terminal capa-
+            directory containing initialization files for the  terminal  capa-
             bility database /usr/share/terminfo terminal capability database
 
 
 

SEE ALSO

-       terminfo(5) and related pages whose names begin  "curs_"  for  detailed
+       terminfo(5)  and  related  pages whose names begin "curs_" for detailed
        routine descriptions.
        curs_variables(3x)
        user_caps(5) for user-defined capabilities
 
 
 

EXTENSIONS

-       The  ncurses library can be compiled with an option (-DUSE_GETCAP) that
-       falls back to the old-style /etc/termcap file  if  the  terminal  setup
-       code  cannot  find a terminfo entry corresponding to TERM.  Use of this
-       feature is not recommended, as it essentially includes an entire  term-
-       cap  compiler  in the ncurses startup code, at significant cost in core
+       The ncurses library can be compiled with an option (-DUSE_GETCAP)  that
+       falls  back  to  the  old-style /etc/termcap file if the terminal setup
+       code cannot find a terminfo entry corresponding to TERM.  Use  of  this
+       feature  is not recommended, as it essentially includes an entire term-
+       cap compiler in the ncurses startup code, at significant cost  in  core
        and startup cycles.
 
-       The ncurses library includes facilities for capturing mouse  events  on
-       certain  terminals  (including  xterm).   See the curs_mouse(3x) manual
+       The  ncurses  library includes facilities for capturing mouse events on
+       certain terminals (including xterm).   See  the  curs_mouse(3x)  manual
        page for details.
 
        The ncurses library includes facilities for responding to window resiz-
        ing events, e.g., when running in an xterm.  See the resizeterm(3x) and
-       wresize(3x) manual pages for details.  In addition, the library may  be
+       wresize(3x)  manual pages for details.  In addition, the library may be
        configured with a SIGWINCH handler.
 
-       The  ncurses library extends the fixed set of function key capabilities
-       of terminals by allowing the application designer to define  additional
-       key  sequences at runtime.  See the define_key(3x) key_defined(3x), and
+       The ncurses library extends the fixed set of function key  capabilities
+       of  terminals by allowing the application designer to define additional
+       key sequences at runtime.  See the define_key(3x) key_defined(3x),  and
        keyok(3x) manual pages for details.
 
-       The ncurses library can exploit the  capabilities  of  terminals  which
-       implement  the  ISO-6429  SGR  39  and  SGR 49 controls, which allow an
-       application to reset the terminal to its original foreground and  back-
+       The  ncurses  library  can  exploit the capabilities of terminals which
+       implement the ISO-6429 SGR 39 and  SGR  49  controls,  which  allow  an
+       application  to reset the terminal to its original foreground and back-
        ground colors.  From the users' perspective, the application is able to
-       draw colored text on a background whose  color  is  set  independently,
-       providing  better  control  over color contrasts.  See the default_col-
+       draw  colored  text  on  a background whose color is set independently,
+       providing better control over color contrasts.   See  the  default_col-
        ors(3x) manual page for details.
 
-       The ncurses library includes a function for directing application  out-
-       put   to   a   printer  attached  to  the  terminal  device.   See  the
+       The  ncurses library includes a function for directing application out-
+       put  to  a  printer  attached  to  the  terminal   device.    See   the
        curs_print(3x) manual page for details.
 
 
 

PORTABILITY

-       The ncurses library is intended to be BASE-level  conformant  with  XSI
-       Curses.   The  EXTENDED  XSI Curses functionality (including color sup-
+       The  ncurses  library  is intended to be BASE-level conformant with XSI
+       Curses.  The EXTENDED XSI Curses functionality  (including  color  sup-
        port) is supported.
 
-       A small number of local differences (that  is,  individual  differences
-       between  the XSI Curses and ncurses calls) are described in PORTABILITY
+       A  small  number  of local differences (that is, individual differences
+       between the XSI Curses and ncurses calls) are described in  PORTABILITY
        sections of the library man pages.
 
        Unlike other implementations, this one checks parameters such as point-
-       ers  to WINDOW structures to ensure they are not null.  The main reason
-       for providing this behavior is to guard against programmer error.   The
-       standard  interface  does  not provide a way for the library to tell an
+       ers to WINDOW structures to ensure they are not null.  The main  reason
+       for  providing this behavior is to guard against programmer error.  The
+       standard interface does not provide a way for the library  to  tell  an
        application which of several possible errors were detected.  Relying on
        this (or some other) extension will adversely affect the portability of
        curses applications.
@@ -1265,15 +1286,15 @@
        o   The routine has_key is not part of XPG4, nor is it present in SVr4.
            See the curs_getch(3x) manual page for details.
 
-       o   The  routine  slk_attr  is  not  part of XPG4, nor is it present in
+       o   The routine slk_attr is not part of XPG4,  nor  is  it  present  in
            SVr4.  See the curs_slk(3x) manual page for details.
 
-       o   The routines getmouse, mousemask,  ungetmouse,  mouseinterval,  and
-           wenclose  relating  to  mouse interfacing are not part of XPG4, nor
-           are they present in SVr4.  See the curs_mouse(3x) manual  page  for
+       o   The  routines  getmouse,  mousemask, ungetmouse, mouseinterval, and
+           wenclose relating to mouse interfacing are not part  of  XPG4,  nor
+           are  they  present in SVr4.  See the curs_mouse(3x) manual page for
            details.
 
-       o   The  routine  mcprint was not present in any previous curses imple-
+       o   The routine mcprint was not present in any previous  curses  imple-
            mentation.  See the curs_print(3x) manual page for details.
 
        o   The routine wresize is not part of XPG4, nor is it present in SVr4.
@@ -1283,28 +1304,28 @@
            tion programs.  See curs_opaque(3x) for the discussion of is_scrol-
            lok, etc.
 
-       o   This  implementation  can be configured to provide rudimentary sup-
-           port for multi-threaded  applications.   See  curs_threads(3x)  for
+       o   This implementation can be configured to provide  rudimentary  sup-
+           port  for  multi-threaded  applications.   See curs_threads(3x) for
            details.
 
-       o   This  implementation  can  also  be  configured to provide a set of
-           functions which improve the ability  to  manage  multiple  screens.
+       o   This implementation can also be configured  to  provide  a  set  of
+           functions  which  improve  the  ability to manage multiple screens.
            See curs_sp_funcs(3x) for details.
 
-       In  historic  curses  versions, delays embedded in the capabilities cr,
-       ind, cub1, ff and tab activated corresponding delay bits  in  the  UNIX
+       In historic curses versions, delays embedded in  the  capabilities  cr,
+       ind,  cub1,  ff  and tab activated corresponding delay bits in the UNIX
        tty driver.  In this implementation, all padding is done by sending NUL
-       bytes.  This method is slightly more expensive, but narrows the  inter-
-       face  to  the  UNIX  kernel  significantly  and increases the package's
+       bytes.   This method is slightly more expensive, but narrows the inter-
+       face to the UNIX  kernel  significantly  and  increases  the  package's
        portability correspondingly.
 
 
 

NOTES

-       The header file <curses.h>  automatically  includes  the  header  files
+       The  header  file  <curses.h>  automatically  includes the header files
        <stdio.h> and <unctrl.h>.
 
-       If  standard  output from a ncurses program is re-directed to something
-       which is not a tty, screen updates will be directed to standard  error.
+       If standard output from a ncurses program is re-directed  to  something
+       which  is not a tty, screen updates will be directed to standard error.
        This was an undocumented feature of AT&T System V Release 3 curses.