-<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<!--
* t
****************************************************************************
- * Copyright (c) 1998-2012,2013 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-2013,2014 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 *
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: ncurses.3x,v 1.111 2013/03/02 22:15:25 tom Exp @
+ * @Id: ncurses.3x,v 1.119 2014/08/09 20:54:30 tom Exp @
-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
+<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
+<meta name="generator" content="Manpage converted by man2html - see http://invisible-island.net/scripts/readme.html#others_scripts">
<TITLE>ncurses 3x</TITLE>
<link rev=made href="mailto:bug-ncurses@gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<H1>ncurses 3x</H1>
<HR>
<PRE>
-<!-- Manpage converted by man2html 3.0.1 -->
<STRONG><A HREF="ncurses.3x.html">ncurses(3x)</A></STRONG> <STRONG><A HREF="ncurses.3x.html">ncurses(3x)</A></STRONG>
</PRE>
-<H2>NAME</H2><PRE>
+<H2><a name="h2-NAME">NAME</a></H2><PRE>
<STRONG>ncurses</STRONG> - CRT screen handling and optimization package
</PRE>
-<H2>SYNOPSIS</H2><PRE>
+<H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
<STRONG>#include</STRONG> <STRONG><curses.h></STRONG>
</PRE>
-<H2>DESCRIPTION</H2><PRE>
+<H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
The <STRONG>ncurses</STRONG> library routines give the user a terminal-
independent method of updating character screens with rea-
- sonable optimization. This implementation is ``new
- curses'' (ncurses) and is the approved replacement for
- 4.4BSD classic curses, which has been discontinued. This
- describes <STRONG>ncurses</STRONG> version 5.9 (patch 20130309).
+ sonable optimization. This implementation is "new curses"
+ (ncurses) and is the approved replacement for 4.4BSD clas-
+ sic curses, which has been discontinued. This describes
+ <STRONG>ncurses</STRONG> version 5.9 (patch 20150215).
The <STRONG>ncurses</STRONG> library emulates the curses library of System
V Release 4 UNIX, and XPG4 (X/Open Portability Guide)
clearing and redrawing a screen containing garbage. The
<STRONG>curscr</STRONG> can be used in only a few routines.
- <STRONG>Routine</STRONG> <STRONG>and</STRONG> <STRONG>Argument</STRONG> <STRONG>Names</STRONG>
+
+</PRE>
+<H3><a name="h3-Routine-and-Argument-Names">Routine and Argument Names</a></H3><PRE>
Many <STRONG>curses</STRONG> routines have two or more versions. The rou-
tines prefixed with <STRONG>w</STRONG> require a window argument. The rou-
tines prefixed with <STRONG>p</STRONG> require a pad argument. Those with-
ants: a "_w" is inserted into the name. For
example, <STRONG>waddch</STRONG> becomes <STRONG>wadd_wch</STRONG>.
- <STRONG>Routine</STRONG> <STRONG>Name</STRONG> <STRONG>Index</STRONG>
+
+</PRE>
+<H3><a name="h3-Routine-Name-Index">Routine Name Index</a></H3><PRE>
The following table lists each <STRONG>curses</STRONG> routine and the name
of the manual page on which it is described. Routines
flagged with `*' are ncurses-specific, not described by
</PRE>
-<H2>RETURN VALUE</H2><PRE>
+<H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
Routines that return an integer return <STRONG>ERR</STRONG> upon failure
and an integer value other than <STRONG>ERR</STRONG> upon successful com-
pletion, unless otherwise noted in the routine descrip-
</PRE>
-<H2>ENVIRONMENT</H2><PRE>
+<H2><a name="h2-ENVIRONMENT">ENVIRONMENT</a></H2><PRE>
The following environment symbols are useful for customiz-
ing the runtime behavior of the <STRONG>ncurses</STRONG> library. The most
important ones have been already discussed in detail.
- BAUDRATE
- The debugging library checks this environment vari-
- able when the application has redirected output to a
- file. The variable's numeric value is used for the
- baudrate. If no value is found, <STRONG>ncurses</STRONG> uses 9600.
- This allows testers to construct repeatable test-
- cases that take into account costs that depend on
- baudrate.
-
CC When set, change occurrences of the command_character
(i.e., the <STRONG>cmdch</STRONG> capability) of the loaded terminfo
entries to the value of this variable. Very few ter-
ignores it if it does not happen to be a single char-
acter.
+ BAUDRATE
+ The debugging library checks this environment vari-
+ able when the application has redirected output to a
+ file. The variable's numeric value is used for the
+ baudrate. If no value is found, <STRONG>ncurses</STRONG> uses 9600.
+ This allows testers to construct repeatable test-
+ cases that take into account costs that depend on
+ baudrate.
+
COLUMNS
Specify the width of the screen in characters.
Applications running in a windowing environment usu-
tive value from zero to the terminfo <STRONG>max_colors</STRONG> value
is allowed.
+ NCURSES_CONSOLE2
+ This applies only to the MinGW port of ncurses.
+
+ The <STRONG>Console2</STRONG> program's handling of the Microsoft Con-
+ sole API call <STRONG>CreateConsoleScreenBuffer</STRONG> is defective.
+ Applications which use this will hang. However, it
+ is possible to simulate the action of this call by
+ mapping coordinates, explicitly saving and restoring
+ the original screen contents. Setting the environ-
+ ment variable <STRONG>NCGDB</STRONG> has the same effect.
+
NCURSES_GPM_TERMS
This applies only to ncurses configured to use the
GPM interface.
variable to disable the feature. You can also adjust
your <STRONG>stty</STRONG> settings to avoid the problem.
- NCURSES_NO_MAGIC_COOKIES
+ NCURSES_NO_MAGIC_COOKIE
Some terminals use a magic-cookie feature which
requires special handling to make highlighting and
other video attributes display properly. You can
TERM Denotes your terminal type. Each terminal type is
distinct, though many are similar.
+ <STRONG>TERM</STRONG> is commonly set by terminal emulators to help
+ applications find a workable terminal description.
+ Some of those choose a popular approximation, e.g.,
+ "ansi", "vt100", "xterm" rather than an exact fit.
+ Not infrequently, your application will have problems
+ with that approach, e.g., incorrect function-key def-
+ initions.
+
+ If you set <STRONG>TERM</STRONG> in your environment, it has no effect
+ on the operation of the terminal emulator. It only
+ affects the way applications work within the termi-
+ nal. Likewise, as a general rule (<STRONG>xterm</STRONG> being a rare
+ exception), terminal emulators which allow you to
+ specify <STRONG>TERM</STRONG> as a parameter or configuration value do
+ not change their behavior to match that setting.
+
TERMCAP
If the <STRONG>ncurses</STRONG> library has been configured with <EM>term-</EM>
<EM>cap</EM> support, <STRONG>ncurses</STRONG> will check for a terminal's
</PRE>
-<H2>ALTERNATE CONFIGURATIONS</H2><PRE>
+<H2><a name="h2-ALTERNATE-CONFIGURATIONS">ALTERNATE CONFIGURATIONS</a></H2><PRE>
Several different configurations are possible, depending
on the configure script options used when building
<STRONG>ncurses</STRONG>. There are a few main options whose effects are
applications to be built using either library from
the same set of headers.
+ --with-pthread
+ The configure script renames the library. All of the
+ library names have a "t" appended to them (before any
+ "w" added by <STRONG>--enable-widec</STRONG>).
+
+ The global variables such as <STRONG>LINES</STRONG> are replaced by
+ macros to allow read-only access. At the same time,
+ setter-functions are provided to set these values.
+ Some applications (very few) may require changes to
+ work with this convention.
+
--with-shared
--with-normal
</PRE>
-<H2>FILES</H2><PRE>
+<H2><a name="h2-FILES">FILES</a></H2><PRE>
/usr/share/tabset
directory containing initialization files for the
terminal capability database /usr/share/terminfo ter-
</PRE>
-<H2>SEE ALSO</H2><PRE>
+<H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
<STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG> and related pages whose names begin "curs_"
for detailed routine descriptions.
<STRONG><A HREF="curs_variables.3x.html">curs_variables(3x)</A></STRONG>
</PRE>
-<H2>EXTENSIONS</H2><PRE>
+<H2><a name="h2-EXTENSIONS">EXTENSIONS</a></H2><PRE>
The <STRONG>ncurses</STRONG> library can be compiled with an option
(<STRONG>-DUSE_GETCAP</STRONG>) that falls back to the old-style /etc/term-
cap file if the terminal setup code cannot find a terminfo
</PRE>
-<H2>PORTABILITY</H2><PRE>
+<H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
The <STRONG>ncurses</STRONG> library is intended to be BASE-level confor-
mant with XSI Curses. The EXTENDED XSI Curses functional-
ity (including color support) is supported.
</PRE>
-<H2>NOTES</H2><PRE>
+<H2><a name="h2-NOTES">NOTES</a></H2><PRE>
The header file <STRONG><curses.h></STRONG> automatically includes the
header files <STRONG><stdio.h></STRONG> and <STRONG><unctrl.h></STRONG>.
</PRE>
-<H2>AUTHORS</H2><PRE>
+<H2><a name="h2-AUTHORS">AUTHORS</a></H2><PRE>
Zeyd M. Ben-Halim, Eric S. Raymond, Thomas E. Dickey.
Based on pcurses by Pavel Curtis.
<STRONG><A HREF="ncurses.3x.html">ncurses(3x)</A></STRONG>
</PRE>
-<HR>
-<ADDRESS>
-Man(1) output converted with
-<a href="http://www.oac.uci.edu/indiv/ehood/man2html.html">man2html</a>
-</ADDRESS>
+<div class="nav">
+<ul>
+<li><a href="#h2-NAME">NAME</a></li>
+<li><a href="#h2-SYNOPSIS">SYNOPSIS</a></li>
+<li><a href="#h2-DESCRIPTION">DESCRIPTION</a>
+<ul>
+<li><a href="#h3-Routine-and-Argument-Names">Routine and Argument Names</a></li>
+<li><a href="#h3-Routine-Name-Index">Routine Name Index</a></li>
+</ul>
+</li>
+<li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li>
+<li><a href="#h2-ENVIRONMENT">ENVIRONMENT</a></li>
+<li><a href="#h2-ALTERNATE-CONFIGURATIONS">ALTERNATE CONFIGURATIONS</a></li>
+<li><a href="#h2-FILES">FILES</a></li>
+<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
+<li><a href="#h2-EXTENSIONS">EXTENSIONS</a></li>
+<li><a href="#h2-PORTABILITY">PORTABILITY</a></li>
+<li><a href="#h2-NOTES">NOTES</a></li>
+<li><a href="#h2-AUTHORS">AUTHORS</a></li>
+</ul>
+</div>
</BODY>
</HTML>