curs_scr_dump(3X) | Library calls | curs_scr_dump(3X) |
scr_dump, scr_restore, scr_init, scr_set - read/write a curses screen from/to a file
#include <ncurses/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);
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 writes to filename the contents of the virtual screen; see curscr(3X).
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 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
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).
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.
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.
scr_init, scr_set, and scr_restore may be macros.
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”.
curses(3X), curs_initscr(3X), curs_refresh(3X), curs_util(3X), system(3), scr_dump(5)
2024-04-20 | ncurses 6.5 |