The Termcap Library
3.1 Basic Characteristics
This section documents the capabilities that describe the basic and
nature of the terminal, and also those that are relevant to the output
of graphic characters.
Flag whose presence means that the terminal can overstrike. This
means that outputting a graphic character does not erase whatever was
present in the same character position before. The terminals that can
overstrike include printing terminals, storage tubes (all obsolete
nowadays), and many bit-map displays.
Flag whose presence means that outputting a space erases a character
position even if the terminal supports overstriking. If this flag is
not present and overstriking is supported, output of a space has no
effect except to move the cursor.
(On terminals that do not support overstriking, you can always assume
that outputting a space at a position erases whatever character was
previously displayed there.)
Flag whose presence means that this terminal type is a generic type
which does not really describe any particular terminal. Generic types
are intended for use as the default type assigned when the user
connects to the system, with the intention that the user should
specify what type he really has. One example of a generic type
is the type `network'.
Since the generic type cannot say how to do anything interesting with
the terminal, termcap-using programs will always find that the
terminal is too weak to be supported if the user has failed to specify
a real terminal type in place of the generic one. The `gn' flag
directs these programs to use a different error message: "You have
not specified your real terminal type", rather than "Your terminal
is not powerful enough to be used".
Flag whose presence means this is a hardcopy terminal.
String of commands to output a graphic character c, repeated n
times. The first parameter value is the ASCII code for the desired
character, and the second parameter is the number of times to repeat the
character. Often this command requires padding proportional to the
number of times the character is repeated. This effect can be had by
using parameter arithmetic with `%'-sequences to compute the
amount of padding, then generating the result as a number at the front
of the string so that
tputs will treat it as padding.
Flag whose presence means that the ASCII character `~' cannot be
output on this terminal because it is used for display commands.
Programs handle this flag by checking all text to be output and
replacing each `~' with some other character(s). If this is not
done, the screen will be thoroughly garbled.
The old Hazeltine terminals that required such treatment are probably
very rare today, so you might as well not bother to support this flag.
String whose presence means the terminal has a settable command
character. The value of the string is the default command character
(which is usually ESC).
All the strings of commands in the terminal description should be
written to use the default command character. If you are writing an
application program that changes the command character, use the
`CC' capability to figure out how to translate all the display
commands to work with the new command character.
Most programs have no reason to look at the `CC' capability.
Flag whose presence identifies Superbee terminals which are unable to
transmit the characters ESC and Control-C. Programs which
support this flag are supposed to check the input for the code sequences
sent by the F1 and F2 keys, and pretend that ESC
or Control-C (respectively) had been read. But this flag is
obsolete, and not worth supporting.