xref: /original-bsd/lib/libcurses/curses.3 (revision f72a343a)
Copyright (c) 1980 Regents of the University of California.
All rights reserved. The Berkeley software License Agreement
specifies the terms and conditions for redistribution.

@(#)curses.3 6.2 (Berkeley) 04/15/86

CURSES 3X ""
C 4
NAME
curses - screen functions with ``optimal'' cursor motion
SYNOPSIS
# include <curses.h> cc ... -lcurses -ltermcap
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 always called before exiting.
SEE ALSO
"Screen Updating and Cursor Movement Optimization: A Library Package," Ken Arnold,

ioctl(2), getenv(3), tty(4), termcap(5)

AUTHOR
Ken Arnold
FUNCTIONS
addch(ch) add a character to \*s
addstr(str) add a string to \*s
box(win,vert,hor) draw a box around a window
baudrate() return current baud rate
cbreak() set cbreak mode
clear() clear \*s
clearok(scr,boolf) set clear flag for scr
clrtobot() clear to bottom on \*s
clrtoeol() clear to end of line on \*s
delch() delete a character
deleteln() delete a line
delwin(win) delete \*w
echo() set echo mode
endwin() end window modes
erase() erase \*s
erasechar() return user's erase char
flusok(win,boolf) set flush-on-refresh flag for \*w
fullname(termbuf,name) get full name from termbuf
getch() get a char through \*s
getcap(name) get terminal capability name
getstr(str) get a string through \*s
gettmode() get tty modes
getyx(win,y,x) get \*(yx co-ordinates
idlok(win,boolf) set use-insert/delete-line for \*w
inch() get char at current \*(yx co-ordinates
initscr() initialize screens
insch(c) insert a char
insertln() insert a line
killchar() return user's kill char
leaveok(win,boolf) set leave flag for \*w
longname(termbuf,name) get long name from termbuf
move(y,x) move to \*(yx on \*s
mvcur(lasty,lastx,newy,newx) actually move cursor
mvwin(win,y,x) move \*w pos to \*(yx
newwin(lines,cols,begin_y,begin_x)  create a new window
nl() set newline mapping
nocbreak() unset cbreak mode
noecho() unset echo mode
nonl() unset newline mapping
noraw() unset raw mode
overlay(win1,win2) overlay win1 on win2
overwrite(win1,win2) overwrite win1 on top of win2
printw(fmt,arg1,arg2,...) printf on \*s
raw() set raw mode
refresh() make current screen look like \*s
resetty() reset tty flags to stored value
savetty() stored current tty flags
scanw(fmt,arg1,arg2,...) scanf through \*s
scroll(win) scroll \*w one line
scrollok(win,boolf) set scroll flag
setterm(name) set term variables for name
standend() end standout mode
standout() start standout mode
subwin(win,lines,cols,begin_y,begin_x)  create a subwindow
touchline(win,y,sx,ex) mark line y sx through sy as changed
touchoverlap(win1,win2) mark overlap of win1 on win2 as changed
touchwin(win) \*(lqchange\*(rq all of \*w
unctrl(ch) printable version of ch
waddch(win,ch) add char to \*w
waddstr(win,str) add string to \*w
wclear(win) clear \*w
wclrtobot(win) clear to bottom of \*w
wclrtoeol(win) clear to end of line on \*w
wdelch(win,c) delete char from \*w
wdeleteln(win) delete line from \*w
werase(win) erase \*w
wgetch(win) get a char through \*w
wgetstr(win,str) get a string through \*w
winch(win) get char at current \*(yx in \*w
winsch(win,c) insert char into \*w
winsertln(win) insert line into \*w
wmove(win,y,x) set current \*(yx co-ordinates on \*w
wprintw(win,fmt,arg1,arg2,...)  printf on \*w
wrefresh(win) make screen look like \*w
wscanw(win,fmt,arg1,arg2,...)  scanf through \*w
wstandend(win) end standout mode on \*w
wstandout(win) start standout mode on \*w
BUGS

getch() , getstr() , and scanw() have been rarely used, and are probably buggy.

Insert/delete line and char sequences are not used as often as they should be, and scrolling regions are not used at all.