249 lines
		
	
	
		
			8.6 KiB
		
	
	
	
		
			Groff
		
	
	
	
	
	
			
		
		
	
	
			249 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 $
 |