MirBSD manpage: curs_initscr(3), delscreen(3), endwin(3), initscr(3), isendwin(3), newterm(3), set_term(3)

curs_initscr(3)     UNIX Programmer's Manual      curs_initscr(3)


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


     #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);


     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  initial-
     izes  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 er-
     ror 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  con-
     tinue  to run in a line-oriented mode if the terminal cannot
     support a screen-oriented program, 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 in-
     put 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 escap-
     ing from curses mode temporarily.  This routine restores tty
     modes, moves the cursor to the lower left-hand corner of the
     screen  and  resets  the terminal 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 other-

MirBSD #10-current     Printed 2022-12-23                       1

curs_initscr(3)     UNIX Programmer's Manual      curs_initscr(3)


     The set_term routine is used  to  switch  between  different
     terminals.  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.

     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.


     endwin returns the integer ERR upon failure and OK upon suc-
     cessful completion.

     Routines that return pointers always return NULL on error.

     X/Open defines no error conditions. In  this  implementation
     endwin returns an error if the terminal was not initialized.


     Note that initscr and newterm may be macros.


     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.


     curses(3),  curs_kernel(3),  curs_refresh(3),   curs_slk(3),

MirBSD #10-current     Printed 2022-12-23                       2

Generated on 2022-12-24 01:00:14 by $MirOS: src/scripts/roff2htm,v 1.113 2022/12/21 23:14:31 tg Exp $ — This product includes material provided by mirabilos.

These manual pages and other documentation are copyrighted by their respective writers; their sources are available at the project’s CVSweb, AnonCVS and other mirrors. The rest is Copyright © 2002–2022 MirBSD.

This manual page’s HTML representation is supposed to be valid XHTML/1.1; if not, please send a bug report — diffs preferred.

Kontakt / Impressum & Datenschutzerklärung