document distributed with 4.1BSD
authorKirk McKusick <mckusick@ucbvax.Berkeley.EDU>
Thu, 24 Apr 1986 14:42:30 +0000 (06:42 -0800)
committerKirk McKusick <mckusick@ucbvax.Berkeley.EDU>
Thu, 24 Apr 1986 14:42:30 +0000 (06:42 -0800)
SCCS-vsn: lib/libcurses/PSD.doc/appen.A 4.1

usr/src/lib/libcurses/PSD.doc/appen.A [new file with mode: 0644]

diff --git a/usr/src/lib/libcurses/PSD.doc/appen.A b/usr/src/lib/libcurses/PSD.doc/appen.A
new file mode 100644 (file)
index 0000000..563cd97
--- /dev/null
@@ -0,0 +1,137 @@
+.\" Copyright (c) 1980 Regents of the University of California.
+.\" All rights reserved.  The Berkeley software License Agreement
+.\" specifies the terms and conditions for redistribution.
+.\"
+.\"    @(#)appen.A     4.1 (Berkeley) %G%
+.\"
+.ie t .he ''\fBAppendix A\fR''
+.el .he ''\fIAppendix A\fR''
+.bp
+.(x
+.sp 2
+.in 0
+.bi Appendixes
+.sp
+.b "Appendix A"
+.)x
+.nr * 1
+.sh 1 "Capabilities from termcap" 1
+.sh 2 Disclaimer
+.pp
+The description of terminals is a difficult business,
+and we only attempt to summarize the capabilities here:
+for a full description see the paper describing termcap.
+.sh 2 Overview
+.pp
+Capabilities from termcap are of three kinds:
+string valued options,
+numeric valued options,
+and boolean options.
+The string valued options are the most complicated,
+since they may include padding information,
+which we describe now.
+.pp
+Intelligent terminals often require padding on intelligent operations
+at high (and sometimes even low) speed.
+This is specified by a number before the string in the capability,
+and has meaning for the capabilities which have a
+.b P
+at the front of their comment.
+This normally is a number of milliseconds to pad the operation.
+In the current system which has no true programmable delays,
+we do this by sending a sequence of pad characters
+(normally nulls, but can be changed
+(specified by
+.i PC )).
+In some cases, the pad is better computed as some number of milliseconds
+times the number of affected lines
+(to the bottom of the screen usually,
+except when terminals have insert modes which will shift several lines.)
+This is specified as, e.g.,
+.b 12* .
+before the capability,
+to say 12 milliseconds per affected whatever
+(currently always line).
+Capabilities where this makes sense say
+.b P* .
+.sp
+.sh 2 "Variables Set By setterm()"
+.TS H
+c s s s
+l l l l.
+variables set by \fIsetterm()\fR
+
+Type   Name    Pad     Description
+_
+.TH
+char * AL      P*      Add new blank Line
+bool   AM              Automatic Margins
+char * BC              Back Cursor movement
+bool   BS              BackSpace works
+char * BT      P       Back Tab
+bool   CA              Cursor Addressable
+char * CD      P*      Clear to end of Display
+char * CE      P       Clear to End of line
+char * CL      P*      CLear screen
+char * CM      P       Cursor Motion
+char * DC      P*      Delete Character
+char * DL      P*      Delete Line sequence
+char * DM              Delete Mode (enter)
+char * DO              DOwn line sequence
+char * ED              End Delete mode
+bool   EO              can Erase Overstrikes with \' \'
+char * EI              End Insert mode
+char * HO              HOme cursor
+bool   HZ              HaZeltine ~ braindamage
+char * IC      P       Insert Character
+bool   IN              Insert-Null blessing
+char * IM              enter Insert Mode (IC usually set, too)
+char * IP      P*      Pad after char Inserted using IM+IE
+char * LL              quick to Last Line, column 0
+char * MA              ctrl character MAp for cmd mode
+bool   MI              can Move in Insert mode
+bool   NC              No Cr: \er sends \er\en then eats \en
+char * ND              Non-Destructive space
+bool   OS              OverStrike works
+char   PC              Pad Character
+char * SE              Standout End (may leave space)
+char * SF      P       Scroll Forwards
+char * SO              Stand Out begin (may leave space)
+char * SR      P       Scroll in Reverse
+char * TA      P       TAb (not ^I or with padding)
+char * TE              Terminal address enable Ending sequence
+char * TI              Terminal address enable Initialization
+char * UC              Underline a single Character
+char * UE              Underline Ending sequence
+bool   UL              UnderLining works even though !OS
+char * UP              UPline
+char * US              Underline Starting sequence\**
+char * VB              Visible Bell
+char * VE              Visual End sequence
+char * VS              Visual Start sequence
+bool   XN              a Newline gets eaten after wrap
+.TE
+.(f
+\**
+US and UE,
+if they do not exist in the termcap entry,
+are copied from SO and SE
+in
+.Fn setterm
+.)f
+Names starting with
+.bi X
+are reserved for severely nauseous glitches
+.sh 2 "Variables Set By gettmode()"
+.TS H
+c s s
+l l l.
+variables set by \fIgettmode()\fR
+
+type   name    description
+_
+.TH
+bool   NONL    Term can't hack linefeeds doing a CR
+bool   GT      Gtty indicates Tabs
+bool   UPPERCASE       Terminal generates only uppercase letters
+.TE