freebsd-skq/contrib/ncurses/man/curs_scr_dump.3x

116 lines
5.0 KiB
Plaintext
Raw Normal View History

.\"***************************************************************************
2020-02-19 16:58:06 +00:00
.\" Copyright 2018-2019,2020 Thomas E. Dickey *
.\" Copyright 1998-2010,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 *
.\" "Software"), to deal in the Software without restriction, including *
.\" without limitation the rights to use, copy, modify, merge, publish, *
.\" distribute, distribute with modifications, sublicense, and/or sell *
.\" copies of the Software, and to permit persons to whom the Software is *
.\" furnished to do so, subject to the following conditions: *
.\" *
.\" The above copyright notice and this permission notice shall be included *
.\" in all copies or substantial portions of the Software. *
.\" *
.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS *
.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF *
.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. *
.\" IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, *
.\" DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR *
.\" OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR *
.\" THE USE OR OTHER DEALINGS IN THE SOFTWARE. *
.\" *
.\" Except as contained in this notice, the name(s) of the above copyright *
.\" holders shall not be used in advertising or otherwise to promote the *
.\" sale, use or other dealings in this Software without prior written *
.\" authorization. *
.\"***************************************************************************
.\"
2021-02-25 17:22:00 +00:00
.\" $Id: curs_scr_dump.3x,v 1.16 2020/10/24 09:44:43 tom Exp $
.TH curs_scr_dump 3X ""
2020-02-07 08:36:41 +00:00
.ie \n(.g .ds `` \(lq
.el .ds `` ``
.ie \n(.g .ds '' \(rq
.el .ds '' ''
.de bP
.ie n .IP \(bu 4
.el .IP \(bu 2
..
.na
.hy 0
.SH NAME
\fBscr_dump\fR,
\fBscr_restore\fR,
\fBscr_init\fR,
2014-02-28 19:18:07 +00:00
\fBscr_set\fR \- read (write) a \fBcurses\fR screen from (to) a file
.ad
.hy
.SH SYNOPSIS
\fB#include <curses.h>\fR
.sp
2021-02-25 17:22:00 +00:00
\fBint scr_dump(const char *\fP\fIfilename\fP\fB);\fR
.br
2021-02-25 17:22:00 +00:00
\fBint scr_restore(const char *\fP\fIfilename\fP\fB);\fR
.br
2021-02-25 17:22:00 +00:00
\fBint scr_init(const char *\fP\fIfilename\fP\fB);\fR
.br
2021-02-25 17:22:00 +00:00
\fBint scr_set(const char *\fP\fIfilename\fP\fB);\fR
.br
.SH DESCRIPTION
2020-02-07 08:36:41 +00:00
The \fBscr_dump\fR routine dumps the current contents
of the \fIvirtual screen\fP
to the file \fIfilename\fR.
.PP
2020-02-07 08:36:41 +00:00
The \fBscr_restore\fR routine sets the \fIvirtual screen\fP to the contents
of \fIfilename\fR, which must have been written using \fBscr_dump\fR.
The next call to \fBdoupdate\fR restores
the \fIphysical screen\fP to the way it looked in the dump file.
.PP
The \fBscr_init\fR routine reads in the contents of \fIfilename\fR and uses
them to initialize the \fBcurses\fR data structures about what the terminal
2020-02-07 08:36:41 +00:00
currently has on its screen.
If the data is determined to be valid,
\fBcurses\fR bases its next update of the screen on this information rather
2020-02-07 08:36:41 +00:00
than clearing the screen and starting from scratch.
\fBscr_init\fR is used
after \fBinitscr\fR or a \fBsystem\fR call to share
the screen with another process which has done a \fBscr_dump\fR after its
2020-02-07 08:36:41 +00:00
\fBendwin\fR(3X) call.
The data is declared invalid
.bP
if the terminfo capabilities \fBrmcup\fR and \fBnrrmc\fR exist, also
.bP
if the terminal has been written to since the preceding \fBscr_dump\fR call.
.PP
The \fBscr_set\fR routine is a combination of \fBscr_restore\fR and
\fBscr_init\fR. It tells the program that the information in \fIfilename\fR is
what is currently on the screen, and also what the program wants on the screen.
This can be thought of as a screen inheritance function.
.PP
To read (write) a window from (to) a file, use the \fBgetwin\fR and
\fBputwin\fR routines [see \fBcurs_util\fR(3X)].
.SH RETURN VALUE
All routines return the integer \fBERR\fR upon failure and \fBOK\fR
upon success.
.PP
X/Open defines no error conditions.
In this implementation,
each will return an error if the file cannot be opened.
.SH NOTES
Note that \fBscr_init\fR, \fBscr_set\fR, and \fBscr_restore\fR may be macros.
.SH PORTABILITY
The XSI Curses standard, Issue 4, describes these functions (adding the const
qualifiers).
.PP
The SVr4 docs merely say under \fBscr_init\fR that the dump data is also
considered invalid "if the time-stamp of the tty is old" but do not define
2020-02-07 08:36:41 +00:00
\*(``old\*(''.
.SH SEE ALSO
2020-02-07 08:36:41 +00:00
\fBcurses\fR(3X),
\fBcurs_initscr\fR(3X),
\fBcurs_refresh\fR(3X),
\fBcurs_util\fR(3X),
\fBscr_dump\fR(5),
\fBsystem\fR(3)