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