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