summaryrefslogtreecommitdiff
path: root/lib/libcurses/PSD.doc/intro.3
diff options
context:
space:
mode:
Diffstat (limited to 'lib/libcurses/PSD.doc/intro.3')
-rw-r--r--lib/libcurses/PSD.doc/intro.3228
1 files changed, 0 insertions, 228 deletions
diff --git a/lib/libcurses/PSD.doc/intro.3 b/lib/libcurses/PSD.doc/intro.3
deleted file mode 100644
index d0ba9a2ab7b..00000000000
--- a/lib/libcurses/PSD.doc/intro.3
+++ /dev/null
@@ -1,228 +0,0 @@
-.\" 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. 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.
-.\"
-.\" 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.
-.\"
-.\" @(#)intro.3 8.1 (Berkeley) 6/4/93
-.\"
-.sh 1 Usage
-.pp
-This is a description of how to actually use the screen package.
-For simplicity, we assume all updating, reading, etc.
-is applied to
-.Vn stdscr ,
-although a different window can of course be specified.
-.sh 2 "Initialization"
-.pp
-In order to use the screen package,
-the routines must know about terminal characteristics,
-and the space for
-.Vn curscr
-and
-.Vn stdscr
-must be allocated.
-These functions are performed by
-.Fn initscr .
-Since it must allocate space for the windows,
-it can overflow core when attempting to do so.
-On this rather rare occasion,
-.Fn initscr
-returns ERR.
-.Fn Initscr
-must
-.bi always
-be called before any of the routines which affect windows are used.
-If it is not,
-the program will core dump as soon as either
-.Vn curscr
-or
-.Vn stdscr
-are referenced.
-However, it is usually best to wait to call it
-until after you are sure you will need it,
-like after checking for startup errors.
-Terminal status changing routines
-like
-.Fn nl
-and
-.Fn cbreak
-should be called after
-.Fn initscr .
-.pp
-After the initial window allocation done by
-.Fn initscr ,
-specific window characteristics can be set.
-Scrolling can be enabled by calling
-.Fn scrollok .
-If you want the cursor to be left after the last change, use
-.Fn leaveok .
-If this isn't done,
-.Fn refresh
-will move the cursor to the window's current \*y after updating it.
-Additional windows can be created by using the functions
-.Fn newwin
-and
-.Fn subwin .
-.Fn Delwin
-allows you to delete an exisiting window.
-The variables
-.Vn LINES
-and
-.Vn COLS
-control the size of the terminal. They are initially implicitly set by
-.Fn initscr ,
-but can be altered explicitly by the user followed by a call to
-.Fn initscr .
-Note that any call to
-.Fn initscr ,
-will always delete any existing
-.Vn stdscr
-and/or
-.Vn curscr
-before creating new ones so this change is best done before the initial call to
-.Fn initscr .
-.pp
-.sh 2 "Output"
-.pp
-The basic functions
-used to change what will go on a window are
-.Fn addch
-and
-.Fn move .
-.Fn Addch
-adds a character at the current \*y,
-returning ERR if it would cause the window to illegally scroll,
-.i i.e. ,
-printing a character in the lower right-hand corner
-of a terminal which automatically scrolls
-if scrolling is not allowed.
-.Fn Move
-changes the current \*y to whatever you want them to be.
-It returns ERR if you try to move off the window.
-As mentioned above, you can combine the two into
-.Fn mvaddch
-to do both things in one call.
-.pp
-The other output functions
-(such as
-.Fn addstr
-and
-.Fn printw )
-all call
-.Fn addch
-to add characters to the window.
-.pp
-After a change has been made to the window,
-you must call
-.Fn refresh .
-when you want the portion of the terminal covered by the window
-to reflect the change.
-In order to optimize finding changes,
-.Fn refresh
-assumes that any part of the window not changed
-since the last
-.Fn refresh
-of that window has not been changed on the terminal,
-.i i.e. ,
-that you have not refreshed a portion of the terminal
-with an overlapping window.
-If this is not the case,
-the routines
-.Fn touchwin ,
-.Fn touchline ,
-and
-.Fn touchoverlap
-are provided to make it look like a desired part of window has been changed,
-thus forcing
-.Fn refresh
-to check that whole subsection of the terminal for changes.
-.pp
-If you call
-.Fn wrefresh
-with
-.Vn curscr ,
-it will make the screen look like the image of
-.Vn curscr .
-This is useful for implementing a command
-which would redraw the screen in case it got messed up.
-.sh 2 Input
-.pp
-Input is essentially a mirror image of output.
-The complementary function to
-.Fn addch
-is
-.Fn getch
-which,
-if echo is set,
-will call
-.Fn addch
-to echo the character.
-Since the screen package needs to know what is on the terminal at all times,
-if characters are to be echoed,
-the tty must be in raw or cbreak mode.
-If it is not,
-.Fn getch
-sets it to be cbreak,
-and then reads in the character.
-.sh 2 "Termination"
-.pp
-In order to perform certain optimizations,
-and,
-on some terminals,
-to work at all,
-some things must be done
-before the screen routines start up.
-These functions are performed in
-.Fn getttmode
-and
-.Fn setterm ,
-which are called by
-.Fn initscr .
-In order to clean up after the routines,
-the routine
-.Fn endwin
-is provided.
-It restores tty modes to what they were
-when
-.Fn initscr
-was first called.
-The terminal state module uses the variable
-.Vn curses_termios
-to save the original terminal state which is then restored upon a call to
-.Fn endwin .
-Thus,
-anytime after the call to initscr,
-.Fn endwin
-should be called before exiting. Note however, that
-.Fn endwin
-should always be called
-.b before
-the final calls to
-.Fn delwin ,
-which free the storage of the windows.