CURSES_REFRESH(3)

CURSES_REFRESH(3) | Library Functions Manual | CURSES_REFRESH(3)

# NAME

`curses_refresh`, `refresh`, `wrefresh`, `wnoutrefresh`, `doupdate`, `immedok`, `flushok`, `leaveok`, `is_leaveok` —
curses terminal update routines

# LIBRARY

Curses Library (libcurses, -lcurses)

# SYNOPSIS

`#include <curses.h>`

int
`refresh`(void);

int
`wrefresh`(WINDOW *win);

int
`wnoutrefresh`(WINDOW *win);

int
`doupdate`(void);

int
`immedok`(WINDOW *win, boolf flag);

int
`flushok`(WINDOW *win, boolf flag);

int
`leaveok`(WINDOW *win, boolf flag);

bool
`is_leaveok`(const WINDOW *win);

# 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 `immedok`() function determines whether the screen is refreshed whenever the window is changed. The initial state is `FALSE`.

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.

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 `is_leaveok`() function returns the setting.

# 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. The `is_leaveok`() function is a ncurses extension to the Curses library and was added in NetBSD 8.0.

January 2, 2017 | NetBSD 9.0