FreeBSD manual
download PDF document: curs_scr_dump.3.pdf
curs_scr_dump(3X) Library calls curs_scr_dump(3X)
NAME
scr_dump, scr_restore, scr_init, scr_set - read/write a curses screen
from/to a file
SYNOPSIS
#include <curses.h>
int scr_dump(const char *filename);
int scr_restore(const char *filename);
int scr_init(const char *filename);
int scr_set(const char *filename);
DESCRIPTION
curses provides applications the ability to write the contents of the
screen to a file and read them back. To read/write a window (rather
than the whole screen) from/to a file, use getwin(3X) and putwin(3X),
respectively.
scr_dump
scr_dump writes to filename the contents of the virtual screen; see
curscr(3X).
scr_restore
scr_restore updates the virtual screen to contain the contents of
filename (if it was validly written with scr_dump). No refresh is
performed; after performing any further desired updates, call
doupdate(3X) or similar.
scr_init
scr_init reads filename, using it to initialize curses data structures
describing the state of the terminal screen. If these data are valid,
curses bases its next update of the screen on this information rather
than clearing it and starting from scratch.
The data fail the validity check
o if the terminal employs terminfo capabilities exit_ca_mode (rmcup)
or non_rev_rmcup (nrrmc) are defined, or
o if curses knows that the terminal has been written to since the
preceding scr_dump call.
scr_init could be used after initscr(3X) or system(3) to share the
screen with another process that has done a scr_dump after endwin(3X).
scr_set
The scr_set routine is a combination of scr_restore and scr_init. It
tells the program that the information in filename 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.
RETURN VALUE
These functions return OK on success and ERR on failure.
X/Open defines no failure conditions. In this implementation, each
function fails if it cannot open filename.
SVr4 documentation describes scr_init such that the dump data is also
considered invalid "if the time-stamp of the tty is old" but does not
define "old".
SEE ALSO
curses(3X), curs_initscr(3X), curs_refresh(3X), curs_util(3X),
system(3), scr_dump(5)
ncurses 6.5 2024-04-20 curs_scr_dump(3X)