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 if the terminal employs terminfo capabilities exit_ca_mode (rmcup) or non_rev_rmcup (nrrmc) are defined, or 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.

NOTES
scr_init, scr_set, and scr_restore may be macros.

PORTABILITY
X/Open Curses, Issue 4 describes these functions.

SVr4 omitted the const qualifiers.

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)