Start development on 386BSD 0.0
[unix-history] / .ref-BSD-4_3_Net_2 / usr / src / share / doc / ps1 / 18.curses / appen.A
CommitLineData
ea56bb60
KB
1.\" Copyright (c) 1980 The Regents of the University of California.
2.\" All rights reserved.
1cb79f9c 3.\"
af359dea
C
4.\" Redistribution and use in source and binary forms, with or without
5.\" modification, are permitted provided that the following conditions
6.\" are met:
7.\" 1. Redistributions of source code must retain the above copyright
8.\" notice, this list of conditions and the following disclaimer.
9.\" 2. Redistributions in binary form must reproduce the above copyright
10.\" notice, this list of conditions and the following disclaimer in the
11.\" documentation and/or other materials provided with the distribution.
12.\" 3. All advertising materials mentioning features or use of this software
13.\" must display the following acknowledgement:
14.\" This product includes software developed by the University of
15.\" California, Berkeley and its contributors.
16.\" 4. Neither the name of the University nor the names of its contributors
17.\" may be used to endorse or promote products derived from this software
18.\" without specific prior written permission.
ea56bb60 19.\"
af359dea
C
20.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
21.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
22.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
23.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
24.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
25.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
26.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
27.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
28.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
29.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
30.\" SUCH DAMAGE.
31.\"
32.\" @(#)appen.A 6.3 (Berkeley) 4/17/91
1cb79f9c 33.\"
4e6acb2c
KM
34.ie t .oh '\*(Ln Appendix A''PS1:18-%'
35.eh 'PS1:18-%''\*(Ln Appendix A'
1cb79f9c
KM
36.el .he ''\fIAppendix A\fR''
37.bp
38.(x
39.sp 2
40.in 0
41.bi Appendixes
42.sp
43.b "Appendix A"
44.)x
45.nr * 1
46.sh 1 "Capabilities from termcap" 1
47.sh 2 Disclaimer
48.pp
49The description of terminals is a difficult business,
50and we only attempt to summarize the capabilities here:
4e6acb2c
KM
51for a full description see
52.b termcap (5).
1cb79f9c
KM
53.sh 2 Overview
54.pp
4e6acb2c
KM
55Capabilities from
56.b termcap
57are of three kinds:
1cb79f9c
KM
58string valued options,
59numeric valued options,
60and boolean options.
61The string valued options are the most complicated,
62since they may include padding information,
63which we describe now.
64.pp
65Intelligent terminals often require padding on intelligent operations
66at high (and sometimes even low) speed.
67This is specified by a number before the string in the capability,
68and has meaning for the capabilities which have a
69.b P
70at the front of their comment.
71This normally is a number of milliseconds to pad the operation.
72In the current system which has no true programmable delays,
73we do this by sending a sequence of pad characters
74(normally nulls, but can be changed
75(specified by
76.i PC )).
77In some cases, the pad is better computed as some number of milliseconds
78times the number of affected lines
79(to the bottom of the screen usually,
80except when terminals have insert modes which will shift several lines.)
4e6acb2c
KM
81This is specified as,
82i e.g. ,
1cb79f9c
KM
83.b 12* .
84before the capability,
85to say 12 milliseconds per affected whatever
86(currently always line).
87Capabilities where this makes sense say
88.b P* .
89.sp
90.sh 2 "Variables Set By setterm()"
91.TS H
92c s s s
93l l l l.
94variables set by \fIsetterm()\fR
95
96Type Name Pad Description
97_
98.TH
99char * AL P* Add new blank Line
100bool AM Automatic Margins
101char * BC Back Cursor movement
102bool BS BackSpace works
103char * BT P Back Tab
104bool CA Cursor Addressable
105char * CD P* Clear to end of Display
106char * CE P Clear to End of line
107char * CL P* CLear screen
108char * CM P Cursor Motion
109char * DC P* Delete Character
110char * DL P* Delete Line sequence
111char * DM Delete Mode (enter)
112char * DO DOwn line sequence
113char * ED End Delete mode
114bool EO can Erase Overstrikes with \' \'
115char * EI End Insert mode
116char * HO HOme cursor
117bool HZ HaZeltine ~ braindamage
118char * IC P Insert Character
119bool IN Insert-Null blessing
120char * IM enter Insert Mode (IC usually set, too)
121char * IP P* Pad after char Inserted using IM+IE
122char * LL quick to Last Line, column 0
123char * MA ctrl character MAp for cmd mode
124bool MI can Move in Insert mode
125bool NC No Cr: \er sends \er\en then eats \en
126char * ND Non-Destructive space
127bool OS OverStrike works
128char PC Pad Character
129char * SE Standout End (may leave space)
130char * SF P Scroll Forwards
131char * SO Stand Out begin (may leave space)
132char * SR P Scroll in Reverse
133char * TA P TAb (not ^I or with padding)
134char * TE Terminal address enable Ending sequence
135char * TI Terminal address enable Initialization
136char * UC Underline a single Character
137char * UE Underline Ending sequence
138bool UL UnderLining works even though !OS
139char * UP UPline
4e6acb2c 140char * US Underline Starting sequence
1cb79f9c
KM
141char * VB Visible Bell
142char * VE Visual End sequence
143char * VS Visual Start sequence
144bool XN a Newline gets eaten after wrap
145.TE
1cb79f9c
KM
146Names starting with
147.bi X
148are reserved for severely nauseous glitches
4e6acb2c
KM
149.pp
150For purposes of
151.Fn standout ,
152if
153.Fn SG
154is not 0,
155.Fn SO
156is set to
157.Fn NULL ,
158and if
159.Fn UG
160is not
161.Fn 0 ,
162.Fn US
163is set to
164.Fn NULL .
165If, after this,
166.Fn SO
167is
168.Fn NULL ,
169and
170.Fn US
171is not,
172.Fn SO
173is set to be
174.Fn US ,
175and
176.Fn SE
177is set to be
178.Fn UE .
1cb79f9c
KM
179.sh 2 "Variables Set By gettmode()"
180.TS H
181c s s
182l l l.
183variables set by \fIgettmode()\fR
184
185type name description
186_
187.TH
188bool NONL Term can't hack linefeeds doing a CR
189bool GT Gtty indicates Tabs
190bool UPPERCASE Terminal generates only uppercase letters
191.TE