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