| 1 | .\" Copyright (c) 1980 The Regents of the University of California. |
| 2 | .\" All rights reserved. |
| 3 | .\" |
| 4 | .\" %sccs.include.redist.roff% |
| 5 | .\" |
| 6 | .\" @(#)appen.A 6.3 (Berkeley) %G% |
| 7 | .\" |
| 8 | .ie t .oh '\*(Ln Appendix A''PS1:18-%' |
| 9 | .eh 'PS1:18-%''\*(Ln Appendix A' |
| 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: |
| 25 | for a full description see |
| 26 | .b termcap (5). |
| 27 | .sh 2 Overview |
| 28 | .pp |
| 29 | Capabilities from |
| 30 | .b termcap |
| 31 | are of three kinds: |
| 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.) |
| 55 | This is specified as, |
| 56 | i e.g. , |
| 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 |
| 114 | char * US Underline Starting sequence |
| 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 |
| 120 | Names starting with |
| 121 | .bi X |
| 122 | are reserved for severely nauseous glitches |
| 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 . |
| 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 |