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