. abandons mixer, gomoku, talk, talkd, top from base system . compile top with clang so no ack-compiled program needs -lcurses any more
		
			
				
	
	
		
			342 lines
		
	
	
		
			7.9 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			342 lines
		
	
	
		
			7.9 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
.\"	$NetBSD: doc.III,v 1.5 2003/08/07 16:44:27 agc Exp $
 | 
						|
.\"
 | 
						|
.\" Copyright (c) 1980, 1993
 | 
						|
.\"	The Regents of the University of California.  All rights reserved.
 | 
						|
.\"
 | 
						|
.\" Redistribution and use in source and binary forms, with or without
 | 
						|
.\" modification, are permitted provided that the following conditions
 | 
						|
.\" are met:
 | 
						|
.\" 1. Redistributions of source code must retain the above copyright
 | 
						|
.\"    notice, this list of conditions and the following disclaimer.
 | 
						|
.\" 2. Redistributions in binary form must reproduce the above copyright
 | 
						|
.\"    notice, this list of conditions and the following disclaimer in the
 | 
						|
.\"    documentation and/or other materials provided with the distribution.
 | 
						|
.\" 3. Neither the name of the University nor the names of its contributors
 | 
						|
.\"    may be used to endorse or promote products derived from this software
 | 
						|
.\"    without specific prior written permission.
 | 
						|
.\"
 | 
						|
.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
 | 
						|
.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
 | 
						|
.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
 | 
						|
.\" ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
 | 
						|
.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
 | 
						|
.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
 | 
						|
.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
 | 
						|
.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
 | 
						|
.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
 | 
						|
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 | 
						|
.\" SUCH DAMAGE.
 | 
						|
.\"
 | 
						|
.\"	@(#)doc.III	8.1 (Berkeley) 6/4/93
 | 
						|
.\"
 | 
						|
.Ds
 | 
						|
.Fd baudrate "" \*m
 | 
						|
.De
 | 
						|
Returns the output baud rate of the terminal.
 | 
						|
This is a system dependent constant
 | 
						|
(defined in
 | 
						|
.b <sys/tty.h>
 | 
						|
on BSD systems,
 | 
						|
which is included by
 | 
						|
.b <curses.h> ).
 | 
						|
.Ds
 | 
						|
.Fd delwin win
 | 
						|
WINDOW	*win;
 | 
						|
.De
 | 
						|
Deletes the window from existence.
 | 
						|
All resources are freed for future use by
 | 
						|
.b calloc (3).
 | 
						|
If a window has a
 | 
						|
.Fn subwin
 | 
						|
allocated window inside of it,
 | 
						|
deleting the outer window
 | 
						|
the subwindow is not affected,
 | 
						|
even though this does invalidate it.
 | 
						|
Therefore,
 | 
						|
subwindows should be deleted before their
 | 
						|
outer windows are.
 | 
						|
.Ds
 | 
						|
.Fd endwin
 | 
						|
.De
 | 
						|
Finish up window routines before exit.
 | 
						|
This restores the terminal to the state it was before
 | 
						|
.Fn initscr
 | 
						|
(or
 | 
						|
.Fn gettmode
 | 
						|
and
 | 
						|
.Fn setterm )
 | 
						|
was called.
 | 
						|
It should always be called before exiting.
 | 
						|
It does not exit.
 | 
						|
This is especially useful for resetting tty stats
 | 
						|
when trapping rubouts via
 | 
						|
.b signal (2).
 | 
						|
.Ds
 | 
						|
.Fd erasechar "" \*m
 | 
						|
.De
 | 
						|
Returns the erase character
 | 
						|
for the terminal,
 | 
						|
.i i.e. ,
 | 
						|
the character used by the user to erase a single character from the input.
 | 
						|
.Ds
 | 
						|
.Fd getcap str "" "char *"
 | 
						|
char	*str;
 | 
						|
.De
 | 
						|
Return a pointer to the
 | 
						|
.b termcap
 | 
						|
capability described by
 | 
						|
.Vn str
 | 
						|
(see
 | 
						|
.b termcap (5)
 | 
						|
for details).
 | 
						|
.Ds
 | 
						|
.Fd getyx win\*,y\*,x \*m
 | 
						|
WINDOW	*win;
 | 
						|
int	y\*,x;
 | 
						|
.De
 | 
						|
Puts the current \*y of
 | 
						|
.Vn win
 | 
						|
in the variables
 | 
						|
.Vn y
 | 
						|
and
 | 
						|
.Vn x .
 | 
						|
Since it is a macro,
 | 
						|
not a function,
 | 
						|
you do not pass the address
 | 
						|
of
 | 
						|
.Vn y
 | 
						|
and
 | 
						|
.Vn x .
 | 
						|
.Ds
 | 
						|
.Fd inch "" \*m
 | 
						|
.Fd winch win \*m
 | 
						|
WINDOW	*win;
 | 
						|
.De
 | 
						|
Returns the character at the current \*(y
 | 
						|
on the given window.
 | 
						|
This does not make any changes to the window.
 | 
						|
.Ds
 | 
						|
.Fd initscr
 | 
						|
.De
 | 
						|
Initialize the screen routines.
 | 
						|
This must be called before any of the screen routines are used.
 | 
						|
It initializes the terminal-type data and such,
 | 
						|
and without it none of the routines can operate.
 | 
						|
If standard input is not a tty,
 | 
						|
it sets the specifications to the terminal
 | 
						|
whose name is pointed to by
 | 
						|
.Vn Def\*_term
 | 
						|
(initialy "dumb").
 | 
						|
If the boolean
 | 
						|
.Vn My\*_term
 | 
						|
is true,
 | 
						|
.Vn Def\*_term
 | 
						|
is always used.
 | 
						|
If the system supports the
 | 
						|
.b TIOCGWINSZ
 | 
						|
.Fn ioctl "" "" 2
 | 
						|
call,
 | 
						|
it is used to get the number of lines and columns for the terminal,
 | 
						|
otherwise it is taken from the
 | 
						|
.b termcap
 | 
						|
description.
 | 
						|
.Ds
 | 
						|
.Fd killchar "" \*m
 | 
						|
.De
 | 
						|
Returns the line kill character
 | 
						|
for the terminal,
 | 
						|
.i i.e. ,
 | 
						|
the character used by the user to erase an entire line from the input.
 | 
						|
.Ds
 | 
						|
.Fd leaveok win\*,boolf \*m
 | 
						|
WINDOW	*win;
 | 
						|
bool	boolf;
 | 
						|
.De
 | 
						|
Sets the boolean flag for leaving the cursor after the last change.
 | 
						|
If
 | 
						|
.Vn boolf
 | 
						|
is TRUE,
 | 
						|
the cursor will be left after the last update on the terminal,
 | 
						|
and the current \*y for
 | 
						|
.Vn win
 | 
						|
will be changed accordingly.
 | 
						|
If it is FALSE,
 | 
						|
it will be moved to the current \*y.
 | 
						|
This flag
 | 
						|
(initialy FALSE)
 | 
						|
retains its value until changed by the user.
 | 
						|
.Ds
 | 
						|
.Fd longname termbuf\*,name
 | 
						|
char	*termbuf\*,*name;
 | 
						|
.Fd fullname termbuf\*,name
 | 
						|
char	*termbuf\*,*name;
 | 
						|
.De
 | 
						|
.Fn longname
 | 
						|
fills in
 | 
						|
.Vn name
 | 
						|
with the long name of the terminal described by the
 | 
						|
.b termcap
 | 
						|
entry in
 | 
						|
.Vn termbuf .
 | 
						|
It is generally of little use,
 | 
						|
but is nice for telling the user in a readable format what terminal
 | 
						|
we think he has.
 | 
						|
This is available in the global variable
 | 
						|
.Vn ttytype .
 | 
						|
.Vn termbuf
 | 
						|
is usually set via the termlib routine
 | 
						|
.Fn tgetent .
 | 
						|
.Fn fullname
 | 
						|
is the same as
 | 
						|
.Fn longname ,
 | 
						|
except that it gives the fullest name given in the entry,
 | 
						|
which can be quite verbose.
 | 
						|
.Ds
 | 
						|
.Fd mvwin win\*,y\*,x
 | 
						|
WINDOW	*win;
 | 
						|
int	y, x;
 | 
						|
.De
 | 
						|
Move the home position of the window
 | 
						|
.Vn win
 | 
						|
from its current starting coordinates
 | 
						|
to
 | 
						|
.Vn y\*,x ). (
 | 
						|
If that would put part or all of the window
 | 
						|
off the edge of the terminal screen,
 | 
						|
.Fn mvwin
 | 
						|
returns ERR and does not change anything.
 | 
						|
For subwindows,
 | 
						|
.Fn mvwin
 | 
						|
also returns ERR if you attempt to move it off its main window.
 | 
						|
If you move a main window,
 | 
						|
all subwindows are moved along with it.
 | 
						|
.Ds
 | 
						|
.Fd newwin lines\*,cols\*,begin\*_y\*,begin\*_x "" "WINDOW *"
 | 
						|
int	lines\*,cols\*,begin\*_y\*,begin\*_x;
 | 
						|
.De
 | 
						|
Create a new window with
 | 
						|
.Vn lines
 | 
						|
lines and
 | 
						|
.Vn cols
 | 
						|
columns starting at position
 | 
						|
.Vn begin\*_y\*,begin\*_x ). (
 | 
						|
If either
 | 
						|
.Vn lines
 | 
						|
or
 | 
						|
.Vn cols
 | 
						|
is 0 (zero),
 | 
						|
that dimension will be set to
 | 
						|
.Vn "LINES \- begin\*_y" ) (
 | 
						|
or
 | 
						|
.Vn "COLS \- begin\*_x" ) (
 | 
						|
respectively.
 | 
						|
Thus, to get a new window of dimensions
 | 
						|
.Vn LINES
 | 
						|
\(mu
 | 
						|
.Vn COLS ,
 | 
						|
use
 | 
						|
.Fn newwin . "" 0\*,0\*,0\*,0
 | 
						|
.Ds
 | 
						|
.Fd nl "" \*m
 | 
						|
.Fd nonl "" \*m
 | 
						|
.De
 | 
						|
Set or unset the terminal to/from nl mode,
 | 
						|
.i i.e. ,
 | 
						|
start/stop the system from mapping
 | 
						|
.b <RETURN>
 | 
						|
to
 | 
						|
.b <LINE-FEED> .
 | 
						|
If the mapping is not done,
 | 
						|
.Fn refresh
 | 
						|
can do more optimization,
 | 
						|
so it is recommended, but not required, to turn it off.
 | 
						|
.Ds
 | 
						|
.Fd scrollok win\*,boolf \*m
 | 
						|
WINDOW	*win;
 | 
						|
bool	boolf;
 | 
						|
.De
 | 
						|
Set the scroll flag for the given window.
 | 
						|
If
 | 
						|
.Vn boolf
 | 
						|
is FALSE, scrolling is not allowed.
 | 
						|
This is its default setting.
 | 
						|
.Ds
 | 
						|
.Fd touchline win\*,y\*,startx\*,endx
 | 
						|
WINDOW	*win;
 | 
						|
int	y\*,startx\*,endx;
 | 
						|
.De
 | 
						|
This function performs a function similar to
 | 
						|
.Fn touchwin
 | 
						|
on a single line.
 | 
						|
It marks the first change for the given line
 | 
						|
to be
 | 
						|
.Vn startx ,
 | 
						|
if it is before the current first change mark,
 | 
						|
and
 | 
						|
the last change mark is set to be
 | 
						|
.Vn endx
 | 
						|
if it is currently less than
 | 
						|
.Vn endx .
 | 
						|
.Ds
 | 
						|
.Fd touchoverlap win1\*,win2
 | 
						|
WINDOW	*win1, *win2;
 | 
						|
.De
 | 
						|
Touch the window
 | 
						|
.Vn win2
 | 
						|
in the area which overlaps with
 | 
						|
.Vn win1 .
 | 
						|
If they do not overlap,
 | 
						|
no changes are made.
 | 
						|
.Ds
 | 
						|
.Fd touchwin win
 | 
						|
WINDOW	*win;
 | 
						|
.De
 | 
						|
Make it appear that the every location on the window
 | 
						|
has been changed.
 | 
						|
This is usually only needed for refreshes with overlapping windows.
 | 
						|
.Ds
 | 
						|
.Fd subwin win\*,lines\*,cols\*,begin\*_y\*,begin\*_x "" "WINDOW *"
 | 
						|
WINDOW	*win;
 | 
						|
int	lines\*,cols\*,begin\*_y\*,begin\*_x;
 | 
						|
.De
 | 
						|
Create a new window with
 | 
						|
.Vn lines
 | 
						|
lines and
 | 
						|
.Vn cols
 | 
						|
columns starting at position
 | 
						|
.Vn begin\*_y\*,begin\*_x ) (
 | 
						|
inside the window
 | 
						|
.i win .
 | 
						|
This means that any change made to either window
 | 
						|
in the area covered
 | 
						|
by the subwindow will be made on both windows.
 | 
						|
.Vn begin\*_y\*,begin\*_x
 | 
						|
are specified relative to the overall screen,
 | 
						|
not the relative (0\*,0) of
 | 
						|
.Vn win .
 | 
						|
If either
 | 
						|
.Vn lines
 | 
						|
or
 | 
						|
.Vn cols
 | 
						|
is 0 (zero),
 | 
						|
that dimension will be set to
 | 
						|
.Vn "LINES \- begin\*_y" ) (
 | 
						|
or
 | 
						|
.Vn "COLS \- begin\*_x" ) (
 | 
						|
respectively.
 | 
						|
.Ds
 | 
						|
.Fd unctrl ch \*m
 | 
						|
char	ch;
 | 
						|
.De
 | 
						|
This is actually a debug function for the library,
 | 
						|
but it is of general usefulness.
 | 
						|
It returns a string which is a representation of
 | 
						|
.Vn ch .
 | 
						|
Control characters become their upper-case equivalents preceded by a "^".
 | 
						|
Other letters stay just as they are.
 | 
						|
To use
 | 
						|
.Fn unctrl ,
 | 
						|
you may have to have
 | 
						|
.b #include\ <unctrl.h>
 | 
						|
in your file.
 |