-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<!--
* t
* DO NOT EDIT THIS FILE BY HAND!
*.in +2
*.TH
-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
+<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
+<meta name="generator" content="Manpage converted by man2html - see http://invisible-island.net/scripts/readme.html#others_scripts">
<TITLE>terminfo 5 File Formats</TITLE>
<link rev=made href="mailto:bug-ncurses@gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<H1>terminfo 5 File Formats</H1>
<HR>
<PRE>
-<!-- Manpage converted by man2html 3.0.1 -->
<STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG> File Formats <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>
</PRE>
-<H2>NAME</H2><PRE>
+<H2><a name="h2-NAME">NAME</a></H2><PRE>
terminfo - terminal capability data base
</PRE>
-<H2>SYNOPSIS</H2><PRE>
+<H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
/usr/share/terminfo/*/*
</PRE>
-<H2>DESCRIPTION</H2><PRE>
+<H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
<EM>Terminfo</EM> is a data base describing terminals, used by
screen-oriented programs such as <STRONG>nvi(1)</STRONG>, <STRONG>rogue(1)</STRONG> and
libraries such as <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>. <EM>Terminfo</EM> describes termi-
nals by giving a set of capabilities which they have, by
specifying how to perform screen operations, and by speci-
fying padding requirements and initialization sequences.
- This describes <STRONG>ncurses</STRONG> version 5.9 (patch 20141220).
+ This describes <STRONG>ncurses</STRONG> version 5.9 (patch 20150215).
Entries in <EM>terminfo</EM> consist of a sequence of `,' separated
fields (embedded commas may be escaped with a backslash or
For more on terminal naming conventions, see the <STRONG>term(7)</STRONG>
manual page.
- <STRONG>Predefined</STRONG> <STRONG>Capabilities</STRONG>
+
+</PRE>
+<H3><a name="h3-Predefined-Capabilities">Predefined Capabilities</a></H3><PRE>
The following is a complete table of the capabilities
included in a terminfo description block and available to
terminfo-using code. In each line of the table,
tations use sL for
termcap).
- <STRONG>User-Defined</STRONG> <STRONG>Capabilities</STRONG>
+
+</PRE>
+<H3><a name="h3-User-Defined-Capabilities">User-Defined Capabilities</a></H3><PRE>
The preceding section listed the <EM>predefined</EM> capabilities.
They deal with some special features for terminals no
longer (or possibly never) produced. Occasionally there
of special named keys) is best done using the longer names
available using terminfo.
- <STRONG>A</STRONG> <STRONG>Sample</STRONG> <STRONG>Entry</STRONG>
+
+</PRE>
+<H3><a name="h3-A-Sample-Entry">A Sample Entry</a></H3><PRE>
The following entry, describing an ANSI-standard terminal,
is representative of what a <STRONG>terminfo</STRONG> entry for a modern
terminal typically looks like.
<STRONG>o</STRONG> string capabilities, which give a sequence which can
be used to perform particular terminal operations.
- <STRONG>Types</STRONG> <STRONG>of</STRONG> <STRONG>Capabilities</STRONG>
+
+</PRE>
+<H3><a name="h3-Types-of-Capabilities">Types of Capabilities</a></H3><PRE>
All capabilities have names. For instance, the fact that
ANSI-standard terminals have <EM>automatic</EM> <EM>margins</EM> (i.e., an
automatic return and line-feed when the end of a line is
To do this, put a period before the capability name. For
example, see the second <STRONG>ind</STRONG> in the example above.
- <STRONG>Fetching</STRONG> <STRONG>Compiled</STRONG> <STRONG>Descriptions</STRONG>
+
+</PRE>
+<H3><a name="h3-Fetching-Compiled-Descriptions">Fetching Compiled Descriptions</a></H3><PRE>
The <STRONG>ncurses</STRONG> library searches for terminal descriptions in
several places. It uses only the first description found.
The library has a compiled-in list of places to search
<STRONG>o</STRONG> the system terminfo directory, <EM>/usr/share/terminfo</EM>
(the compiled-in default).
- <STRONG>Preparing</STRONG> <STRONG>Descriptions</STRONG>
+
+</PRE>
+<H3><a name="h3-Preparing-Descriptions">Preparing Descriptions</a></H3><PRE>
We now outline how to prepare descriptions of terminals.
The most effective way to prepare a terminal description
is by imitating the description of a similar terminal in
ally needed. A similar test can be used for insert char-
acter.
- <STRONG>Basic</STRONG> <STRONG>Capabilities</STRONG>
+
+</PRE>
+<H3><a name="h3-Basic-Capabilities">Basic Capabilities</a></H3><PRE>
The number of columns on each line for the terminal is
given by the <STRONG>cols</STRONG> numeric capability. If the terminal is
a CRT, then the number of lines on the screen is given by
am, bel=^G, clear=^Z, cols#80, cr=^M, cub1=^H, cud1=^J,
ind=^J, lines#24,
- <STRONG>Parameterized</STRONG> <STRONG>Strings</STRONG>
+
+</PRE>
+<H3><a name="h3-Parameterized-Strings">Parameterized Strings</a></H3><PRE>
Cursor addressing and other strings requiring parameters
in the terminal are described by a parameterized string
capability, with <EM>printf</EM>-like escapes such as <EM>%x</EM> in it.
ter. Then the same is done for the second parameter.
More complex arithmetic is possible using the stack.
- <STRONG>Cursor</STRONG> <STRONG>Motions</STRONG>
+
+</PRE>
+<H3><a name="h3-Cursor-Motions">Cursor Motions</a></H3><PRE>
If the terminal has a fast way to home the cursor (to very
upper left corner of screen) then this can be given as
<STRONG>home</STRONG>; similarly a fast way of getting to the lower left-
<STRONG>rmcup</STRONG> sequence is output (to the state prior to outputting
<STRONG>rmcup</STRONG>), specify <STRONG>nrrmc</STRONG>.
- <STRONG>Area</STRONG> <STRONG>Clears</STRONG>
+
+</PRE>
+<H3><a name="h3-Area-Clears">Area Clears</a></H3><PRE>
If the terminal can clear from the current position to the
end of the line, leaving the cursor where it is, this
should be given as <STRONG>el</STRONG>. If the terminal can clear from the
(Thus, it can be simulated by a request to delete a large
number of lines, if a true <STRONG>ed</STRONG> is not available.)
- <STRONG>Insert/delete</STRONG> <STRONG>line</STRONG> <STRONG>and</STRONG> <STRONG>vertical</STRONG> <STRONG>motions</STRONG>
+
+</PRE>
+<H3><a name="h3-Insert_delete-line-and-vertical-motions">Insert/delete line and vertical motions</a></H3><PRE>
If the terminal can open a new blank line before the line
where the cursor is, this should be given as <STRONG>il1</STRONG>; this is
done only from the first position of a line. The cursor
lines up from below or that scrolling back with <STRONG>ri</STRONG> may
bring down non-blank lines.
- <STRONG>Insert/Delete</STRONG> <STRONG>Character</STRONG>
+
+</PRE>
+<H3><a name="h3-Insert_Delete-Character">Insert/Delete Character</a></H3><PRE>
There are two basic kinds of intelligent terminals with
respect to insert/delete character which can be described
using <EM>terminfo.</EM> The most common insert/delete character
<EM>n</EM> blanks without moving the cursor) can be given as <STRONG>ech</STRONG>
with one parameter.
- <STRONG>Highlighting,</STRONG> <STRONG>Underlining,</STRONG> <STRONG>and</STRONG> <STRONG>Visible</STRONG> <STRONG>Bells</STRONG>
+
+</PRE>
+<H3><a name="h3-Highlighting_-Underlining_-and-Visible-Bells">Highlighting, Underlining, and Visible Bells</a></H3><PRE>
If your terminal has one or more kinds of display
attributes, these can be represented in a number of dif-
ferent ways. You should choose one display form as <EM>stand-</EM>
erasable with a blank, then this should be indicated by
giving <STRONG>eo</STRONG>.
- <STRONG>Keypad</STRONG> <STRONG>and</STRONG> <STRONG>Function</STRONG> <STRONG>Keys</STRONG>
+
+</PRE>
+<H3><a name="h3-Keypad-and-Function-Keys">Keypad and Function Keys</a></H3><PRE>
If the terminal has a keypad that transmits codes when the
keys are pressed, this information can be given. Note
that it is not possible to handle terminals where the key-
or more pln sequences to make sure that the change becomes
visible.
- <STRONG>Tabs</STRONG> <STRONG>and</STRONG> <STRONG>Initialization</STRONG>
+
+</PRE>
+<H3><a name="h3-Tabs-and-Initialization">Tabs and Initialization</a></H3><PRE>
If the terminal has hardware tabs, the command to advance
to the next tab stop can be given as <STRONG>ht</STRONG> (usually control
I). A "back-tab" command which moves leftward to the pre-
described by this, the sequence can be placed in <STRONG>is2</STRONG> or
<STRONG>if</STRONG>.
- <STRONG>Delays</STRONG> <STRONG>and</STRONG> <STRONG>Padding</STRONG>
+
+</PRE>
+<H3><a name="h3-Delays-and-Padding">Delays and Padding</a></H3><PRE>
Many older and slower terminals do not support either
XON/XOFF or DTR handshaking, including hard copy terminals
and some very archaic CRTs (including, for example, DEC
ter as a pad, then this can be given as <STRONG>pad</STRONG>. Only the
first character of the <STRONG>pad</STRONG> string is used.
- <STRONG>Status</STRONG> <STRONG>Lines</STRONG>
+
+</PRE>
+<H3><a name="h3-Status-Lines">Status Lines</a></H3><PRE>
Some terminals have an extra "status line" which is not
normally used by software (and thus not counted in the
terminal's <STRONG>lines</STRONG> capability).
capabilities. They are documented here in case they ever
become important.
- <STRONG>Line</STRONG> <STRONG>Graphics</STRONG>
+
+</PRE>
+<H3><a name="h3-Line-Graphics">Line Graphics</a></H3><PRE>
Many terminals have alternate character sets useful for
forms-drawing. Terminfo and <STRONG>curses</STRONG> build in support for
the drawing characters supported by the VT100, with some
acter pairs right to left in sequence; these become the
ACSC string.
- <STRONG>Color</STRONG> <STRONG>Handling</STRONG>
+
+</PRE>
+<H3><a name="h3-Color-Handling">Color Handling</a></H3><PRE>
Most color terminals are either "Tektronix-like" or "HP-
like". Tektronix-like terminals have a predefined set of
N colors (where N usually 8), and can set character-cell
SVr4 curses does nothing with <STRONG>ncv</STRONG>, ncurses recognizes it
and optimizes the output in favor of colors.
- <STRONG>Miscellaneous</STRONG>
+
+</PRE>
+<H3><a name="h3-Miscellaneous">Miscellaneous</a></H3><PRE>
If the terminal requires other than a null (zero) charac-
ter as a pad, then this can be given as pad. Only the
first character of the pad string is used. If the termi-
text, including <STRONG>mc4</STRONG>, is transparently passed to the
printer while an <STRONG>mc5p</STRONG> is in effect.
- <STRONG>Glitches</STRONG> <STRONG>and</STRONG> <STRONG>Braindamage</STRONG>
+
+</PRE>
+<H3><a name="h3-Glitches-and-Braindamage">Glitches and Braindamage</a></H3><PRE>
Hazeltine terminals, which do not allow "~" characters to
be displayed should indicate <STRONG>hz</STRONG>.
Other specific terminal problems may be corrected by
adding more capabilities of the form <STRONG>x</STRONG><EM>x</EM>.
- <STRONG>Similar</STRONG> <STRONG>Terminals</STRONG>
+
+</PRE>
+<H3><a name="h3-Similar-Terminals">Similar Terminals</a></H3><PRE>
If there are two very similar terminals, one (the variant)
can be defined as being just like the other (the base)
with certain exceptions. In the definition of the vari-
labels when in visual mode. This is useful for different
modes for a terminal, or for different user preferences.
- <STRONG>Pitfalls</STRONG> <STRONG>of</STRONG> <STRONG>Long</STRONG> <STRONG>Entries</STRONG>
+
+</PRE>
+<H3><a name="h3-Pitfalls-of-Long-Entries">Pitfalls of Long Entries</a></H3><PRE>
Long terminfo entries are unlikely to be a problem; to
date, no entry has even approached terminfo's 4096-byte
string-table maximum. Unfortunately, the termcap transla-
(check) option also checks resolved (after tc expansion)
lengths.
- <STRONG>Binary</STRONG> <STRONG>Compatibility</STRONG>
+
+</PRE>
+<H3><a name="h3-Binary-Compatibility">Binary Compatibility</a></H3><PRE>
It is not wise to count on portability of binary terminfo
entries between commercial UNIX versions. The problem is
that there are at least two versions of terminfo (under
</PRE>
-<H2>EXTENSIONS</H2><PRE>
+<H2><a name="h2-EXTENSIONS">EXTENSIONS</a></H2><PRE>
Searching for terminal descriptions in <STRONG>$HOME/.terminfo</STRONG> and
TERMINFO_DIRS is not supported by older implementations.
</PRE>
-<H2>FILES</H2><PRE>
+<H2><a name="h2-FILES">FILES</a></H2><PRE>
/usr/share/terminfo/?/* files containing terminal
descriptions
</PRE>
-<H2>SEE ALSO</H2><PRE>
+<H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
<STRONG><A HREF="tic.1m.html">tic(1m)</A></STRONG>, <STRONG><A HREF="infocmp.1m.html">infocmp(1m)</A></STRONG>, <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG>printf(3)</STRONG>, <STRONG><A HREF="term.5.html">term(5)</A></STRONG>.
<STRONG><A HREF="term_variables.3x.html">term_variables(3x)</A></STRONG>.
</PRE>
-<H2>AUTHORS</H2><PRE>
+<H2><a name="h2-AUTHORS">AUTHORS</a></H2><PRE>
Zeyd M. Ben-Halim, Eric S. Raymond, Thomas E. Dickey.
Based on pcurses by Pavel Curtis.
<STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>
</PRE>
-<HR>
-Man(1) output converted with <a href="http://invisible-island.net/scripts/readme.html#others_scripts">man2html</a>
+<div class="nav">
+<ul>
+<li><a href="#h2-NAME">NAME</a></li>
+<li><a href="#h2-SYNOPSIS">SYNOPSIS</a></li>
+<li><a href="#h2-DESCRIPTION">DESCRIPTION</a>
+<ul>
+<li><a href="#h3-Predefined-Capabilities">Predefined Capabilities</a></li>
+<li><a href="#h3-User-Defined-Capabilities">User-Defined Capabilities</a></li>
+<li><a href="#h3-A-Sample-Entry">A Sample Entry</a></li>
+<li><a href="#h3-Types-of-Capabilities">Types of Capabilities</a></li>
+<li><a href="#h3-Fetching-Compiled-Descriptions">Fetching Compiled Descriptions</a></li>
+<li><a href="#h3-Preparing-Descriptions">Preparing Descriptions</a></li>
+<li><a href="#h3-Basic-Capabilities">Basic Capabilities</a></li>
+<li><a href="#h3-Parameterized-Strings">Parameterized Strings</a></li>
+<li><a href="#h3-Cursor-Motions">Cursor Motions</a></li>
+<li><a href="#h3-Area-Clears">Area Clears</a></li>
+<li><a href="#h3-Insert_delete-line-and-vertical-motions">Insert/delete line and vertical motions</a></li>
+<li><a href="#h3-Insert_Delete-Character">Insert/Delete Character</a></li>
+<li><a href="#h3-Highlighting_-Underlining_-and-Visible-Bells">Highlighting, Underlining, and Visible Bells</a></li>
+<li><a href="#h3-Keypad-and-Function-Keys">Keypad and Function Keys</a></li>
+<li><a href="#h3-Tabs-and-Initialization">Tabs and Initialization</a></li>
+<li><a href="#h3-Delays-and-Padding">Delays and Padding</a></li>
+<li><a href="#h3-Status-Lines">Status Lines</a></li>
+<li><a href="#h3-Line-Graphics">Line Graphics</a></li>
+<li><a href="#h3-Color-Handling">Color Handling</a></li>
+<li><a href="#h3-Miscellaneous">Miscellaneous</a></li>
+<li><a href="#h3-Glitches-and-Braindamage">Glitches and Braindamage</a></li>
+<li><a href="#h3-Similar-Terminals">Similar Terminals</a></li>
+<li><a href="#h3-Pitfalls-of-Long-Entries">Pitfalls of Long Entries</a></li>
+<li><a href="#h3-Binary-Compatibility">Binary Compatibility</a></li>
+</ul>
+</li>
+<li><a href="#h2-EXTENSIONS">EXTENSIONS</a></li>
+<li><a href="#h2-FILES">FILES</a></li>
+<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
+<li><a href="#h2-AUTHORS">AUTHORS</a></li>
+</ul>
+</div>
</BODY>
</HTML>