X-Git-Url: https://ncurses.scripts.mit.edu/?a=blobdiff_plain;f=doc%2Fhtml%2Fman%2Fcurs_initscr.3x.html;h=778fc0016d1ad2c99233fc06d82c1fe1c0a0a709;hb=HEAD;hp=54c24a5f464b20008daaccbdc3a21ded730badf9;hpb=d79ff7b4d5f5ac63e7d9d7e76706d95a1ddb243c;p=ncurses.git diff --git a/doc/html/man/curs_initscr.3x.html b/doc/html/man/curs_initscr.3x.html index 54c24a5f..9b77d4c3 100644 --- a/doc/html/man/curs_initscr.3x.html +++ b/doc/html/man/curs_initscr.3x.html @@ -1,6 +1,6 @@ -curs_initscr 3x 2023-07-01 ncurses 6.4 Library calls +curs_initscr 3x 2024-06-08 ncurses 6.5 Library calls -

curs_initscr 3x 2023-07-01 ncurses 6.4 Library calls

+

curs_initscr 3x 2024-06-08 ncurses 6.5 Library calls

 curs_initscr(3x)                 Library calls                curs_initscr(3x)
 
@@ -47,8 +47,8 @@
 
 
 

NAME

-       initscr, newterm, endwin, isendwin, set_term, delscreen - curses screen
-       initialization and manipulation routines
+       initscr,  newterm,  endwin, isendwin, set_term, delscreen - initialize,
+       manipulate, or tear down curses terminal interface
 
 
 

SYNOPSIS

@@ -72,11 +72,11 @@
        it; these are slk_init(3x), filter, ripoffline, use_env.  For multiple-
        terminal applications, newterm may be called before initscr.
 
-       The initscr code determines the terminal type and initializes all curs-
-       es data structures.  initscr also causes the first call to  refresh(3x)
-       to  clear  the  screen.  If errors occur, initscr writes an appropriate
-       error message to standard error and exits; otherwise, a pointer is  re-
-       turned to stdscr.
+       The  initscr  code  determines  the  terminal  type and initializes all
+       curses  data  structures.   initscr  also  causes  the  first  call  to
+       refresh(3x)  to  clear  the screen.  If errors occur, initscr writes an
+       appropriate error message to standard error  and  exits;  otherwise,  a
+       pointer is returned to stdscr.
 
 
 

newterm

@@ -86,9 +86,9 @@
        if the terminal cannot support a screen-oriented  program,  would  also
        use newterm.
 
-       The  routine  newterm  should be called once for each terminal.  It re-
-       turns a variable of type SCREEN * which should be saved as a  reference
-       to that terminal.  newterm's arguments are
+       The  routine  newterm  should  be  called  once  for each terminal.  It
+       returns a variable of  type  SCREEN  *  which  should  be  saved  as  a
+       reference to that terminal.  newterm's arguments are
 
        o   the type of the terminal to be used in place of $TERM,
 
@@ -99,8 +99,8 @@
        If the type parameter is NULL, $TERM will be used.
 
        The  file  descriptor  of the output stream is passed to setupterm(3x),
-       which returns a pointer to a TERMINAL structure.  newterm's return val-
-       ue holds a pointer to the TERMINAL structure.
+       which returns a pointer to  a  TERMINAL  structure.   newterm's  return
+       value holds a pointer to the TERMINAL structure.
 
 
 

endwin

@@ -116,13 +116,13 @@
 
        o   moves the cursor to the lower left-hand corner of the screen,
 
-       o   clears  the  remainder of the line so that it uses the default col-
-           ors,
+       o   clears  the  remainder  of  the  line  so  that it uses the default
+           colors,
 
        o   sets the cursor to normal visibility (see curs_set(3x)),
 
-       o   stops cursor-addressing mode using the exit_ca_mode terminal  capa-
-           bility,
+       o   stops  cursor-addressing  mode  using  the  exit_ca_mode   terminal
+           capability,
 
        o   restores tty modes (see reset_shell_mode(3x)).
 
@@ -137,134 +137,139 @@
 
 

set_term

        The  set_term  routine  is  used to switch between different terminals.
-       The screen reference new becomes the new current terminal.  The  previ-
-       ous  terminal  is  returned  by  the routine.  This is the only routine
-       which manipulates SCREEN pointers; all other routines affect  only  the
+       The screen  reference  new  becomes  the  new  current  terminal.   The
+       previous terminal is returned by the routine.  This is the only routine
+       which manipulates SCREEN pointers; all other routines affect  only  the
        current terminal.
 
 
 

delscreen

-       The  delscreen  routine  frees  storage associated with the SCREEN data
+       The  delscreen  routine  frees  storage associated with the SCREEN data
        structure.  The endwin routine does not do this, so delscreen should be
-       called after endwin if a particular SCREEN is no longer needed.
+       called after endwin if a particular SCREEN is no longer needed.
 
 
 

RETURN VALUE

-       endwin returns the integer ERR upon failure and OK upon successful com-
-       pletion.
+       endwin  returns  the  integer  ERR  upon failure and OK upon successful
+       completion.
 
        Routines that return pointers always return NULL on error.
 
        X/Open defines no error conditions.  In this implementation
 
-       o   endwin returns an error if the terminal was not initialized.
+       o   endwin returns ERR if
 
-       o   newterm returns an error if it cannot allocate the data  structures
-           for  the  screen,  or  for the top-level windows within the screen,
-           i.e., curscr, newscr, or stdscr.
+           o   the terminal was not initialized, or
+
+           o   endwin is called more than once without updating the screen, or
+
+           o   reset_shell_mode(3x) return ERR.
+
+       o   newterm returns ERR if it cannot allocate the data  structures  for
+           the  screen,  or for the top-level windows within the screen, i.e.,
+           curscr, newscr, or stdscr.
 
        o   set_term returns no error.
 
 
 

PORTABILITY

-       These functions were described in the XSI Curses standard, Issue 4.  As
-       of 2015, the current document is X/Open Curses, Issue 7.
+       These functions were described in X/Open Curses, Issue 4.  As of  2015,
+       the current document is X/Open Curses, Issue 7.
 
 
 

Differences

-       X/Open  specifies that portable applications must not call initscr more
-       than once:
+       X/Open  Curses  specifies  that  portable  applications  must  not call
+       initscr more than once:
 
-       o   The portable way to use initscr is once only,  using  refresh  (see
-           curs_refresh(3x)) to restore the screen after endwin.
+       o   The portable way to use initscr is once only, using refresh(3x)  to
+           restore the screen after endwin.
 
        o   This implementation allows using initscr after endwin.
 
        Old versions of curses, e.g., BSD 4.4, would return a null pointer from
        initscr when an error is detected, rather than exiting.  It is safe but
-       redundant to check the return value of initscr in XSI Curses.
+       redundant to check the return value of initscr in X/Open Curses.
 
        Calling  endwin  does not dispose of the memory allocated in initscr or
-       newterm.  Deleting a SCREEN provides a way to do this:
+       newterm.  Deleting a SCREEN provides a way to do this:
 
-       o   X/Open Curses does not say what happens to WINDOWs  when  delscreen
-           "frees  storage associated with the SCREEN" nor does the SVr4 docu-
-           mentation help, adding that it should be called after endwin  if  a
-           SCREEN is no longer needed.
+       o   X/Open Curses does not say what happens to WINDOWs  when  delscreen
+           "frees  storage  associated  with  the  SCREEN"  nor  does the SVr4
+           documentation help, adding that it should be called after endwin if
+           a SCREEN is no longer needed.
 
-       o   However,  WINDOWs are implicitly associated with a SCREEN.  so that
+       o   However,  WINDOWs are implicitly associated with a SCREEN.  so that
            it is reasonable to expect delscreen to deal with these.
 
-       o   SVr4 curses deletes  the  standard  WINDOW  structures  stdscr  and
+       o   SVr4 curses deletes  the  standard  WINDOW  structures  stdscr  and
            curscr  as  well  as a work area newscr.  SVr4 curses ignores other
            windows.
 
-       o   Since version 4.0 (1996), ncurses has maintained a list of all win-
-           dows  for  each screen, using that information to delete those win-
-           dows when delscreen is called.
+       o   Since version 4.0 (1996), ncurses has  maintained  a  list  of  all
+           windows  for  each  screen,  using that information to delete those
+           windows when delscreen is called.
 
-       o   NetBSD copied this feature of ncurses in  2001.   PDCurses  follows
-           the SVr4 model, deleting only the standard WINDOW structures.
+       o   NetBSD copied this feature of ncurses in  2001.   PDCurses  follows
+           the SVr4 model, deleting only the standard WINDOW structures.
 
 
-

High-level versus low-level

+

High-level versus Low-level

        Different  implementations  may  disagree  regarding  the level of some
-       functions.  For example, SCREEN (returned by newterm) and TERMINAL (re-
-       turned  by  setupterm(3x)) hold file descriptors for the output stream.
-       If an application switches screens using set_term, or  switches  termi-
-       nals  using set_curterm(3x), applications which use the output file de-
-       scriptor can have different behavior depending on which structure holds
-       the corresponding descriptor.
+       functions.  For example, SCREEN  (returned  by  newterm)  and  TERMINAL
+       (returned  by  setupterm(3x))  hold  file  descriptors  for  the output
+       stream.  If an application switches screens using set_term, or switches
+       terminals using set_curterm(3x), applications which use the output file
+       descriptor can have different behavior  depending  on  which  structure
+       holds the corresponding descriptor.
 
        For example
 
-       o   NetBSD's  baudrate(3x)  function  uses  the descriptor in TERMINAL.
-           ncurses and SVr4 use the descriptor in SCREEN.
+       o   NetBSD's  baudrate(3x)  function  uses  the descriptor in TERMINAL.
+           ncurses and SVr4 use the descriptor in SCREEN.
 
-       o   NetBSD and ncurses use the descriptor in TERMINAL for terminal  I/O
+       o   NetBSD and ncurses use the descriptor in TERMINAL for terminal  I/O
            modes,  e.g.,  def_shell_mode(3x),  def_prog_mode(3x).  SVr4 curses
-           uses the descriptor in SCREEN.
-
+           uses the descriptor in SCREEN.
 
-

Unset TERM Variable

-       If the TERM variable is missing or empty, initscr uses the  value  "un-
-       known", which normally corresponds to a terminal entry with the generic
-       (gn) capability.  Generic entries are  detected  by  setupterm(3x)  and
-       cannot  be  used  for full-screen operation.  Other implementations may
-       handle a missing/empty TERM variable differently.
+   Unset TERM Variable
+       If the TERM variable is  missing  or  empty,  initscr  uses  the  value
+       "unknown",  which  normally  corresponds  to  a terminal entry with the
+       generic (gn) capability.  Generic entries are detected by setupterm(3x)
+       and  cannot  be  used for full-screen operation.  Other implementations
+       may handle a missing/empty TERM variable differently.
 
 
 

Signal Handlers

-       Quoting from X/Open Curses, section 3.1.1:
+       Quoting from X/Open Curses Issue 7, section 3.1.1:
 
-            Curses implementations may provide for  special  handling  of  the
-            SIGINT,  SIGQUIT  and  SIGTSTP  signals  if  their  disposition is
-            SIG_DFL at the time initscr is called ...
+            Curses implementations may provide for  special  handling  of  the
+            SIGINT,  SIGQUIT,  and  SIGTSTP  signals  if  their disposition is
+            SIG_DFL at the time initscr is called...
 
-            Any special handling for these signals may remain  in  effect  for
-            the  life  of  the  process  or  until  the  process  changes  the
-            disposition of the signal.
+            Any special handling for these signals may remain  in  effect  for
+            the  life  of  the  process  or  until  the  process  changes  the
+            disposition of the signal.
 
-            None of the Curses functions are required to be safe with  respect
-            to signals ...
+            None of the Curses functions are required to be safe with  respect
+            to signals...
 
        This  implementation establishes signal handlers during initialization,
        e.g., initscr or newterm.  Applications which must handle these signals
-       should  set  up  the  corresponding handlers after initializing the li-
-       brary:
+       should  set  up  the  corresponding  handlers  after  initializing  the
+       library:
 
        SIGINT
-            The handler attempts to cleanup the screen on exit.   Although  it
+            The handler attempts to clean up the screen on exit.  Although  it
             usually works as expected, there are limitations:
 
-            o   Walking  the  SCREEN list is unsafe, since all list management
+            o   Walking  the  SCREEN list is unsafe, since all list management
                 is done without any signal blocking.
 
-            o   On systems which have REENTRANT turned on, set_term uses func-
-                tions which could deadlock or misbehave in other ways.
+            o   On systems which  have  REENTRANT  turned  on,  set_term  uses
+                functions which could deadlock or misbehave in other ways.
 
-            o   endwin calls other functions, many of which use stdio or other
-                library functions which are clearly unsafe.
+            o   endwin  calls  other  functions, many of which use stdio(3) or
+                other library functions which are clearly unsafe.
 
        SIGTERM
             This uses the same handler as SIGINT, with the  same  limitations.
@@ -274,27 +279,31 @@
        SIGTSTP
             This handles the stop signal, used in job control.  When  resuming
             the  process,  this  implementation  discards  pending  input with
-            flushinput (see curs_util(3x)), and repaints the  screen  assuming
-            that  it  has  been completely altered.  It also updates the saved
-            terminal modes with def_shell_mode (see curs_kernel(3x)).
+            flushinp(3x), and repaints the screen assuming that  it  has  been
+            completely altered.  It also updates the saved terminal modes with
+            def_shell_mode(3x).
 
        SIGWINCH
             This handles the window-size changes which  were  ignored  in  the
-            standardization  efforts.   The handler sets a (signal-safe) vari-
-            able which is later tested in  wgetch  (see  curs_getch(3x)).   If
-            keypad  has  been enabled for the corresponding window, wgetch re-
-            turns the key symbol KEY_RESIZE.  At the same time,  wgetch  calls
-            resizeterm  to adjust the standard screen stdscr, and update other
-            data such as LINES and COLS.
+            standardization   efforts.    The  handler  sets  a  (signal-safe)
+            variable that is later tested by wgetch(3x) and wget_wch(3x).
+
+            o   wgetch returns the key code KEY_RESIZE.
+
+            o   wget_wch returns KEY_CODE_YES and sets its  wch  parameter  to
+                KEY_RESIZE.
+
+            At  the same time, ncurses calls resizeterm to adjust the standard
+            screen stdscr, and update other data such as LINES and COLS.
 
 
 

SEE ALSO

-       curses(3x), curs_kernel(3x), curs_refresh(3x), curs_slk(3x),  curs_ter-
-       minfo(3x), curs_util(3x), curs_variables(3x).
+       curses(3x),    curs_kernel(3x),     curs_refresh(3x),     curs_slk(3x),
+       curs_terminfo(3x), curs_util(3x), curs_variables(3x)
 
 
 
-ncurses 6.4                       2023-07-01                  curs_initscr(3x)
+ncurses 6.5                       2024-06-08                  curs_initscr(3x)