248 lines
8.6 KiB
Groff
248 lines
8.6 KiB
Groff
.TH CURSES 3
|
|
.SH NAME
|
|
curses \- screen/window management library
|
|
.SH SYNOPSIS
|
|
cc demo.c -lcurses
|
|
.SH DESCRIPTION
|
|
Curses is a library of screen and window management routines. It is modeled
|
|
after the UNIX curses and ncurses libraries. Normally, programs written for
|
|
curses should be easily ported to UNIX, and vice versa.
|
|
.PP
|
|
To use the routines, the function initscr() must first be called.
|
|
This creates two 'windows' for the user: stdscr and curscr. Stdscr is the
|
|
default
|
|
window for the user to make changes on, and curscr reflects the current
|
|
contents of the physical display screen. The user writes or edits the stdscr
|
|
window to his liking, then calls the refresh() function to make curscr
|
|
and the physical screen look like stdscr. When the user program terminates,
|
|
it should call the endwin() function to restore things to normal.
|
|
.PP
|
|
There are all sorts of window manipulation routines available to the
|
|
programmer: auxiliary windows may be created, edited, moved and deleted. The
|
|
terminal may be set in many different modes, output text may be attributed
|
|
with blink, blank, bold and reverse attributes. Screen colors may also be
|
|
set, foreground and background. There are window-specific
|
|
printf- and scanf-like routines, routines for scrolling, box-drawing,
|
|
window overlaying, clearing routines etc.
|
|
.PP
|
|
For more and detailed information, see the library source codes. All curses
|
|
functions are preceded by a complete description.
|
|
.SH FUNCTIONS
|
|
Below is a list over the available functions, together with a brief
|
|
description of what they do. In general, functions whose names start with 'w'
|
|
differ from the one without 'w' (like wmove vs. move) signify that
|
|
a specific window is used. Without a 'w', sdtscr is implied. The functions
|
|
that start with 'mv' before the 'genereic' function name signify that a
|
|
cursor motion should be made before the actual work. 'mv' and 'w' combine
|
|
as expected.
|
|
.PP
|
|
Most routines that return an int will return the manifest constant ERR if
|
|
there is a failure during execution. Routines that return a char actually
|
|
return an int, so that ERR does not conflict with the character code 0xff.
|
|
All characters from 0 to 0xff are allowed for usage with curses.
|
|
.PP
|
|
Some routines, like {mv}{w} printw() and {mv}{w}scanw() return a meaningful
|
|
positive value if the operation is successful.
|
|
.PP
|
|
The curses package uses some predefined types, variables and manifest
|
|
constants that are also available to the programmer. There are also a few
|
|
globally accessible variables that should not be touched by the application
|
|
program. Those untouchable variables have names starting with an
|
|
underscore (_) to avoid conflicts. The user-accessible types, variables
|
|
and constants are (there are a number of other constants defining character
|
|
attribute names and function key names - consult <curses.h> for details):
|
|
.sp
|
|
.nf
|
|
.ta 3i
|
|
(manifest constants)
|
|
.RS
|
|
TRUE boolean true
|
|
FALSE boolean false
|
|
ERR unsuccessfull operation
|
|
OK successfull operation
|
|
.RE
|
|
.sp
|
|
(types)
|
|
.RS
|
|
WINDOW a window structure type
|
|
bool boolean flag type
|
|
.RE
|
|
.sp
|
|
(variables)
|
|
.RS
|
|
WINDOW curscr physical display image
|
|
WINDOW stdscr default user drawing board
|
|
int LINES terminal height
|
|
int COLS terminal width
|
|
int NONL \\n causes CR and LF when TRUE
|
|
.RE
|
|
.sp
|
|
.fi
|
|
The following is an alphabetical list of the curses functions, together
|
|
with their types, parameters and a short comment for each (win is a window,
|
|
ch, vc, hc are characters, buf is a character buffer, attrs is an
|
|
attribute bit map, bf is a boolean flag. Note that `characters' in this
|
|
context usually can have 16 bits):
|
|
.nf
|
|
.sp
|
|
int waddch(win,ch) put char in stdscr
|
|
int addch(ch)
|
|
int mvaddch(y,x,ch)
|
|
int mvwaddch(win,y,x,ch)
|
|
|
|
int waddstr(win,str) put string in stdscr
|
|
int addstr(str)
|
|
int mvaddstr(y,x,str)
|
|
int mvwaddstr(win,y,x,str)
|
|
|
|
void wattroff(win,attrs) clear attribute(s) in window
|
|
void attroff(attrs)
|
|
|
|
void wattron(win,attrs) add attribute(s) in window
|
|
void attron(attrs)
|
|
|
|
void wattrset(win,attrs) set window char attributes
|
|
void attrset(attrs)
|
|
|
|
int baudrate() dummy for compatibility
|
|
|
|
void beep() ring the bell or visible bell if no bell available
|
|
|
|
void flash() flash terminal screen or rings bell if no visible bell available
|
|
|
|
void wbox(win,miny,minx,maxy,maxx,vc,hc) box in a window, with given characters
|
|
void box(win,vc,hc)
|
|
|
|
void cbreak() set terminal cbreak mode
|
|
|
|
void wclear(win) clear stdscr
|
|
void clear()
|
|
|
|
void clearok(win,bf) marks window for screen clear
|
|
|
|
int wclrtobot(win) clear from cursor to end of line and all lines down this line
|
|
int clrtobot()
|
|
int mvclrtoeol(y,x)
|
|
int mvwclrtobot(win,y,x)
|
|
|
|
int wclrtoeol(win) clear from cursor to end of line
|
|
int clrtoeol()
|
|
int mvclrtoeol(y,x)
|
|
int mvwclrtoeol(win,y,x)
|
|
|
|
int wdelch(win) delete a char in a window
|
|
int delch()
|
|
int mvdelch(y,x)
|
|
int mvwdelch(win,y,x)
|
|
|
|
int wdeleteln(win) delete a line in a window
|
|
int deleteln()
|
|
int mvdeleteln(y,x)
|
|
int mvwdeleteln(win,y,x)
|
|
|
|
void delwin(win) delete a window or a subwindow
|
|
void doupdate() update physical screen
|
|
void echo() set terminal echo mode
|
|
int endwin() cleanup and curses finitialization
|
|
|
|
void werase(win) erase a window
|
|
void erase()
|
|
|
|
int erasechar() return char delete character
|
|
int fixterm() dummy for compatibility
|
|
void flushinp() kill pending keyboard input
|
|
|
|
int wgetch(win) get char via a window
|
|
int getch()
|
|
int mvgetch(y,x)
|
|
int mvwgetch(win,y,x)
|
|
|
|
int wgetstr(win,str) get string via window to a buffer
|
|
int getstr(str)
|
|
int mvgetstr(y,x,str)
|
|
int mvwgetstr(win,y,x,str)
|
|
|
|
void getyx(win,y,x) get a window's cursor position
|
|
|
|
int gettmode() dummy for compatibility
|
|
void idlok(win,bf) dummy for compatibility
|
|
WINDOW *initscr() curses initialization (ret stdscr or NULL)
|
|
|
|
int winch(win) get char at window cursor
|
|
int inch()
|
|
int mvinch(y,x)
|
|
int mvwinch(win,y,x)
|
|
|
|
int winsch(win,ch) insert character in a window
|
|
int insch(ch)
|
|
int mvinsch(y,x,ch)
|
|
int mvwinsch(win,y,x,ch)
|
|
|
|
int winsertln(win) insert new line in a window
|
|
int insertln()
|
|
int mvinsertln(y,x)
|
|
int mvwinsertln(win,y,x)
|
|
|
|
void keypad(win,bf) marks a window for keypad usage
|
|
int killchar() return line delete character
|
|
char *longname() returns terminal description string
|
|
void leaveok(win,bf) marks window for cursor 'update leave'
|
|
void meta(win,bf) marks window for meta
|
|
int move(y,x) move cursor in stdscr
|
|
int mvcur(oldy,oldx,y,x) move terminal cursor to <y,x>
|
|
|
|
int mvprintw(y,x,fmt,args) move & print string in stdscr
|
|
|
|
int mvscanw(y,x,fmt,args) move & get values via stdscr
|
|
int mvwin(win,y,x) move window on physical screen
|
|
int mvwprintw(win,x,y,fmt,args) move & print string in a window
|
|
int mvwscanw(win,y,x,fmt,args) move & get values via a window
|
|
WINDOW *newwin(lines,cols,begy,begx) create a new window
|
|
void nl() set terminal cr-crlf mapping mode
|
|
void nocbreak() unset terminal cbreak mod
|
|
void nodelay(win,bf) marks window for no input wait
|
|
void noecho() unset terminal echo mode
|
|
void nonl() unset terminal cr-crlf mapping mode
|
|
void noraw() unset raw terminal mode
|
|
void overlay(win1,win2) overlay one window on another
|
|
void overwrite(win1,win2) overwrite one window on another
|
|
int printw(fmt,args) print string in stdscr
|
|
void raw() set raw terminal mode
|
|
void refrbrk(bf) set screen update break mode
|
|
void refresh() refresh stdscr
|
|
int resetterm() dummy for compatibility
|
|
int resetty() restore terminal I/O modes
|
|
int saveoldterm() dummy for compatibility
|
|
int saveterm() dummy for compatibility
|
|
int savetty() save terminal I/O modes
|
|
int scanw(fmt,args) get values via stdscr
|
|
void scroll(win) scroll scrolling region of a window
|
|
void scrollok(win,bf) marks a window to allow scroll
|
|
void setcolors(A_COLOR(for,back)) sets the forground and background
|
|
colors of stdscr
|
|
void set_curs(visibility) 0 for invisible, 1 for visible, 2 for good
|
|
visible
|
|
int setsrcreg(miny,maxy) define stdscr's scroll region
|
|
int setterm() dummy for compatibility
|
|
int setupterm(term,fd,errret) set up terminal
|
|
void standend() start normal chars in stdscr
|
|
void standout() start standout chars in stdscr
|
|
WINDOW *subwin(win,lines,cols,begy,begx)
|
|
create a sub-window in window win
|
|
int tabsize(ts) set/get tabsize of stdscr
|
|
void touchwin(win) mark a window as totally modified
|
|
char *unctrl(ch) char-to-string converter
|
|
int wmove(win,y,x) move cursor in a window
|
|
void wnoutrefresh(win) create internal screen image
|
|
int wprintw(win,fmt,args) print string in a window
|
|
void wrefresh(win) refresh window
|
|
int wscanw(win,fmt,args) get values via a window
|
|
void wsetcolors(win,A_COLOR(for,back)) sets the forground and
|
|
background colors of the specified window
|
|
int wsetsrcreg(win,miny,maxy) define a window's scrolling region
|
|
void wstandend(win) start normal chars in window
|
|
void wstandout(win) start standout chars in window
|
|
int wtabsize(win,ts) set/get tabsize of a window
|
|
.SH BUGS
|
|
Function keys are not available under the MINIX version.
|
|
.\" $PchId: curses.3,v 1.3 1996/02/22 21:26:28 philip Exp $
|