+</PRE><H3><a name="h3-TABSIZE">TABSIZE</a></H3><PRE>
+ The <EM>curses</EM> library converts a tab character to this number of spaces as
+ it adds a tab to a window; see <STRONG><A HREF="curs_addch.3x.html">curs_addch(3x)</A></STRONG>.
+
+
+</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
+ Either <STRONG><A HREF="curs_initscr.3x.html">initscr(3x)</A></STRONG> or <STRONG><A HREF="curs_initscr.3x.html">newterm(3x)</A></STRONG> initializes <EM>curses</EM>.
+
+ If <EM>ncurses</EM> is configured to provide separate <EM>curses</EM> and <EM>tinfo</EM>
+ libraries, most of these variables reside in the former.
+
+
+</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+ The X/Open Curses standard documents all of the foregoing types and
+ symbols except for <STRONG>newscr</STRONG>, <STRONG>TABSIZE</STRONG>, and <STRONG>ESCDELAY</STRONG>.
+
+ X/Open Curses describes <STRONG>curscr</STRONG> only as "an internal data structure";
+ SVr4 gave more details, noting its use "for certain low-level
+ operations like clearing and redrawing a screen containing garbage".
+ Neither specified its interaction with the rest of the interface beyond
+ use as an argument to <STRONG><A HREF="curs_outopts.3x.html">clearok(3x)</A></STRONG> and <STRONG><A HREF="curs_refresh.3x.html">wrefresh(3x)</A></STRONG>.
+
+ <STRONG>newscr</STRONG> is a feature of SVr4 <EM>curses</EM>. When refreshing the screen, it is
+ used as a working area for combining the standard window <STRONG>stdscr</STRONG> with
+ any others the application may have created with <STRONG><A HREF="curs_window.3x.html">newwin(3x)</A></STRONG>. When the
+ update of <STRONG>newscr</STRONG> is complete, <EM>curses</EM> modifies <STRONG>curscr</STRONG> to match <STRONG>newscr</STRONG>.
+
+ <STRONG>TABSIZE</STRONG> is a feature of SVr4 <EM>curses</EM>.
+
+ <STRONG>o</STRONG> SVr4 initially sets <STRONG>TABSIZE</STRONG> from the terminal description's
+ <STRONG>init_tabs</STRONG> capability. After that, it can be altered by
+ applications using SVr4 <EM>curses</EM>.
+
+ <STRONG>o</STRONG> SVr4 <EM>curses</EM> uses the value of <STRONG>TABSIZE</STRONG> to compute the position of
+ tab stops when updating both the virtual screen with <STRONG><A HREF="curs_addch.3x.html">addch(3x)</A></STRONG> and
+ the physical screen with <STRONG><A HREF="curs_terminfo.3x.html">mvcur(3x)</A></STRONG>.
+
+ <STRONG>o</STRONG> <EM>ncurses</EM> uses the value of <STRONG>TABSIZE</STRONG> only to update the virtual
+ screen. It uses the terminal description's "<STRONG>it</STRONG>" (<STRONG>init_tabs</STRONG>)
+ capability for computing hardware tabs (that is, tab stops on the
+ physical screen).
+
+ <STRONG>o</STRONG> Other implementations differ. For instance, NetBSD <EM>curses</EM> allows
+ <STRONG>TABSIZE</STRONG> to be set through an environment variable. <EM>ncurses</EM> does
+ not.
+
+ NetBSD <EM>curses</EM> does not support hardware tabs; it uses the <STRONG>init_tabs</STRONG>
+ capability and the <STRONG>TABSIZE</STRONG> variable only for updating the virtual
+ screen.
+
+ <STRONG>ESCDELAY</STRONG> is a feature of AIX <EM>curses</EM>.
+
+ <STRONG>o</STRONG> In AIX, the units for <STRONG>ESCDELAY</STRONG> are <EM>fifths</EM> of milliseconds.
+
+ <STRONG>o</STRONG> The default value for AIX's <STRONG>ESCDELAY</STRONG> equals 0.1 seconds.
+
+ <STRONG>o</STRONG> AIX also enforces a limit of 10,000 seconds for <STRONG>ESCDELAY</STRONG>; <EM>ncurses</EM>
+ does not enforce any upper limit.
+
+ <EM>ncurses</EM> has long used <STRONG>ESCDELAY</STRONG> with units of milliseconds, making it
+ impossible to be completely compatible with AIX. Consequently, most
+ users have decided either to override the value, or to rely upon its
+ default.
+
+
+</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
+ <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_color.3x.html">curs_color(3x)</A></STRONG>, <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>, <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>,
+ <STRONG><A HREF="curs_threads.3x.html">curs_threads(3x)</A></STRONG>, <STRONG><A HREF="term_variables.3x.html">term_variables(3x)</A></STRONG>, <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>
+
+ [UAX #29] "Unicode Standard Annex #29: Unicode Text Segmentation";
+ <https://unicode.org/reports/tr29/>
+
+
+
+ncurses 6.5 2024-04-13 <STRONG><A HREF="curs_variables.3x.html">curs_variables(3x)</A></STRONG>