BSD 4_1c_2 development
[unix-history] / usr / doc / curses / appen.A
CommitLineData
58633f46
KA
1.ie t .he ''\fBAppendix A\fR''
2.el .he ''\fIAppendix A\fR''
3.bp
4.(x
5.sp 2
6.in 0
7.bi Appendixes
8.sp
9.b "Appendix A"
10.)x
11.nr * 1
12.sh 1 "Capabilities from termcap" 1
13.sh 2 Disclaimer
14.pp
15The description of terminals is a difficult business,
16and we only attempt to summarize the capabilities here:
17for a full description see the paper describing termcap.
18.sh 2 Overview
19.pp
20Capabilities from termcap are of three kinds:
21string valued options,
22numeric valued options,
23and boolean options.
24The string valued options are the most complicated,
25since they may include padding information,
26which we describe now.
27.pp
28Intelligent terminals often require padding on intelligent operations
29at high (and sometimes even low) speed.
30This is specified by a number before the string in the capability,
31and has meaning for the capabilities which have a
32.b P
33at the front of their comment.
34This normally is a number of milliseconds to pad the operation.
35In the current system which has no true programmable delays,
36we do this by sending a sequence of pad characters
37(normally nulls, but can be changed
38(specified by
39.i PC )).
40In some cases, the pad is better computed as some number of milliseconds
41times the number of affected lines
42(to the bottom of the screen usually,
43except when terminals have insert modes which will shift several lines.)
44This is specified as, e.g.,
45.b 12* .
46before the capability,
47to say 12 milliseconds per affected whatever
48(currently always line).
49Capabilities where this makes sense say
50.b P* .
51.sp
52.sh 2 "Variables Set By setterm()"
53.TS H
54c s s s
55l l l l.
56variables set by \fIsetterm()\fR
57
58Type Name Pad Description
59_
60.TH
61char * AL P* Add new blank Line
62bool AM Automatic Margins
63char * BC Back Cursor movement
64bool BS BackSpace works
65char * BT P Back Tab
66bool CA Cursor Addressable
67char * CD P* Clear to end of Display
68char * CE P Clear to End of line
69char * CL P* CLear screen
70char * CM P Cursor Motion
71char * DC P* Delete Character
72char * DL P* Delete Line sequence
73char * DM Delete Mode (enter)
74char * DO DOwn line sequence
75char * ED End Delete mode
76bool EO can Erase Overstrikes with \' \'
77char * EI End Insert mode
78char * HO HOme cursor
79bool HZ HaZeltine ~ braindamage
80char * IC P Insert Character
81bool IN Insert-Null blessing
82char * IM enter Insert Mode (IC usually set, too)
83char * IP P* Pad after char Inserted using IM+IE
84char * LL quick to Last Line, column 0
85char * MA ctrl character MAp for cmd mode
86bool MI can Move in Insert mode
87bool NC No Cr: \er sends \er\en then eats \en
88char * ND Non-Destructive space
89bool OS OverStrike works
90char PC Pad Character
91char * SE Standout End (may leave space)
92char * SF P Scroll Forwards
93char * SO Stand Out begin (may leave space)
94char * SR P Scroll in Reverse
95char * TA P TAb (not ^I or with padding)
96char * TE Terminal address enable Ending sequence
97char * TI Terminal address enable Initialization
98char * UC Underline a single Character
99char * UE Underline Ending sequence
100bool UL UnderLining works even though !OS
101char * UP UPline
102char * US Underline Starting sequence\**
103char * VB Visible Bell
104char * VE Visual End sequence
105char * VS Visual Start sequence
106bool XN a Newline gets eaten after wrap
107.TE
108.(f
109\**
110US and UE,
111if they do not exist in the termcap entry,
112are copied from SO and SE
113in
114.Fn setterm
115.)f
116Names starting with
117.bi X
118are reserved for severely nauseous glitches
119.sh 2 "Variables Set By gettmode()"
120.TS H
121c s s
122l l l.
123variables set by \fIgettmode()\fR
124
125type name description
126_
127.TH
128bool NONL Term can't hack linefeeds doing a CR
129bool GT Gtty indicates Tabs
130bool UPPERCASE Terminal generates only uppercase letters
131.TE