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