March 26, 2003 CURSES_REFRESH 3

### NAME

curses_refresh, refresh, wrefresh, wnoutrefresh, doupdate, leaveok, flushok - curses terminal update routines

### LIBRARY

Curses Library (libcurses, -lcurses)

### SYNOPSIS

```int` refresh(```void`)
```int` wrefresh(```WINDOW *win`)
```int` wnoutrefresh(```WINDOW *win`)
```int` doupdate(```void`)
```int` leaveok(```WINDOW *win``, boolf flag`)
```int` flushok(```WINDOW *win``, boolf flag`)

### DESCRIPTION

These functions update the terminal with the contents of ```stdscr` or of the specified window(s).

The refresh(``) function causes curses to propagate changes made to ```stdscr` to the terminal display. Any changes made to subwindows of ```stdscr` are also propagated.

The wrefresh(``) function is the same as the refresh(``) function, excepting that changes are propagated to the terminal from the window specified by ```win`.

The wnoutrefresh(``) function performs the internal processing required by curses to determine what changes need to be made to synchronise the internal screen buffer and the terminal but does not modify the terminal display.

The doupdate(``) function updates the terminal display to match the internal curses representation of the display.

The wnoutrefresh(``) and doupdate(``) functions can be used together to speed up terminal redraws by deferring the actual terminal updates until after a batch of updates to multiple windows has been done.

The refresh(``) function is equivalent to wnoutrefresh(```stdscr`) followed by doupdate(``).

The leaveok(``) function determines whether refresh operations may leave the screen cursor in an arbitrary position on the screen. Setting ```flag` to ```FALSE` ensures that the screen cursor is positioned at the current cursor position after a refresh operation has taken place.

The flushok(``) function is used to determine whether or not the screen's output file descriptor will be flushed on refresh. Setting ```flag` to ```TRUE` will cause the output to be flushed.

### RETURN VALUES

Functions returning pointers will return ```NULL` if an error is detected. The functions that return an int will return one of the following values:

```OK`
  The function completed successfully.
```ERR`
  An error occurred in the function.

### SEE ALSO

curses_pad(3), curses_touch(3), getch(3)

### NOTES

Calling wrefresh(``) on a new, unchanged window has no effect.

### STANDARDS

The NetBSD Curses library complies with the X/Open Curses specification, part of the Single Unix Specification.

### HISTORY

The Curses package appeared in 4.0BSD.