2010-09-12 08:58:29 +08:00
|
|
|
.\"***************************************************************************
|
2020-02-12 17:50:22 +08:00
|
|
|
.\" Copyright 2019,2020 Thomas E. Dickey *
|
|
|
|
.\" Copyright 2010-2015,2017 Free Software Foundation, Inc. *
|
2010-09-12 08:58:29 +08:00
|
|
|
.\" *
|
|
|
|
.\" Permission is hereby granted, free of charge, to any person obtaining a *
|
|
|
|
.\" copy of this software and associated documentation files (the *
|
|
|
|
.\" "Software"), to deal in the Software without restriction, including *
|
|
|
|
.\" without limitation the rights to use, copy, modify, merge, publish, *
|
|
|
|
.\" distribute, distribute with modifications, sublicense, and/or sell *
|
|
|
|
.\" copies of the Software, and to permit persons to whom the Software is *
|
|
|
|
.\" furnished to do so, subject to the following conditions: *
|
|
|
|
.\" *
|
|
|
|
.\" The above copyright notice and this permission notice shall be included *
|
|
|
|
.\" in all copies or substantial portions of the Software. *
|
|
|
|
.\" *
|
|
|
|
.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS *
|
|
|
|
.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF *
|
|
|
|
.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. *
|
|
|
|
.\" IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, *
|
|
|
|
.\" DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR *
|
|
|
|
.\" OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR *
|
|
|
|
.\" THE USE OR OTHER DEALINGS IN THE SOFTWARE. *
|
|
|
|
.\" *
|
|
|
|
.\" Except as contained in this notice, the name(s) of the above copyright *
|
|
|
|
.\" holders shall not be used in advertising or otherwise to promote the *
|
|
|
|
.\" sale, use or other dealings in this Software without prior written *
|
|
|
|
.\" authorization. *
|
|
|
|
.\"***************************************************************************
|
|
|
|
.\"
|
2020-02-12 17:50:22 +08:00
|
|
|
.\" $Id: term_variables.3x,v 1.12 2020/02/02 23:34:34 tom Exp $
|
2010-09-12 08:58:29 +08:00
|
|
|
.TH term_variables 3X ""
|
|
|
|
.ds n 5
|
2017-04-16 09:08:25 +08:00
|
|
|
.ie \n(.g .ds `` \(lq
|
|
|
|
.el .ds `` ``
|
|
|
|
.ie \n(.g .ds '' \(rq
|
|
|
|
.el .ds '' ''
|
2010-09-12 08:58:29 +08:00
|
|
|
.na
|
|
|
|
.hy 0
|
|
|
|
.SH NAME
|
|
|
|
\fBSP\fP,
|
|
|
|
\fBacs_map\fP,
|
|
|
|
\fBboolcodes\fP,
|
|
|
|
\fBboolfnames\fP,
|
|
|
|
\fBboolnames\fP,
|
|
|
|
\fBcur_term\fP,
|
|
|
|
\fBnumcodes\fP,
|
|
|
|
\fBnumfnames\fP,
|
|
|
|
\fBnumnames\fP,
|
|
|
|
\fBstrcodes\fP,
|
|
|
|
\fBstrfnames\fP,
|
|
|
|
\fBstrnames\fP,
|
|
|
|
\fBttytype\fP
|
|
|
|
\- \fBcurses\fR terminfo global variables
|
|
|
|
.ad
|
|
|
|
.hy
|
|
|
|
.SH SYNOPSIS
|
|
|
|
.nf
|
|
|
|
\fB#include <curses.h>\fR
|
|
|
|
.br
|
|
|
|
\fB#include <term.h>\fR
|
|
|
|
.PP
|
|
|
|
\fBchtype acs_map[];\fR
|
2015-04-26 09:21:33 +08:00
|
|
|
.sp
|
2015-12-06 09:07:45 +08:00
|
|
|
\fBSCREEN * SP;\fR
|
|
|
|
.sp
|
2015-04-26 09:21:33 +08:00
|
|
|
\fBTERMINAL * cur_term;\fR
|
|
|
|
.sp
|
|
|
|
\fBchar ttytype[];\fR
|
|
|
|
.sp
|
2019-03-24 09:47:18 +08:00
|
|
|
\fBNCURSES_CONST char * const boolcodes[];\fR
|
2010-09-12 08:58:29 +08:00
|
|
|
.br
|
2019-03-24 09:47:18 +08:00
|
|
|
\fBNCURSES_CONST char * const boolfnames[];\fR
|
2010-09-12 08:58:29 +08:00
|
|
|
.br
|
2019-03-24 09:47:18 +08:00
|
|
|
\fBNCURSES_CONST char * const boolnames[];\fR
|
2015-04-26 09:21:33 +08:00
|
|
|
.sp
|
2019-03-24 09:47:18 +08:00
|
|
|
\fBNCURSES_CONST char * const numcodes[];\fR
|
2010-09-12 08:58:29 +08:00
|
|
|
.br
|
2019-03-24 09:47:18 +08:00
|
|
|
\fBNCURSES_CONST char * const numfnames[];\fR
|
2010-09-12 08:58:29 +08:00
|
|
|
.br
|
2019-03-24 09:47:18 +08:00
|
|
|
\fBNCURSES_CONST char * const numnames[];\fR
|
2015-04-26 09:21:33 +08:00
|
|
|
.sp
|
2019-03-24 09:47:18 +08:00
|
|
|
\fBNCURSES_CONST char * const strcodes[];\fR
|
2010-09-12 08:58:29 +08:00
|
|
|
.br
|
2019-03-24 09:47:18 +08:00
|
|
|
\fBNCURSES_CONST char * const strfnames[];\fR
|
2010-09-12 08:58:29 +08:00
|
|
|
.br
|
2019-03-24 09:47:18 +08:00
|
|
|
\fBNCURSES_CONST char * const strnames[];\fR
|
2010-09-12 08:58:29 +08:00
|
|
|
.br
|
|
|
|
.fi
|
|
|
|
.SH DESCRIPTION
|
|
|
|
This page summarizes variables provided by the \fBcurses\fP library's
|
|
|
|
low-level terminfo interface.
|
|
|
|
A more complete description is given in the \fBcurs_terminfo\fP(3X) manual page.
|
|
|
|
.PP
|
|
|
|
Depending on the configuration, these may be actual variables,
|
|
|
|
or macros (see \fBcurs_threads\fR(3X))
|
|
|
|
which provide read-only access to \fIcurses\fP's state.
|
|
|
|
In either case, applications should treat them as read-only to avoid
|
|
|
|
confusing the library.
|
|
|
|
.SS Alternate Character Set Mapping
|
|
|
|
After initializing the curses or terminfo interfaces,
|
|
|
|
the \fBacs_map\fP array holds information used to translate cells
|
|
|
|
with the \fBA_ALTCHARSET\fP video attribute into line-drawing characters.
|
|
|
|
.PP
|
|
|
|
The encoding of the information in this array has changed periodically.
|
2019-12-01 09:27:53 +08:00
|
|
|
Application developers need only know that it is used for the \*(``ACS_\*(''
|
2010-09-12 08:58:29 +08:00
|
|
|
constants in <curses.h>.
|
|
|
|
.PP
|
|
|
|
The comparable data for the wide-character library is a private variable.
|
|
|
|
.SS Current Terminal Data
|
|
|
|
After initializing the curses or terminfo interfaces,
|
|
|
|
the \fBcur_term\fP contains data describing the current terminal.
|
|
|
|
This variable is also set as a side-effect of \fBset_term\fP(3X)
|
|
|
|
and \fBdelscreen\fP(3X).
|
|
|
|
.PP
|
|
|
|
It is possible to save a value of \fBcur_term\fP for subsequent
|
|
|
|
use as a parameter to \fBset_term\fP, for switching between screens.
|
|
|
|
Alternatively, one can save the return value from \fBnewterm\fP
|
2017-01-08 09:40:29 +08:00
|
|
|
or \fBsetupterm\fP(3X) to reuse in \fBset_term\fP.
|
2010-09-12 08:58:29 +08:00
|
|
|
.SS Terminfo Names
|
2011-12-18 08:13:30 +08:00
|
|
|
The \fB@TIC@\fP(1) and \fB@INFOCMP@\fP(1) programs use lookup tables for
|
2010-09-12 08:58:29 +08:00
|
|
|
the long and short names of terminfo capabilities,
|
|
|
|
as well as the corresponding names for termcap capabilities.
|
|
|
|
These are available to other applications,
|
2015-04-26 09:21:33 +08:00
|
|
|
although the hash-tables used by
|
|
|
|
the terminfo and termcap functions are not available.
|
2010-09-12 08:58:29 +08:00
|
|
|
.PP
|
2019-12-01 09:27:53 +08:00
|
|
|
The long terminfo capability names use a \*(``l\*('' (ell) in their names:
|
2015-04-26 09:21:33 +08:00
|
|
|
\fBboolfnames\fP,
|
|
|
|
\fBnumfnames\fP, and
|
|
|
|
\fBstrfnames\fP.
|
2010-09-12 08:58:29 +08:00
|
|
|
.PP
|
|
|
|
These are the short names for terminfo capabilities:
|
2015-04-26 09:21:33 +08:00
|
|
|
\fBboolnames\fP,
|
|
|
|
\fBnumnames\fP, and
|
|
|
|
\fBstrnames\fP.
|
2010-09-12 08:58:29 +08:00
|
|
|
.PP
|
|
|
|
These are the corresponding names used for termcap descriptions:
|
2015-04-26 09:21:33 +08:00
|
|
|
\fBboolcodes\fP,
|
|
|
|
\fBnumcodes\fP, and
|
|
|
|
\fBstrcodes\fP.
|
|
|
|
.\"
|
2010-09-12 08:58:29 +08:00
|
|
|
.SS Terminal Type
|
2017-04-16 09:08:25 +08:00
|
|
|
A terminal description begins with one or more terminal names
|
|
|
|
separated by \*(``|\*('' (vertical bars).
|
2010-09-12 08:58:29 +08:00
|
|
|
On initialization of the curses or terminfo interfaces,
|
2017-04-16 09:08:25 +08:00
|
|
|
\fBsetupterm\fP(3X) copies the terminal names to the array \fBttytype\fP.
|
2015-04-26 09:21:33 +08:00
|
|
|
.\"
|
|
|
|
.SS Terminfo Names
|
|
|
|
.PP
|
|
|
|
In addition to the variables, \fB<term.h>\fP also defines a symbol for each
|
|
|
|
terminfo capability \fIlong name\fP.
|
|
|
|
These are in terms of the symbol \fBCUR\fP,
|
|
|
|
which is defined
|
|
|
|
.PP
|
|
|
|
.nf
|
|
|
|
.ft CW
|
2017-04-16 09:08:25 +08:00
|
|
|
#define CUR ((TERMTYPE *)(cur_term))->
|
2015-04-26 09:21:33 +08:00
|
|
|
.fi
|
|
|
|
.ft R
|
|
|
|
.PP
|
|
|
|
These symbols provide a faster method of accessing terminfo capabilities
|
|
|
|
than using \fBtigetstr\fR(3X), etc.
|
2017-04-16 09:08:25 +08:00
|
|
|
.PP
|
|
|
|
The actual definition of \fBCUR\fP depends upon the implementation,
|
|
|
|
but each terminfo library provides these long names defined to point
|
|
|
|
into the current terminal description loaded into memory.
|
2015-04-26 09:21:33 +08:00
|
|
|
.\"
|
2010-09-12 08:58:29 +08:00
|
|
|
.SH NOTES
|
2013-12-22 07:12:46 +08:00
|
|
|
The low-level terminfo interface is initialized using
|
|
|
|
.hy 0
|
|
|
|
\fBsetupterm\fR(3X).
|
|
|
|
.hy
|
2010-09-12 08:58:29 +08:00
|
|
|
The upper-level curses interface uses the low-level terminfo interface,
|
|
|
|
internally.
|
2015-04-26 09:21:33 +08:00
|
|
|
.\"
|
2010-09-12 08:58:29 +08:00
|
|
|
.SH PORTABILITY
|
|
|
|
X/Open Curses does not describe any of these except for \fBcur_term\fP.
|
|
|
|
(The inclusion of \fBcur_term\fP appears to be an oversight,
|
|
|
|
since other comparable low-level information is omitted by X/Open).
|
|
|
|
.PP
|
|
|
|
Other implementations may have comparable variables.
|
|
|
|
Some implementations provide the variables in their libraries,
|
|
|
|
but omit them from the header files.
|
2015-04-26 09:21:33 +08:00
|
|
|
.PP
|
|
|
|
All implementations which provide terminfo interfaces add definitions
|
|
|
|
as described in the \fBTerminfo Names\fP section.
|
|
|
|
Most, but not all, base the definition upon the \fBcur_term\fP variable.
|
2010-09-12 08:58:29 +08:00
|
|
|
.SH SEE ALSO
|
2013-12-22 07:12:46 +08:00
|
|
|
.hy 0
|
2010-09-12 08:58:29 +08:00
|
|
|
\fBcurses\fR(3X),
|
|
|
|
\fBcurs_terminfo\fR(3X),
|
|
|
|
\fBcurs_threads\fR(3X),
|
|
|
|
\fBterminfo\fR(\*n).
|
2013-12-22 07:12:46 +08:00
|
|
|
.hy
|