386BSD 0.1 development
[unix-history] / usr / src / lib / libcurses / curses.3
index 5716423..37b7941 100644 (file)
-.\" Copyright (c) 1980 Regents of the University of California.
-.\" All rights reserved.  The Berkeley software License Agreement
-.\" specifies the terms and conditions for redistribution.
+.\" Copyright (c) 1985, 1991 The Regents of the University of California.
+.\" All rights reserved.
 .\"
 .\"
-.\"    @(#)curses.3    4.1 (Berkeley) %G%
+.\" 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. All advertising materials mentioning features or use of this software
+.\"    must display the following acknowledgement:
+.\"    This product includes software developed by the University of
+.\"    California, Berkeley and its contributors.
+.\" 4. 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.
 .\"
 .\"
-.TH CURSES 3
-.UC 4
-.SH NAME
-curses \- screen functions with ``optimal'' cursor motion
-.SH SYNOPSIS
-.B cc
-[ flags ] files
-.B \-lcurses \-ltermcap
-[ libraries ]
-.SH 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
-.I refresh()
-tells the routines to make the current screen look
-like the new one.
-In order to initialize the routines,
-the routine
-.I initscr()
-must be called before any of the other routines
-that deal with windows and screens
-are used.
-The routine
-.I endwin()
+.\" 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.
+.\"
+.\"     @(#)curses.3   6.6 (Berkeley) 4/19/91
+.\"
+.Dd April 19, 1991
+.Dt CURSES 3
+.Os BSD 4
+.Sh NAME
+.Nm curses
+.Nd screen functions with ``optimal'' cursor motion
+.Sh SYNOPSIS
+.Nm cc
+.Op Ar flags
+.Ar files
+.Fl lcurses ltermcap
+.Op Ar libraries
+.Sh 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
+.Fn refresh
+tells the routines to make the current screen look like the new one.
+In order to initialize the routines, the routine
+.Fn initscr
+must be called before any of the other routines that deal with windows and
+screens are used.  The routine
+.Fn endwin
 should be called before exiting.
 should be called before exiting.
-.SH SEE ALSO
-.I "Screen Updating and Cursor Movement Optimization: A Library Package,"
-Ken Arnold,
-.br
-stty(2),
-setenv(3),
-termcap(5)
-.SH AUTHOR
-Ken Arnold
-.SH FUNCTIONS
-.nf
-.ds w \fIwin\fR
-.ds s \fIstdscr\fR
-.ta 3i
-addch(ch)      add a character to \*s
-addstr(str)    add a string to \*s
-box(win,vert,hor)      draw a box around a window
-crmode()       set cbreak mode
-clear()        clear \*s
-clearok(scr,boolf)     set clear flag for \fIscr\fR
-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
-getch()        get a char through \*s
-getcap(name)   get terminal capability \fIname\fR
-getstr(str)    get a string through \*s
-gettmode()     get tty modes
-getyx(win,y,x) get (y,x) co-ordinates
-inch() get char at current (y,x) co-ordinates
-initscr()      initialize screens
-insch(c)       insert a char
-insertln()     insert a line
-leaveok(win,boolf)     set leave flag for \*w
-longname(termbuf,name) get long name from \fItermbuf\fR
-move(y,x)      move to (y,x) on \*s
-mvcur(lasty,lastx,newy,newx)   actually move cursor
-newwin(lines,cols,begin_y,begin_x)\    create a new window
-nl()   set newline mapping
-nocrmode()     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
-touchwin(win)  \*(lqchange\*(rq all of \*w
-unctrl(ch)     printable version of \fIch\fR
-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 (y,x) in \*w
-winsch(win,c)  insert char into \*w
-winsertln(win) insert line into \*w
-wmove(win,y,x) set current (y,x) 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
+.Sh SEE ALSO
+.Xr ioctl 2 ,
+.Xr getenv 3 ,
+.Xr tty 4 ,
+.Xr termcap 5
+.Rs
+.%T Screen Updating and Cursor Movement Optimization: A Library Package
+.%A Ken Arnold
+.Re
+.Sh AUTHOR
+.An Ken Arnold
+.Sh FUNCTIONS
+.Bl -column "subwin(win,lines,cols,begin_y,begin_x)   "
+.It addch(ch)  add a character to
+.Em stdscr
+.It addstr(str)        add a string to
+.Em stdscr
+.It box(win,vert,hor)  draw a box around a window
+.It cbreak()   set cbreak mode
+.It clear()    clear
+.Em stdscr
+.It clearok(scr,boolf) set clear flag for
+.Em scr
+.It clrtobot() clear to bottom on
+.Em stdscr
+.It clrtoeol() clear to end of line on
+.Em stdscr
+.It delch()    delete a character
+.It deleteln() delete a line
+.It delwin(win)        delete
+.Em stdscr
+.It echo()     set echo mode
+.It endwin()   end window modes
+.It erase()    erase
+.Em stdscr
+.It flusok(win,boolf)  set flush-on-refresh flag for
+.Em win
+.It getch()    get a char through
+.Em stdscr
+.It getcap(name)       get terminal capability
+.Em name
+.It getstr(str)        get a string through
+.Em stdscr
+.It gettmode() get tty modes
+.It getyx(win,y,x)     get (y,x) co-ordinates
+.It inch()     get char at current (y,x) co-ordinates
+.It initscr()  initialize screens
+.It insch(c)   insert a char
+.It insertln() insert a line
+.It leaveok(win,boolf) set leave flag for
+.Em stdscr
+.It longname(termbuf,name)     get long name from
+.Em termbuf
+.It move(y,x)  move to (y,x) on
+.Em stdscr
+.It mvcur(lasty,lastx,newy,newx)       actually move cursor
+.It newwin(lines,cols,begin_y,begin_x)\        create a new window
+.It nl()       set newline mapping
+.It nocbreak() unset cbreak mode
+.It noecho()   unset echo mode
+.It nonl()     unset newline mapping
+.It noraw()    unset raw mode
+.It overlay(win1,win2) overlay win1 on win2
+.It overwrite(win1,win2)       overwrite win1 on top of win2
+.It printw(fmt,arg1,arg2,...)  printf on
+.Em stdscr
+.It raw()      set raw mode
+.It refresh()  make current screen look like
+.Em stdscr
+.It resetty()  reset tty flags to stored value
+.It savetty()  stored current tty flags
+.It scanw(fmt,arg1,arg2,...)   scanf through
+.Em stdscr
+.It scroll(win)        scroll
+.Em win
+one line
+.It scrollok(win,boolf)        set scroll flag
+.It setterm(name)      set term variables for name
+.It standend() end standout mode
+.It standout() start standout mode
+.It subwin(win,lines,cols,begin_y,begin_x)\    create a subwindow
+.It touchline(win,y,sx,ex)     mark line
+.Em y
+.Em sx
+through
+.Em sy
+as changed
+.It touchoverlap(win1,win2)    mark overlap of
+.Em win1
+on
+.Em win2
+as changed
+.It touchwin(win)      \*(lqchange\*(rq all of
+.Em win
+.It unctrl(ch) printable version of
+.Em ch
+.It waddch(win,ch)     add char to
+.Em win
+.It waddstr(win,str)   add string to
+.Em win
+.It wclear(win)        clear
+.Em win
+.It wclrtobot(win)     clear to bottom of
+.Em win
+.It wclrtoeol(win)     clear to end of line on
+.Em win
+.It wdelch(win,c)      delete char from
+.Em win
+.It wdeleteln(win)     delete line from
+.Em win
+.It werase(win)        erase
+.Em win
+.It wgetch(win)        get a char through
+.Em win
+.It wgetstr(win,str)   get a string through
+.Em win
+.It winch(win) get char at current (y,x) in
+.Em win
+.It winsch(win,c)      insert char into
+.Em win
+.It winsertln(win)     insert line into
+.Em win
+.It wmove(win,y,x)     set current (y,x) co-ordinates on
+.Em win
+.It wprintw(win,fmt,arg1,arg2,...)\    printf on
+.Em win
+.It wrefresh(win)      make screen look like
+.Em win
+.It wscanw(win,fmt,arg1,arg2,...)\     scanf through
+.Em win
+.It wstandend(win)     end standout mode on
+.Em win
+.It wstandout(win)     start standout mode on
+.Em win
+.El
+.Sh HISTORY
+The
+.Nm
+package appeared in 
+.Bx 4.0 .