.\"***************************************************************************
-.\" Copyright (c) 2011-2017,2019 Free Software Foundation, Inc. *
+.\" Copyright 2019-2023,2024 Thomas E. Dickey *
+.\" Copyright 2010-2015,2017 Free Software Foundation, Inc. *
.\" *
.\" Permission is hereby granted, free of charge, to any person obtaining a *
.\" copy of this software and associated documentation files (the *
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: term_variables.3x,v 1.11 2019/11/30 20:51:36 tom Exp $
-.TH term_variables 3X ""
-.ds n 5
-.ie \n(.g .ds `` \(lq
-.el .ds `` ``
-.ie \n(.g .ds '' \(rq
-.el .ds '' ''
-.na
-.hy 0
+.\" $Id: term_variables.3x,v 1.36 2024/03/16 15:35:01 tom Exp $
+.TH term_variables 3X 2024-03-16 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
+.ie \n(.g \{\
+.ds `` \(lq
+.ds '' \(rq
+.\}
+.el \{\
+.ie t .ds `` ``
+.el .ds `` ""
+.ie t .ds '' ''
+.el .ds '' ""
+.\}
+.
.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
+\fB\%SP\fP,
+\fB\%acs_map\fP,
+\fB\%boolcodes\fP,
+\fB\%boolfnames\fP,
+\fB\%boolnames\fP,
+\fB\%cur_term\fP,
+\fB\%numcodes\fP,
+\fB\%numfnames\fP,
+\fB\%numnames\fP,
+\fB\%strcodes\fP,
+\fB\%strfnames\fP,
+\fB\%strnames\fP,
+\fB\%ttytype\fP \-
+\fIterminfo\fR global variables
.SH SYNOPSIS
.nf
-\fB#include <curses.h>\fR
-.br
-\fB#include <term.h>\fR
-.PP
-\fBchtype acs_map[];\fR
-.sp
-\fBSCREEN * SP;\fR
-.sp
-\fBTERMINAL * cur_term;\fR
-.sp
-\fBchar ttytype[];\fR
-.sp
-\fBNCURSES_CONST char * const boolcodes[];\fR
-.br
-\fBNCURSES_CONST char * const boolfnames[];\fR
-.br
-\fBNCURSES_CONST char * const boolnames[];\fR
-.sp
-\fBNCURSES_CONST char * const numcodes[];\fR
-.br
-\fBNCURSES_CONST char * const numfnames[];\fR
-.br
-\fBNCURSES_CONST char * const numnames[];\fR
-.sp
-\fBNCURSES_CONST char * const strcodes[];\fR
-.br
-\fBNCURSES_CONST char * const strfnames[];\fR
-.br
-\fBNCURSES_CONST char * const strnames[];\fR
-.br
+\fB#include <curses.h>
+\fB#include <term.h>
+.PP
+\fBchtype acs_map[];
+.PP
+\fBSCREEN * SP;
+.PP
+\fBTERMINAL * cur_term;
+.PP
+\fBchar ttytype[];
+.PP
+\fBNCURSES_CONST char * const boolcodes[];
+\fBNCURSES_CONST char * const boolfnames[];
+\fBNCURSES_CONST char * const boolnames[];
+.PP
+\fBNCURSES_CONST char * const numcodes[];
+\fBNCURSES_CONST char * const numfnames[];
+\fBNCURSES_CONST char * const numnames[];
+.PP
+\fBNCURSES_CONST char * const strcodes[];
+\fBNCURSES_CONST char * const strfnames[];
+\fBNCURSES_CONST char * const strnames[];
.fi
.SH DESCRIPTION
This page summarizes variables provided by the \fBcurses\fP library's
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))
+or macros (see \fBcurs_threads\fP(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
+.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.
constants in <curses.h>.
.PP
The comparable data for the wide-character library is a private variable.
-.SS Current Terminal Data
+.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)
use as a parameter to \fBset_term\fP, for switching between screens.
Alternatively, one can save the return value from \fBnewterm\fP
or \fBsetupterm\fP(3X) to reuse in \fBset_term\fP.
-.SS Terminfo Names
+.SS "\fIterminfo\fP Lookup Tables"
The \fB@TIC@\fP(1) and \fB@INFOCMP@\fP(1) programs use lookup tables for
the long and short names of terminfo capabilities,
as well as the corresponding names for termcap capabilities.
although the hash-tables used by
the terminfo and termcap functions are not available.
.PP
-The long terminfo capability names use a \*(``l\*('' (ell) in their names:
+The long terminfo capability names use a \*(``f\*('' (eff) in their names:
\fBboolfnames\fP,
\fBnumfnames\fP, and
\fBstrfnames\fP.
\fBnumcodes\fP, and
\fBstrcodes\fP.
.\"
-.SS Terminal Type
+.SS "Terminal Type"
A terminal description begins with one or more terminal names
separated by \*(``|\*('' (vertical bars).
On initialization of the curses or terminfo interfaces,
\fBsetupterm\fP(3X) copies the terminal names to the array \fBttytype\fP.
.\"
-.SS Terminfo Names
-.PP
+.SS "\fIterminfo\fP Names"
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
-#define CUR ((TERMTYPE *)(cur_term))->
-.fi
-.ft R
+.EX
+#define CUR ((TERMTYPE *)(cur_term))\->
+.EE
.PP
These symbols provide a faster method of accessing terminfo capabilities
-than using \fBtigetstr\fR(3X), etc.
+than using \fBtigetstr\fP(3X), etc.
.PP
The actual definition of \fBCUR\fP depends upon the implementation,
but each terminfo library provides these long names defined to point
.\"
.SH NOTES
The low-level terminfo interface is initialized using
-.hy 0
-\fBsetupterm\fR(3X).
-.hy
+\fB\%setupterm\fP(3X).
The upper-level curses interface uses the low-level terminfo interface,
internally.
.\"
as described in the \fBTerminfo Names\fP section.
Most, but not all, base the definition upon the \fBcur_term\fP variable.
.SH SEE ALSO
-.hy 0
-\fBcurses\fR(3X),
-\fBcurs_terminfo\fR(3X),
-\fBcurs_threads\fR(3X),
-\fBterminfo\fR(\*n).
-.hy
+\fB\%curses\fP(3X),
+\fB\%curs_terminfo\fP(3X),
+\fB\%curs_threads\fP(3X),
+\fB\%terminfo\fP(5)