.\"***************************************************************************
-.\" Copyright (c) 2010-2018,2019 Free Software Foundation, Inc. *
+.\" Copyright 2018-2020,2021 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: curs_variables.3x,v 1.12 2019/02/16 23:43:23 tom Exp $
+.\" $Id: curs_variables.3x,v 1.17 2021/12/25 21:49:32 tom Exp $
.TH curs_variables 3X ""
.ie \n(.g .ds `` \(lq
.el .ds `` ``
.na
.hy 0
.SH NAME
-\fBCOLORS\fR,
-\fBCOLOR_PAIRS\fR,
-\fBCOLS\fR,
-\fBESCDELAY\fR,
-\fBLINES\fR,
-\fBTABSIZE\fR,
-\fBcurscr\fR,
-\fBnewscr\fR,
-\fBstdscr\fR
-\- \fBcurses\fR global variables
+\fBCOLORS\fP,
+\fBCOLOR_PAIRS\fP,
+\fBCOLS\fP,
+\fBESCDELAY\fP,
+\fBLINES\fP,
+\fBTABSIZE\fP,
+\fBcurscr\fP,
+\fBnewscr\fP,
+\fBstdscr\fP
+\- \fBcurses\fP global variables
.ad
.hy
.SH SYNOPSIS
.nf
-\fB#include <curses.h>\fR
+\fB#include <curses.h>\fP
.PP
-\fBint COLOR_PAIRS;\fR
+\fBint COLOR_PAIRS;\fP
.br
-\fBint COLORS;\fR
+\fBint COLORS;\fP
.br
-\fBint COLS;\fR
+\fBint COLS;\fP
.br
-\fBint ESCDELAY;\fR
+\fBint ESCDELAY;\fP
.br
-\fBint LINES;\fR
+\fBint LINES;\fP
.br
-\fBint TABSIZE;\fR
+\fBint TABSIZE;\fP
.br
-\fBWINDOW * curscr;\fR
+\fBWINDOW * curscr;\fP
.br
-\fBWINDOW * newscr;\fR
+\fBWINDOW * newscr;\fP
.br
-\fBWINDOW * stdscr;\fR
+\fBWINDOW * stdscr;\fP
.fi
.SH DESCRIPTION
This page summarizes variables provided by the \fBcurses\fP library.
A more complete description is given in the \fBcurses\fP(3X) manual page.
.PP
Depending on the configuration, these may be actual variables,
-or macros (see \fBcurs_threads\fR(3X) and \fBcurs_opaque\fR(3X))
+or macros (see \fBcurs_threads\fP(3X) and \fBcurs_opaque\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 TABSIZE
This variable holds the number of columns used by the \fIcurses\fP library
when converting a tab character to spaces as it adds the tab to a window
-(see curs_addch(3X).
+(see \fBcurs_addch\fP(3X).
.SS The Current Screen
This implementation of curses uses a special window \fBcurscr\fP to
record its updates to the terminal screen.
.PP
This is referred to as the \*(``physical screen\*('' in the
-\fBcurs_refresh\fR(3X) and
-\fBcurs_outopts\fR(3X) manual pages.
+\fBcurs_refresh\fP(3X) and
+\fBcurs_outopts\fP(3X) manual pages.
.SS The New Screen
This implementation of curses uses a special window \fBnewscr\fP to
hold updates to the terminal screen before applying them to \fBcurscr\fP.
.PP
This is referred to as the \*(``virtual screen\*('' in the
-\fBcurs_kernel\fR(3X),
-\fBcurs_refresh\fR(3X) and
-\fBcurs_outopts\fR(3X) manual pages.
+\fBcurs_kernel\fP(3X),
+\fBcurs_refresh\fP(3X) and
+\fBcurs_outopts\fP(3X) manual pages.
.SS The Standard Screen
Upon initializing curses,
a default window called \fBstdscr\fP,
which is the size of the terminal screen, is created.
Many curses functions use this window.
.SH NOTES
-The curses library is initialized using either \fBinitscr\fR(3X),
-or \fBnewterm\fR(3X).
+The curses library is initialized using either \fBinitscr\fP(3X),
+or \fBnewterm\fP(3X).
.PP
If \fBcurses\fP is configured to use separate curses/terminfo libraries,
most of these variables reside in the curses library.
.bP
This implementation uses the current value of \fBTABSIZE\fP only for
updating the virtual screen.
-It uses the terminal description's \fBinit_tabs\fP capability for
-computing tab stops on the physical screen.
+It uses the terminal description's \fBit\fP (\fBinit_tabs\fP) capability for
+computing hardware tabs (i.e., tab stops on the physical screen).
.bP
Other implementations differ.
For instance, NetBSD curses allows \fBTABSIZE\fP to be set through
an environment variable.
This implementation does not.
+.IP
+NetBSD curses does not support hardware tabs;
+it uses the \fBinit_tabs\fP capability and the \fBTABSIZE\fP variable
+only for updating the virtual screen.
.PP
\fBESCDELAY\fP is an extension in AIX curses:
.bP
Likewise, most users have either decided to override the value,
or rely upon its default value.
.SH SEE ALSO
-\fBcurses\fR(3X),
-\fBcurs_opaque\fR(3X),
-\fBcurs_terminfo\fR(3X),
-\fBcurs_threads\fR(3X),
-\fBterm_variables\fR(3X),
-\fBterminfo\fR(\*n).
+\fBcurses\fP(3X),
+\fBcurs_opaque\fP(3X),
+\fBcurs_terminfo\fP(3X),
+\fBcurs_threads\fP(3X),
+\fBterm_variables\fP(3X),
+\fBterminfo\fP(\*n).