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