# curs_scr_dump 3x 2024-04-20 ncurses 6.5 Library calls

    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.

## 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)

    ncurses 6.5                       2024-04-20                 curs_scr_dump(3x)