initscr

TriggerTek Logo
abcdefghijklmnopqrstuvwxyz_
curs_initscr(3X)					     curs_initscr(3X)



NAME
       initscr,	 newterm,  endwin,  isendwin,  set_term,  delscreen  - curses
       screen initialization and manipulation routines

SYNOPSIS
       #include <curses.h>

       WINDOW *initscr(void);
       int endwin(void);
       bool isendwin(void);
       SCREEN *newterm(char *type, FILE *outfd, FILE *infd);
       SCREEN *set_term(SCREEN *new);
       void delscreen(SCREEN* sp);

DESCRIPTION
       initscr is normally the first curses routine to call when initializing
       a  program.  A few special routines sometimes need to be called before
       it; these are slk_init, filter, ripoffline,  use_env.   For  multiple-
       terminal applications, newterm may be called before initscr.

       The  initscr  code  determines  the  terminal type and initializes all
       curses data structures.	initscr also causes the first call to refresh
       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.

       A  program  that	 outputs  to  more  than  one terminal should use the
       newterm routine for each terminal instead of initscr.  A program	 that
       needs  to  inspect  capabilities, so it can continue to run in a line-
       oriented mode if the terminal cannot support  a	screen-oriented	 pro-
       gram,  would  also  use newterm.	 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.  The arguments are
       the type of the terminal to be used in place of $TERM, a file  pointer
       for  output  to	the terminal, and another file pointer for input from
       the terminal (if type is NULL, $TERM will be used).  The program	 must
       also  call  endwin  for	each  terminal being used before exiting from
       curses.	If newterm is called more than once for	 the  same  terminal,
       the  first  terminal referred to must be the last one for which endwin
       is called.

       A program should always call endwin before exiting  or  escaping	 from
       curses  mode  temporarily.  This routine restores tty modes, moves the
       cursor to the lower left-hand corner of the screen and resets the ter-
       minal  into  the	 proper non-visual mode.  Calling refresh or doupdate
       after a temporary escape causes the program to resume visual mode.

       The isendwin routine returns TRUE if endwin has	been  called  without
       any subsequent calls to wrefresh, and FALSE otherwise.

       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
       current terminal.

       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.

RETURN VALUE
       endwin  returns	the  integer  ERR upon failure and OK upon successful
       completion.

       Routines that return pointers always return NULL on error.

NOTES
       Note that initscr and newterm may be macros.

PORTABILITY
       These functions are described in the XSI Curses standard, Issue 4.  It
       specifies  that	portable applications must not call initscr more than
       once.

       Old versions of curses, e.g.,  BSD  4.4,	 may  have  returned  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.

SEE ALSO
       curses(3X),     curs_kernel(3X),	   curs_refresh(3X),	curs_slk(3X),
       curs_util(3X)



							     curs_initscr(3X)