CURSES(3)

NAME
curses - screen functions with “optimal” cursor motion

LIBRARY
libcurses

SYNOPSIS
cc [flags] files -lcurses [libraries]

DESCRIPTION
These routines give the user a method of updating screens with reasonable optimization. They keep an image of the current screen, and the user sets up an image of a new one. Then the refresh() tells the routines to make the current screen look like the new one. In order to initialize the routines, the routine initscr() must be called before any of the other routines that deal with windows and screens are used. The routine endwin() should be called before exiting. The routine start_color() must be called before any of the other routines that deal with color are used.

FUNCTIONS
Function Name | Manual Page Name
addch | curses_addch(3)
addchnstr | curses_addchstr(3)
addchstr | curses_addchstr(3)
addnstr | curses_addstr(3)
addstr | curses_addstr(3)
assume_default_colors | curses_default_colors(3)
attr_get | curses_attributes(3)
attr_off | curses_attributes(3)
attr_on | curses_attributes(3)
attr_set | curses_attributes(3)
attroff | curses_attributes(3)
attron | curses_attributes(3)
attrset | curses_attributes(3)
baudrate | curses_tty(3)
beep | curses_tty(3)
bkgd | curses_background(3)
bkgdset | curses_background(3)
border | curses_border(3)
box | curses_border(3)
can_change_color | curses_color(3)
cbreak | curses_tty(3)
chgat | curses_chgat(3)
clear | curses_clear(3)
clearok | curses_clear(3)
clrtobot | curses_clear(3)
clrtoeol | curses_clear(3)
color_content | curses_color(3)
color_set | curses_attributes(3)
copywin | curses_window(3)
curs_set | curses_tty(3)
curses_version | curses_version(3)
def_prog_mode | curses_tty(3)
def_shell_mode | curses_tty(3)
define_key | curses_input(3)
delay_output | curses_tty(3)
delch | curses_delch(3)
deleteln | curses_deleteln(3)
delscreen | curses_screen(3)
delwin | curses_window(3)
derwin | curses_window(3)
doupdate | curses_refresh(3)
dupwin | curses_window(3)
echo | curses_tty(3)
endwin | curses_screen(3)
erase | curses_clear(3)
erasechar | curses_tty(3)
filter | curses_screen(3)
flash | curses_tty(3)
flushinp | curses_tty(3)
flushok | curses_refresh(3)
fullname | curses_termcap(3)
getattrs | curses_attributes(3)
getbegx | curses_cursor(3)
getbegy | curses_cursor(3)
getbkgd | curses_background(3)
getch | curses_input(3)
getcurx | curses_cursor(3)
getcury | curses_cursor(3)
getmaxx | curses_cursor(3)
getmaxy | curses_cursor(3)
getnstr | curses_input(3)
getparx | curses_cursor(3)
getpary | curses_cursor(3)
getparyx | curses_cursor(3)
getstr | curses_input(3)
gettmode | curses_tty(3)
getwin | curses_fileio(3)
getyx | curses_cursor(3)
has_colors | curses_color(3)
has_ic | curses_tty(3)
has_il | curses_tty(3)
has_key | curses_input(3)
hline | curses_line(3)
idcok | curses_tty(3)
idlok | curses_tty(3)
immedok | curses_refresh(3)
inch | curses_inch(3)
inchnstr | curses_inch(3)
inchstr | curses_inch(3)
init_color | curses_color(3)
init_pair | curses_color(3)
initscr | curses_screen(3)
innstr | curses_inch(3)
insch | curses_insch(3)
insdelln | curses_insdelln(3)
insertln | curses_insertln(3)
instr | curses_inch(3)
intrflush | curses_tty(3)
is_keypad | curses_input(3)
is_leaveok | curses_refresh(3)
is_linetouched | curses_touch(3)
is_pad | curses_pad(3)
is_term_resized | curses_screen(3)
is_wintouched | curses_touch(3)
isendwin | curses_screen(3)
keyname | curses_keyname(3)
keyok | curses_input(3)
keypad | curses_input(3)
killchar | curses_tty(3)
leaveok | curses_tty(3)
meta | curses_tty(3)
move | curses_cursor(3)
mvaddch | curses_addch(3)
mvaddchnstr | curses_addchstr(3)
mvaddchstr | curses_addchstr(3)
mvaddnstr | curses_addstr(3)
mvaddstr | curses_addstr(3)
mvchgat | curses_chgat(3)
mvcur | curses_cursor(3)
mvderwin | curses_window(3)
mvgetnstr | curses_input(3)
mvgetstr | curses_input(3)
mvhline | curses_line(3)
mvinchstr | curses_inch(3)
mvinchnstr | curses_inch(3)
mvinsch | curses_insch(3)
mvprintw | curses_print(3)
mvscanw | curses_scanw(3)
mvvline | curses_line(3)
mvwaddch | curses_addch(3)
mvwaddchnstr | curses_addchstr(3)
mvwaddchstr | curses_addchstr(3)
mvwaddnstr | curses_addstr(3)
mvwaddstr | curses_addstr(3)
mvwchgat | curses_chgat(3)
mvwgetnstr | curses_input(3)
mvwgetstr | curses_input(3)
mvwhline | curses_line(3)
mvwinchstr | curses_inch(3)
mvwinchnstr | curses_inch(3)
mvwinsch | curses_insch(3)
mvwprintw | curses_print(3)
mvwscanw | curses_scanw(3)
mvwvline | curses_line(3)
napms | curses_tty(3)
newpad | curses_pad(3)
newterm | curses_screen(3)
newwin | curses_window(3)
nl | curses_tty(3)
nocbreak | curses_tty(3)
nodelay | curses_input(3)
noecho | curses_tty(3)
nonl | curses_tty(3)
noqiflush | curses_tty(3)
noraw | curses_tty(3)
notimeout | curses_input(3)
overlay | curses_window(3)
overwrite | curses_window(3)
pair_content | curses_color(3)
pnoutrefresh | curses_pad(3)
prefresh | curses_pad(3)
printw | curses_print(3)
putwin | curses_fileio(3)
qiflush | curses_tty(3)
raw | curses_tty(3)
redrawwin | curses_touch(3)
refresh | curses_refresh(3)
reset_prog_mode | curses_tty(3)
reset_shell_mode | curses_tty(3)
resetty | curses_tty(3)
resize_term | curses_screen(3)
resizeterm | curses_screen(3)
ripoffline | curses_screen(3)
savetty | curses_tty(3)
scanw | curses_scanw(3)
scrl | curses_scroll(3)
scroll | curses_scroll(3)
scrollok | curses_scroll(3)
set_escdelay | curses_input(3)
set_tabsize | curses_screen(3)
set_term | curses_screen(3)
setscrreg | curses_scroll(3)
setterm | curses_screen(3)
slk_attroff | curses_slk(3)
slk_attr_off | curses_slk(3)
slk_attron | curses_slk(3)
slk_attr_on | curses_slk(3)
slk_attrset | curses_slk(3)
slk_attr_set | curses_slk(3)
slk_clear | curses_slk(3)
slk_color | curses_slk(3)
slk_init | curses_slk(3)
slk_label | curses_slk(3)
slk_noutrefresh | curses_slk(3)
slk_refresh | curses_slk(3)
slk_restore | curses_slk(3)
slk_set | curses_slk(3)
slk_touch | curses_slk(3)
slk_wset | curses_slk(3)
standend | curses_standout(3)
standout | curses_standout(3)
start_color | curses_color(3)
syncok | curses_touch(3)
subpad | curses_pad(3)
subwin | curses_window(3)
termattrs | curses_attributes(3)
timeout | curses_input(3)
touchline | curses_touch(3)
touchoverlap | curses_touch(3)
touchwin | curses_touch(3)
typeahead | curses_tty(3)
unctrl | curses_print(3)
underend | curses_underscore(3)
underscore | curses_underscore(3)
ungetch | curses_input(3)
untouchwin | curses_touch(3)
use_default_colors | curses_default_colors(3)
use_env | curses_screen(3)
vline | curses_line(3)
waddch | curses_addch(3)
waddchnstr | curses_addchstr(3)
waddchstr | curses_addchstr(3)
waddnstr | curses_addstr(3)
waddstr | curses_addstr(3)
wattr_get | curses_attributes(3)
wattr_off | curses_attributes(3)
wattr_on | curses_attributes(3)
wattr_set | curses_attributes(3)
wattroff | curses_attributes(3)
wattron | curses_attributes(3)
wattrset | curses_attributes(3)
wbkgd | curses_background(3)
wbkgdset | curses_background(3)
wborder | curses_border(3)
wchgat | curses_chgat(3)
wclear | curses_clear(3)
wclrtobot | curses_clear(3)
wclrtoeol | curses_clear(3)
wcolor_set | curses_attributes(3)
wcursyncup | curses_cursor(3)
wdelch | curses_delch(3)
wdeleteln | curses_deleteln(3)
werase | curses_clear(3)
wgetch | curses_input(3)
wgetnstr | curses_input(3)
wgetstr | curses_input(3)
whline | curses_line(3)
winch | curses_inch(3)
winchnstr | curses_inch(3)
winchstr | curses_inch(3)
winnstr | curses_inch(3)
winsch | curses_insch(3)
winsdelln | curses_insdelln(3)
winsertln | curses_insertln(3)
winstr | curses_inch(3)
wmove | curses_cursor(3)
wnoutrefresh | curses_refresh(3)
wprintw | curses_print(3)
wredrawln | curses_touch(3)
wrefresh | curses_refresh(3)
wresize | curses_window(3)
wscanw | curses_scanw(3)
wscrl | curses_scroll(3)
wsetscrreg | curses_scroll(3)
wstandend | curses_standout(3)
wstandout | curses_standout(3)
wsyncup | curses_touch(3)
wsyncdown | curses_touch(3)
wtimeout | curses_input(3)
wtouchln | curses_touch(3)
wunderend | curses_underscore(3)
wunderscore | curses_underscore(3)
wvline | curses_line(3)

ENVIRONMENT

COLUMNS
    The number of columns in the terminal if set. This is usually automatically configured by querying the kernel.

CURSES_TRACE_MASK
    An integer mask that enables specific debugging traces. Enabled only in the debug build of curses.

CURSES_TRACE_FILE
    A file where to output debugging information. Enabled only in the debug build of curses.

ESCDELAY
    The maximum delay in milliseconds between characters in multi-character keystrokes (such are arrow keys) where the adjacent characters are considered part of the same multi-character sequence. The default is 300 milliseconds.

LINES
    The number of lines in the terminal if set. is usually automatically configured by querying the kernel.

TABSIZE
    The number of spaces making up a tab. The default is 8 if not specified by the terminal description.

TERM
    The terminal type of the current terminal.

SEE ALSO
ioctl(2), getenv(3), tty(4), terminfo(5) Screen Updating and Cursor Movement Optimization: A Library Package, Ken Arnold.

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.

AUTHORS
Ken Arnold Julian Coleman Brett Lymn Roy Marples