X-Git-Url: https://ncurses.scripts.mit.edu/?a=blobdiff_plain;f=man%2Fterm_variables.3x;h=0abaf0968bde50dcfcee54664e1f35c432151726;hb=HEAD;hp=4cf9a0c899213d054659d319dcab06e29e367b44;hpb=2e5d72d6396bb38a8d1d1b3534f62e28aebaa600;p=ncurses.git diff --git a/man/term_variables.3x b/man/term_variables.3x index 4cf9a0c8..6aee63f4 100644 --- a/man/term_variables.3x +++ b/man/term_variables.3x @@ -1,5 +1,6 @@ .\"*************************************************************************** -.\" Copyright (c) 2011,2013 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 * @@ -26,58 +27,58 @@ .\" authorization. * .\"*************************************************************************** .\" -.\" $Id: term_variables.3x,v 1.4 2013/12/21 22:17:39 tom Exp $ -.TH term_variables 3X "" -.ds n 5 -.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 \fR -.br -\fB#include \fR -.PP -\fBchtype acs_map[];\fR -.br -\fBNCURSES_CONST char * const * boolcodes;\fR -.br -\fBNCURSES_CONST char * const * boolfnames;\fR -.br -\fBNCURSES_CONST char * const * boolnames;\fR -.br -\fBTERMINAL * cur_term;\fR -.br -\fBNCURSES_CONST char * const * numcodes;\fR -.br -\fBNCURSES_CONST char * const * numfnames;\fR -.br -\fBNCURSES_CONST char * const * numnames;\fR -.br -\fBNCURSES_CONST char * const * strcodes;\fR -.br -\fBNCURSES_CONST char * const * strfnames;\fR -.br -\fBNCURSES_CONST char * const * strnames;\fR -.br -\fBchar ttytype[];\fR -.br +\fB#include +\fB#include +.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 @@ -85,21 +86,21 @@ 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)) +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. .PP The encoding of the information in this array has changed periodically. -Application developers need only know that it is used for the "ACS_" +Application developers need only know that it is used for the \*(``ACS_\*('' constants in . .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) @@ -108,38 +109,59 @@ and \fBdelscreen\fP(3X). 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 -or \fBsetupterm\fP to reuse in \fBset_term\fP. -.SS Terminfo Names +or \fBsetupterm\fP(3X) to reuse in \fBset_term\fP. +.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. These are available to other applications, -though the hash-tables are not available. +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: -boolfnames -numfnames -strfnames +The long terminfo capability names use a \*(``f\*('' (eff) in their names: +\fBboolfnames\fP, +\fBnumfnames\fP, and +\fBstrfnames\fP. .PP These are the short names for terminfo capabilities: -boolnames, -numnames, and -strnames. +\fBboolnames\fP, +\fBnumnames\fP, and +\fBstrnames\fP. .PP These are the corresponding names used for termcap descriptions: -boolcodes, -numcodes, and -strcodes. -.SS Terminal Type +\fBboolcodes\fP, +\fBnumcodes\fP, and +\fBstrcodes\fP. +.\" +.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 copies the terminal name to the array \fBttytype\fP. +\fBsetupterm\fP(3X) copies the terminal names to the array \fBttytype\fP. +.\" +.SS "\fIterminfo\fP Names" +In addition to the variables, \fB\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 +.EX +#define CUR ((TERMTYPE *)(cur_term))\-> +.EE +.PP +These symbols provide a faster method of accessing terminfo capabilities +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 +into the current terminal description loaded into memory. +.\" .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. +.\" .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, @@ -148,10 +170,12 @@ since other comparable low-level information is omitted by X/Open). Other implementations may have comparable variables. Some implementations provide the variables in their libraries, but omit them from the header files. +.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. .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)