X-Git-Url: https://ncurses.scripts.mit.edu/?p=ncurses.git;a=blobdiff_plain;f=man%2Fcurs_initscr.3x;h=235a5aa715bbc036b979696cf52f14076bbc2b55;hp=dc15ecbca87bd20467d4588e51b37a64e7c8c481;hb=152c5a605234b7ea36ba3a03ec07e124bb6aac75;hpb=6a530b46563470c2ca73579d1994a0c8e275dd98;ds=inline diff --git a/man/curs_initscr.3x b/man/curs_initscr.3x index dc15ecbc..235a5aa7 100644 --- a/man/curs_initscr.3x +++ b/man/curs_initscr.3x @@ -1,5 +1,6 @@ .\"*************************************************************************** -.\" Copyright (c) 1998-2014,2015 Free Software Foundation, Inc. * +.\" Copyright 2018,2020 Thomas E. Dickey * +.\" Copyright 1998-2016,2017 Free Software Foundation, Inc. * .\" * .\" Permission is hereby granted, free of charge, to any person obtaining a * .\" copy of this software and associated documentation files (the * @@ -26,10 +27,11 @@ .\" authorization. * .\"*************************************************************************** .\" -.\" $Id: curs_initscr.3x,v 1.24 2015/07/21 23:01:38 tom Exp $ +.\" $Id: curs_initscr.3x,v 1.33 2020/10/17 23:20:48 tom Exp $ .TH curs_initscr 3X "" .de bP -.IP \(bu 4 +.ie n .IP \(bu 4 +.el .IP \(bu 2 .. .ie \n(.g .ds `` \(lq .el .ds `` `` @@ -52,10 +54,10 @@ \fBWINDOW *initscr(void);\fR .br \fBint endwin(void);\fR -.br +.sp \fBbool isendwin(void);\fR -.br -\fBSCREEN *newterm(char *\fP\fItype\fP\fB, FILE *\fP\fIoutfd\fP\fB, FILE *\fP\fIinfd\fP\fB);\fR +.sp +\fBSCREEN *newterm(const char *\fP\fItype\fP\fB, FILE *\fP\fIoutfd\fP\fB, FILE *\fP\fIinfd\fP\fB);\fR .br \fBSCREEN *set_term(SCREEN *\fP\fInew\fP\fB);\fR .br @@ -66,14 +68,15 @@ \fBinitscr\fR is normally the first \fBcurses\fR routine to call when initializing a program. A few special routines sometimes need to be called before it; -these are \fBslk_init\fR, \fBfilter\fR, \fBripoffline\fR, +these are \fBslk_init\fR(3X), \fBfilter\fR, \fBripoffline\fR, \fBuse_env\fR. For multiple-terminal applications, \fBnewterm\fR may be called before \fBinitscr\fR. .PP The initscr code determines the terminal type and initializes all \fBcurses\fR data structures. -\fBinitscr\fR also causes the first call to \fBrefresh\fR to clear the screen. +\fBinitscr\fR also causes the first call to \fBrefresh\fR(3X) +to clear the screen. If errors occur, \fBinitscr\fR writes an appropriate error message to standard error and exits; otherwise, a pointer is returned to \fBstdscr\fR. @@ -108,14 +111,19 @@ A program should always call \fBendwin\fR before exiting or escaping from \fBcurses\fR mode temporarily. This routine .bP -restores tty modes, +resets colors to correspond with the default color pair 0, +.bP +moves the cursor to the lower left-hand corner of the screen, +.bP +clears the remainder of the line so that it uses the default colors, +.bP +sets the cursor to normal visibility (see \fBcurs_set\fP(3X)), .bP -moves the cursor to the lower left-hand corner of the screen and +stops cursor-addressing mode using the \fIexit_ca_mode\fP terminal capability, .bP -resets the terminal into -the proper non-visual mode. +restores tty modes (see \fBreset_shell_mode\fP(3X)). .PP -Calling \fBrefresh\fR or \fBdoupdate\fR after a +Calling \fBrefresh\fR(3X) or \fBdoupdate\fR(3X) after a temporary escape causes the program to resume visual mode. .SS isendwin .PP @@ -155,8 +163,6 @@ i.e., .bP \fBset_term\fP returns no error. -.SH NOTES -Note that \fBinitscr\fR and \fBnewterm\fR may be macros. .SH PORTABILITY These functions were described in the XSI Curses standard, Issue 4. As of 2015, the current document is X/Open Curses, Issue 7. @@ -165,7 +171,8 @@ X/Open specifies that portable applications must not call \fBinitscr\fR more than once: .bP The portable way to use \fBinitscr\fP is once only, -using \fBrefresh\fP (see curs_refresh(3X)) to restore the screen after \fBendwin\fP. +using \fBrefresh\fP (see curs_refresh(3X)) +to restore the screen after \fBendwin\fP. .bP This implementation allows using \fBinitscr\fP after \fBendwin\fP. .PP @@ -179,23 +186,25 @@ If the TERM variable is missing or empty, \fBinitscr\fP uses the value \*(``unknown\*('', which normally corresponds to a terminal entry with the \fIgeneric\fP (\fIgn\fP) capability. -Generic entries are detected by \fBsetupterm\fP (see curs_terminfo(3X)) and cannot be -used for full-screen operation. +Generic entries are detected by \fBsetupterm\fP +(see curs_terminfo(3X)) and cannot be used for full-screen operation. Other implementations may handle a missing/empty TERM variable differently. .SS Signal Handlers .PP Quoting from X/Open Curses, section 3.1.1: .RS 5 .PP -\fICurses implementations may provide for special handling of the SIGINT, -SIGQUIT and SIGTSTP signals if their disposition is SIG_DFL at the time -\fBinitscr()\fP is called \fP... +\fICurses implementations may provide for special handling of the \fBSIGINT\fP, +\fBSIGQUIT\fP and \fBSIGTSTP\fP signals +if their disposition is \fBSIG_DFL\fP at the time +\fBinitscr\fP is called \fP... .PP \fIAny 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.\fP .PP -\fINone of the Curses functions are required to be safe with respect to signals \fP... +\fINone of the Curses functions are required to be safe +with respect to signals \fP... .RE .PP This implementation establishes signal handlers during initialization, @@ -228,10 +237,11 @@ This handles the \fIstop\fP signal, used in job control. When resuming the process, this implementation discards pending input with \fBflushinput\fP (see curs_util(3X)), and repaints the screen assuming that it has been completely altered. -It also updates the saved terminal modes with \fBdef_shell_mode\fP (see curs_kernel(3X)). +It also updates the saved terminal modes with \fBdef_shell_mode\fP +(see \fBcurs_kernel\fR(3X)). .TP 5 .B SIGWINCH -This handles the window-size changes which were initially ignored in +This handles the window-size changes which were ignored in the standardization efforts. The handler sets a (signal-safe) variable which is later tested in \fBwgetch\fP (see curs_getch(3X)).