.\" Copyright (c) 1980 Regents of the University of California. .\" All rights reserved. The Berkeley software License Agreement .\" specifies the terms and conditions for redistribution. .\" .\" @(#)appen.A 6.1 (Berkeley) 04/23/86 .\" .ie t .oh '\*(Ln Appendix A''PS1:18-%' .eh 'PS1:18-%''\*(Ln Appendix A' .el .he ''\fIAppendix A\fR'' .bp .(x .sp 2 .in 0 .bi Appendixes .sp .b "Appendix A" .)x .nr * 1 .sh 1 "Capabilities from termcap" 1 .sh 2 Disclaimer .pp The description of terminals is a difficult business, and we only attempt to summarize the capabilities here: for a full description see .b termcap (5). .sh 2 Overview .pp Capabilities from .b termcap are of three kinds: string valued options, numeric valued options, and boolean options. The string valued options are the most complicated, since they may include padding information, which we describe now. .pp Intelligent terminals often require padding on intelligent operations at high (and sometimes even low) speed. This is specified by a number before the string in the capability, and has meaning for the capabilities which have a .b P at the front of their comment. This normally is a number of milliseconds to pad the operation. In the current system which has no true programmable delays, we do this by sending a sequence of pad characters (normally nulls, but can be changed (specified by .i PC )). In some cases, the pad is better computed as some number of milliseconds times the number of affected lines (to the bottom of the screen usually, except when terminals have insert modes which will shift several lines.) This is specified as, i e.g. , .b 12* . before the capability, to say 12 milliseconds per affected whatever (currently always line). Capabilities where this makes sense say .b P* . .sp .sh 2 "Variables Set By setterm()" .TS H c s s s l l l l. variables set by \fIsetterm()\fR Type Name Pad Description _ .TH char * AL P* Add new blank Line bool AM Automatic Margins char * BC Back Cursor movement bool BS BackSpace works char * BT P Back Tab bool CA Cursor Addressable char * CD P* Clear to end of Display char * CE P Clear to End of line char * CL P* CLear screen char * CM P Cursor Motion char * DC P* Delete Character char * DL P* Delete Line sequence char * DM Delete Mode (enter) char * DO DOwn line sequence char * ED End Delete mode bool EO can Erase Overstrikes with \' \' char * EI End Insert mode char * HO HOme cursor bool HZ HaZeltine ~ braindamage char * IC P Insert Character bool IN Insert-Null blessing char * IM enter Insert Mode (IC usually set, too) char * IP P* Pad after char Inserted using IM+IE char * LL quick to Last Line, column 0 char * MA ctrl character MAp for cmd mode bool MI can Move in Insert mode bool NC No Cr: \er sends \er\en then eats \en char * ND Non-Destructive space bool OS OverStrike works char PC Pad Character char * SE Standout End (may leave space) char * SF P Scroll Forwards char * SO Stand Out begin (may leave space) char * SR P Scroll in Reverse char * TA P TAb (not ^I or with padding) char * TE Terminal address enable Ending sequence char * TI Terminal address enable Initialization char * UC Underline a single Character char * UE Underline Ending sequence bool UL UnderLining works even though !OS char * UP UPline char * US Underline Starting sequence char * VB Visible Bell char * VE Visual End sequence char * VS Visual Start sequence bool XN a Newline gets eaten after wrap .TE Names starting with .bi X are reserved for severely nauseous glitches .pp For purposes of .Fn standout , if .Fn SG is not 0, .Fn SO is set to .Fn NULL , and if .Fn UG is not .Fn 0 , .Fn US is set to .Fn NULL . If, after this, .Fn SO is .Fn NULL , and .Fn US is not, .Fn SO is set to be .Fn US , and .Fn SE is set to be .Fn UE . .sh 2 "Variables Set By gettmode()" .TS H c s s l l l. variables set by \fIgettmode()\fR type name description _ .TH bool NONL Term can't hack linefeeds doing a CR bool GT Gtty indicates Tabs bool UPPERCASE Terminal generates only uppercase letters .TE