X-Git-Url: https://ncurses.scripts.mit.edu/?p=ncurses.git;a=blobdiff_plain;f=man%2Fterm_variables.3x;h=0abaf0968bde50dcfcee54664e1f35c432151726;hp=4cf9a0c899213d054659d319dcab06e29e367b44;hb=5925150381bb42a4d8c7116d62c348a7b84309f3;hpb=2e5d72d6396bb38a8d1d1b3534f62e28aebaa600 diff --git a/man/term_variables.3x b/man/term_variables.3x index 4cf9a0c8..0abaf096 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,2020 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,9 +27,13 @@ .\" authorization. * .\"*************************************************************************** .\" -.\" $Id: term_variables.3x,v 1.4 2013/12/21 22:17:39 tom Exp $ +.\" $Id: term_variables.3x,v 1.12 2020/02/02 23:34:34 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 .SH NAME @@ -55,28 +60,30 @@ \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 +.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 * numcodes;\fR +\fBNCURSES_CONST char * const boolfnames[];\fR .br -\fBNCURSES_CONST char * const * numfnames;\fR +\fBNCURSES_CONST char * const boolnames[];\fR +.sp +\fBNCURSES_CONST char * const numcodes[];\fR .br -\fBNCURSES_CONST char * const * numnames;\fR +\fBNCURSES_CONST char * const numfnames[];\fR .br -\fBNCURSES_CONST char * const * strcodes;\fR +\fBNCURSES_CONST char * const numnames[];\fR +.sp +\fBNCURSES_CONST char * const strcodes[];\fR .br -\fBNCURSES_CONST char * const * strfnames;\fR +\fBNCURSES_CONST char * const strfnames[];\fR .br -\fBNCURSES_CONST char * const * strnames;\fR -.br -\fBchar ttytype[];\fR +\fBNCURSES_CONST char * const strnames[];\fR .br .fi .SH DESCRIPTION @@ -95,7 +102,7 @@ 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. @@ -108,31 +115,56 @@ 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. +or \fBsetupterm\fP(3X) to reuse in \fBset_term\fP. .SS Terminfo Names 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 \*(``l\*('' (ell) 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. +\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 Terminfo Names +.PP +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 +.nf +.ft CW +#define CUR ((TERMTYPE *)(cur_term))-> +.fi +.ft R +.PP +These symbols provide a faster method of accessing terminfo capabilities +than using \fBtigetstr\fR(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 @@ -140,6 +172,7 @@ The low-level terminfo interface is initialized using .hy 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,6 +181,10 @@ 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),