+ updated llib-* files.
+ build-fixes for ncurses library "test_progs" rule.
+ use alternate workaround for gcc 5.x feature (adapted from patch by
Mikhail Peselnik).
+ add status line to tmux via xterm+sl (patch by Nicholas Marriott).
+ fixes for st 0.5 from testing with tack -TD
+ review/improve several manual pages to break up wall-of-text:
curs_add_wch.3x, curs_attr.3x, curs_bkgd.3x, curs_bkgrnd.3x,
curs_getcchar.3x, curs_getch.3x, curs_kernel.3x, curs_mouse.3x,
curs_outopts.3x, curs_overlay.3x, curs_pad.3x, curs_termattrs.3x
curs_trace.3x, and curs_window.3x
-- B O D Y --
-- --
------------------------------------------------------------------------------
--- Copyright (c) 2000-2011,2014 Free Software Foundation, Inc. --
+-- Copyright (c) 2000-2014,2015 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 --
------------------------------------------------------------------------------
-- Author: Eugene V. Melaragno <aldomel@ix.netcom.com> 2000
-- Version Control
--- $Revision: 1.6 $
--- $Date: 2014/09/13 19:10:18 $
+-- $Revision: 1.7 $
+-- $Date: 2015/07/25 23:43:19 $
-- Binding Version 01.00
------------------------------------------------------------------------------
with ncurses2.util; use ncurses2.util;
Add (Str => "This test shows the behavior of wnoutrefresh() with " &
"respect to");
Add (Ch => newl);
- Add (Str => "the shared region of two overlapping windows A and B. "&
+ Add (Str => "the shared region of two overlapping windows A and B. " &
"The cross");
Add (Ch => newl);
Add (Str => "pattern in each window does not overlap the other.");
-- sale, use or other dealings in this Software without prior written --
-- authorization. --
-------------------------------------------------------------------------------
--- $Id: INSTALL,v 1.186 2015/04/12 14:41:20 tom Exp $
+-- $Id: INSTALL,v 1.187 2015/07/16 23:59:08 tom Exp $
---------------------------------------------------------------------
How to install Ncurses/Terminfo on your system
---------------------------------------------------------------------
you may encounter when building a system with different versions of
ncurses:
+ 6.0 (??? ??, 2015)
+
+ 5.9 (Apr 04, 2011)
5.8 (Feb 26, 2011)
Interface changes:
-- sale, use or other dealings in this Software without prior written --
-- authorization. --
-------------------------------------------------------------------------------
--- $Id: NEWS,v 1.2461 2015/07/19 23:55:55 tom Exp $
+-- $Id: NEWS,v 1.2470 2015/07/25 23:04:43 tom Exp $
-------------------------------------------------------------------------------
This is a log of changes that ncurses has gone through since Zeyd started
Changes through 1.9.9e did not credit all contributions;
it is not possible to add this information.
+20150725
+ + updated llib-* files.
+ + build-fixes for ncurses library "test_progs" rule.
+ + use alternate workaround for gcc 5.x feature (adapted from patch by
+ Mikhail Peselnik).
+ + add status line to tmux via xterm+sl (patch by Nicholas Marriott).
+ + fixes for st 0.5 from testing with tack -TD
+ + review/improve several manual pages to break up wall-of-text:
+ curs_add_wch.3x, curs_attr.3x, curs_bkgd.3x, curs_bkgrnd.3x,
+ curs_getcchar.3x, curs_getch.3x, curs_kernel.3x, curs_mouse.3x,
+ curs_outopts.3x, curs_overlay.3x, curs_pad.3x, curs_termattrs.3x
+ curs_trace.3x, and curs_window.3x
+
20150719
+ correct an old logic error for %A and %O in tparm (report by "zreed").
+ improve documentation for signal handlers by adding section in the
together initialization- or reset-strings. The problem dates to
1.9.7a, but was overlooked until changes in -Wlogical-op warnings for
gcc 4.8 (report by David Binderman).
- + updated CF_GCC_WARNINGS to documented options for gcc 4.9.0, adding
- checks for -Wextra, -Wignored-qualifiers and -Wlogical-op
+ updated CF_GCC_WARNINGS to documented options for gcc 4.9.0, moving
checks for -Wextra and -Wdeclaration-after-statement into the macro,
and adding checks for -Wignored-qualifiers, -Wlogical-op and
-5:0:9 6.0 20150719
+5:0:9 6.0 20150725
# use or other dealings in this Software without prior written #
# authorization. #
##############################################################################
-# $Id: dist.mk,v 1.1061 2015/07/19 23:55:55 tom Exp $
+# $Id: dist.mk,v 1.1062 2015/07/20 22:28:06 tom Exp $
# Makefile for creating ncurses distributions.
#
# This only needs to be used directly as a makefile by developers, but
# These define the major/minor/patch versions of ncurses.
NCURSES_MAJOR = 6
NCURSES_MINOR = 0
-NCURSES_PATCH = 20150719
+NCURSES_PATCH = 20150725
# We don't append the patch to the version, since this only applies to releases
VERSION = $(NCURSES_MAJOR).$(NCURSES_MINOR)
<H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
<STRONG><A HREF="infocmp.1m.html">infocmp(1m)</A></STRONG>, <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>
- This describes <STRONG>ncurses</STRONG> version 6.0 (patch 20150718).
+ This describes <STRONG>ncurses</STRONG> version 6.0 (patch 20150725).
</PRE>
<H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
<STRONG><A HREF="tput.1.html">tput(1)</A></STRONG>, <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>
- This describes <STRONG>ncurses</STRONG> version 6.0 (patch 20150718).
+ This describes <STRONG>ncurses</STRONG> version 6.0 (patch 20150725).
<!--
****************************************************************************
- * Copyright (c) 2001-2011,2012 Free Software Foundation, Inc. *
+ * Copyright (c) 2001-2012,2015 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: curs_add_wch.3x,v 1.15 2012/11/03 23:03:59 tom Exp @
+ * @Id: curs_add_wch.3x,v 1.16 2015/07/20 23:44:56 tom Exp @
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
</PRE>
<H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+
+</PRE>
+<H3><a name="h3-add_wch">add_wch</a></H3><PRE>
The <STRONG>add_wch</STRONG>, <STRONG>wadd_wch</STRONG>, <STRONG>mvadd_wch</STRONG>, and <STRONG>mvwadd_wch</STRONG> functions
put the complex character <EM>wch</EM> into the given window at its
current position, which is then advanced. These functions
backspace or other control character, the window is
updated and the cursor moves as if <STRONG>addch</STRONG> were called.
+
+</PRE>
+<H3><a name="h3-echo_wchar">echo_wchar</a></H3><PRE>
The <STRONG>echo_wchar</STRONG> function is functionally equivalent to a
call to <STRONG>add_wch</STRONG> followed by a call to <STRONG>refresh</STRONG>. Similarly,
the <STRONG>wecho_wchar</STRONG> is functionally equivalent to a call to
WACS_BLOCK 0x25ae # solid square block
WACS_BOARD 0x2592 # board of squares
WACS_BTEE 0x2534 + bottom tee
+
WACS_BULLET 0x00b7 o bullet
WACS_CKBOARD 0x2592 : checker board (stipple)
-
WACS_DARROW 0x2193 v arrow pointing down
WACS_DEGREE 0x00b0 ' degree symbol
WACS_DIAMOND 0x25c6 + diamond
<li><a href="#h2-SYNOPSIS">SYNOPSIS</a></li>
<li><a href="#h2-DESCRIPTION">DESCRIPTION</a>
<ul>
+<li><a href="#h3-add_wch">add_wch</a></li>
+<li><a href="#h3-echo_wchar">echo_wchar</a></li>
<li><a href="#h3-Line-Graphics">Line Graphics</a></li>
</ul>
</li>
<!--
* t
****************************************************************************
- * Copyright (c) 1998-2010,2013 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-2013,2015 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: curs_attr.3x,v 1.39 2013/09/21 20:39:49 Sven.Joachim Exp @
+ * @Id: curs_attr.3x,v 1.40 2015/07/20 23:35:38 tom Exp @
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
</PRE>
<H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
<STRONG>#include</STRONG> <STRONG><curses.h></STRONG>
- <STRONG>int</STRONG> <STRONG>attroff(int</STRONG> <STRONG>attrs);</STRONG>
- <STRONG>int</STRONG> <STRONG>wattroff(WINDOW</STRONG> <STRONG>*win,</STRONG> <STRONG>int</STRONG> <STRONG>attrs);</STRONG>
- <STRONG>int</STRONG> <STRONG>attron(int</STRONG> <STRONG>attrs);</STRONG>
- <STRONG>int</STRONG> <STRONG>wattron(WINDOW</STRONG> <STRONG>*win,</STRONG> <STRONG>int</STRONG> <STRONG>attrs);</STRONG>
- <STRONG>int</STRONG> <STRONG>attrset(int</STRONG> <STRONG>attrs);</STRONG>
- <STRONG>int</STRONG> <STRONG>wattrset(WINDOW</STRONG> <STRONG>*win,</STRONG> <STRONG>int</STRONG> <STRONG>attrs);</STRONG>
- <STRONG>int</STRONG> <STRONG>color_set(short</STRONG> <STRONG>color_pair_number,</STRONG> <STRONG>void*</STRONG> <STRONG>opts);</STRONG>
- <STRONG>int</STRONG> <STRONG>wcolor_set(WINDOW</STRONG> <STRONG>*win,</STRONG> <STRONG>short</STRONG> <STRONG>color_pair_number,</STRONG>
- <STRONG>void*</STRONG> <STRONG>opts);</STRONG>
+ <STRONG>int</STRONG> <STRONG>attroff(int</STRONG> <EM>attrs);</EM>
+ <STRONG>int</STRONG> <STRONG>wattroff(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>attrs</EM><STRONG>);</STRONG>
+ <STRONG>int</STRONG> <STRONG>attron(int</STRONG> <EM>attrs</EM><STRONG>);</STRONG>
+ <STRONG>int</STRONG> <STRONG>wattron(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>attrs</EM><STRONG>);</STRONG>
+ <STRONG>int</STRONG> <STRONG>attrset(int</STRONG> <EM>attrs</EM><STRONG>);</STRONG>
+ <STRONG>int</STRONG> <STRONG>wattrset(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>attrs</EM><STRONG>);</STRONG>
+ <STRONG>int</STRONG> <STRONG>color_set(short</STRONG> <EM>color</EM><STRONG>_</STRONG><EM>pair</EM><STRONG>_</STRONG><EM>number</EM><STRONG>,</STRONG> <STRONG>void*</STRONG> <EM>opts</EM><STRONG>);</STRONG>
+ <STRONG>int</STRONG> <STRONG>wcolor_set(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>short</STRONG> <EM>color</EM><STRONG>_</STRONG><EM>pair</EM><STRONG>_</STRONG><EM>number</EM><STRONG>,</STRONG>
+ <STRONG>void*</STRONG> <EM>opts);</EM>
<STRONG>int</STRONG> <STRONG>standend(void);</STRONG>
- <STRONG>int</STRONG> <STRONG>wstandend(WINDOW</STRONG> <STRONG>*win);</STRONG>
+ <STRONG>int</STRONG> <STRONG>wstandend(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>);</STRONG>
<STRONG>int</STRONG> <STRONG>standout(void);</STRONG>
- <STRONG>int</STRONG> <STRONG>wstandout(WINDOW</STRONG> <STRONG>*win);</STRONG>
- <STRONG>int</STRONG> <STRONG>attr_get(attr_t</STRONG> <STRONG>*attrs,</STRONG> <STRONG>short</STRONG> <STRONG>*pair,</STRONG> <STRONG>void</STRONG> <STRONG>*opts);</STRONG>
- <STRONG>int</STRONG> <STRONG>wattr_get(WINDOW</STRONG> <STRONG>*win,</STRONG> <STRONG>attr_t</STRONG> <STRONG>*attrs,</STRONG> <STRONG>short</STRONG> <STRONG>*pair,</STRONG>
- <STRONG>void</STRONG> <STRONG>*opts);</STRONG>
- <STRONG>int</STRONG> <STRONG>attr_off(attr_t</STRONG> <STRONG>attrs,</STRONG> <STRONG>void</STRONG> <STRONG>*opts);</STRONG>
- <STRONG>int</STRONG> <STRONG>wattr_off(WINDOW</STRONG> <STRONG>*win,</STRONG> <STRONG>attr_t</STRONG> <STRONG>attrs,</STRONG> <STRONG>void</STRONG> <STRONG>*opts);</STRONG>
- <STRONG>int</STRONG> <STRONG>attr_on(attr_t</STRONG> <STRONG>attrs,</STRONG> <STRONG>void</STRONG> <STRONG>*opts);</STRONG>
- <STRONG>int</STRONG> <STRONG>wattr_on(WINDOW</STRONG> <STRONG>*win,</STRONG> <STRONG>attr_t</STRONG> <STRONG>attrs,</STRONG> <STRONG>void</STRONG> <STRONG>*opts);</STRONG>
- <STRONG>int</STRONG> <STRONG>attr_set(attr_t</STRONG> <STRONG>attrs,</STRONG> <STRONG>short</STRONG> <STRONG>pair,</STRONG> <STRONG>void</STRONG> <STRONG>*opts);</STRONG>
- <STRONG>int</STRONG> <STRONG>wattr_set(WINDOW</STRONG> <STRONG>*win,</STRONG> <STRONG>attr_t</STRONG> <STRONG>attrs,</STRONG> <STRONG>short</STRONG> <STRONG>pair,</STRONG> <STRONG>void</STRONG>
- <STRONG>*opts);</STRONG>
- <STRONG>int</STRONG> <STRONG>chgat(int</STRONG> <STRONG>n,</STRONG> <STRONG>attr_t</STRONG> <STRONG>attr,</STRONG> <STRONG>short</STRONG> <STRONG>color,</STRONG>
- <STRONG>const</STRONG> <STRONG>void</STRONG> <STRONG>*opts)</STRONG>
- <STRONG>int</STRONG> <STRONG>wchgat(WINDOW</STRONG> <STRONG>*win,</STRONG> <STRONG>int</STRONG> <STRONG>n,</STRONG> <STRONG>attr_t</STRONG> <STRONG>attr,</STRONG>
- <STRONG>short</STRONG> <STRONG>color,</STRONG> <STRONG>const</STRONG> <STRONG>void</STRONG> <STRONG>*opts)</STRONG>
- <STRONG>int</STRONG> <STRONG>mvchgat(int</STRONG> <STRONG>y,</STRONG> <STRONG>int</STRONG> <STRONG>x,</STRONG> <STRONG>int</STRONG> <STRONG>n,</STRONG> <STRONG>attr_t</STRONG> <STRONG>attr,</STRONG>
- <STRONG>short</STRONG> <STRONG>color,</STRONG> <STRONG>const</STRONG> <STRONG>void</STRONG> <STRONG>*opts)</STRONG>
- <STRONG>int</STRONG> <STRONG>mvwchgat(WINDOW</STRONG> <STRONG>*win,</STRONG> <STRONG>int</STRONG> <STRONG>y,</STRONG> <STRONG>int</STRONG> <STRONG>x,</STRONG> <STRONG>int</STRONG> <STRONG>n,</STRONG>
- <STRONG>attr_t</STRONG> <STRONG>attr,</STRONG> <STRONG>short</STRONG> <STRONG>color,</STRONG> <STRONG>const</STRONG> <STRONG>void</STRONG> <STRONG>*opts)</STRONG>
+ <STRONG>int</STRONG> <STRONG>wstandout(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>);</STRONG>
+ <STRONG>int</STRONG> <STRONG>attr_get(attr_t</STRONG> <STRONG>*</STRONG><EM>attrs</EM><STRONG>,</STRONG> <STRONG>short</STRONG> <STRONG>*</STRONG><EM>pair</EM><STRONG>,</STRONG> <STRONG>void</STRONG> <STRONG>*</STRONG><EM>opts</EM><STRONG>);</STRONG>
+ <STRONG>int</STRONG> <STRONG>wattr_get(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>attr_t</STRONG> <STRONG>*</STRONG><EM>attrs</EM><STRONG>,</STRONG> <STRONG>short</STRONG> <STRONG>*</STRONG><EM>pair</EM><STRONG>,</STRONG>
+ <STRONG>void</STRONG> <STRONG>*</STRONG><EM>opts</EM><STRONG>);</STRONG>
+ <STRONG>int</STRONG> <STRONG>attr_off(attr_t</STRONG> <EM>attrs</EM><STRONG>,</STRONG> <STRONG>void</STRONG> <STRONG>*</STRONG><EM>opts</EM><STRONG>);</STRONG>
+ <STRONG>int</STRONG> <STRONG>wattr_off(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>attr_t</STRONG> <EM>attrs</EM><STRONG>,</STRONG> <STRONG>void</STRONG> <STRONG>*</STRONG><EM>opts</EM><STRONG>);</STRONG>
+ <STRONG>int</STRONG> <STRONG>attr_on(attr_t</STRONG> <EM>attrs</EM><STRONG>,</STRONG> <STRONG>void</STRONG> <STRONG>*</STRONG><EM>opts</EM><STRONG>);</STRONG>
+ <STRONG>int</STRONG> <STRONG>wattr_on(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>attr_t</STRONG> <EM>attrs</EM><STRONG>,</STRONG> <STRONG>void</STRONG> <STRONG>*</STRONG><EM>opts</EM><STRONG>);</STRONG>
+ <STRONG>int</STRONG> <STRONG>attr_set(attr_t</STRONG> <EM>attrs</EM><STRONG>,</STRONG> <STRONG>short</STRONG> <EM>pair</EM><STRONG>,</STRONG> <STRONG>void</STRONG> <STRONG>*</STRONG><EM>opts</EM><STRONG>);</STRONG>
+ <STRONG>int</STRONG> <STRONG>wattr_set(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>attr_t</STRONG> <EM>attrs</EM><STRONG>,</STRONG> <STRONG>short</STRONG> <EM>pair</EM><STRONG>,</STRONG> <STRONG>void</STRONG>
+ <STRONG>*</STRONG><EM>opts</EM><STRONG>);</STRONG>
+ <STRONG>int</STRONG> <STRONG>chgat(int</STRONG> <EM>n</EM><STRONG>,</STRONG> <STRONG>attr_t</STRONG> <EM>attr</EM><STRONG>,</STRONG> <STRONG>short</STRONG> <EM>color</EM><STRONG>,</STRONG>
+ <STRONG>const</STRONG> <STRONG>void</STRONG> <STRONG>*</STRONG><EM>opts</EM><STRONG>);</STRONG>
+ <STRONG>int</STRONG> <STRONG>wchgat(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>n</EM><STRONG>,</STRONG> <STRONG>attr_t</STRONG> <EM>attr</EM><STRONG>,</STRONG>
+ <STRONG>short</STRONG> <EM>color</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>void</STRONG> <STRONG>*</STRONG><EM>opts</EM><STRONG>);</STRONG>
+ <STRONG>int</STRONG> <STRONG>mvchgat(int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>x</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>n</EM><STRONG>,</STRONG> <STRONG>attr_t</STRONG> <EM>attr</EM><STRONG>,</STRONG>
+ <STRONG>short</STRONG> <EM>color</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>void</STRONG> <STRONG>*</STRONG><EM>opts</EM><STRONG>);</STRONG>
+ <STRONG>int</STRONG> <STRONG>mvwchgat(WINDOW</STRONG> <STRONG>*</STRONG><EM>win,</EM> <EM>int</EM> <EM>y,</EM> <EM>int</EM> <EM>x,</EM> <EM>int</EM> <EM>n,</EM>
+ <STRONG>attr_t</STRONG> <EM>attr</EM><STRONG>,</STRONG> <STRONG>short</STRONG> <EM>color</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>void</STRONG> <STRONG>*</STRONG><EM>opts</EM><STRONG>);</STRONG>
</PRE>
modifications to the graphic rendition of characters put
on the screen.
+
+</PRE>
+<H3><a name="h3-attrset">attrset</a></H3><PRE>
The routine <STRONG>attrset</STRONG> sets the current attributes of the
given window to <EM>attrs</EM>. The routine <STRONG>attroff</STRONG> turns off the
named attributes without turning any other attributes on
<STRONG><A HREF="curs_bkgd.3x.html">curs_bkgd(3x)</A></STRONG> for functions which modify the attributes
used for erasing and clearing.
- The routine <STRONG>color_set</STRONG> sets the current color of the given
- window to the foreground/background combination described
- by the color_pair_number. The parameter opts is reserved
+
+</PRE>
+<H3><a name="h3-attr_set">attr_set</a></H3><PRE>
+ The <STRONG>attrset</STRONG> routine is actually a legacy feature predating
+ SVr4 curses but kept in X/Open Curses for the same reason
+ that SVr4 curses kept it: compatbility. The routine <STRONG>at-</STRONG>
+ <STRONG>tr_set</STRONG> provides for passing a color-pair parameter.
+
+ The remaining <STRONG>attr_</STRONG>* functions operate exactly like the
+ corresponding <STRONG>attr</STRONG>* functions, except that they take argu-
+ ments of type <STRONG>attr_t</STRONG> rather than <STRONG>int</STRONG>.
+
+
+</PRE>
+<H3><a name="h3-color_set">color_set</a></H3><PRE>
+ The routine <STRONG>color_set</STRONG> sets the current color of the given
+ window to the foreground/background combination described
+ by the color_pair_number. The parameter opts is reserved
for future use, applications must supply a null pointer.
- The routine <STRONG>wattr_get</STRONG> returns the current attribute and
+
+</PRE>
+<H3><a name="h3-attr_get">attr_get</a></H3><PRE>
+ The routine <STRONG>wattr_get</STRONG> returns the current attribute and
color pair for the given window; <STRONG>attr_get</STRONG> returns the cur-
- rent attribute and color pair for <STRONG>stdscr</STRONG>. The remaining
- <STRONG>attr_</STRONG>* functions operate exactly like the corresponding
- <STRONG>attr</STRONG>* functions, except that they take arguments of type
- <STRONG>attr_t</STRONG> rather than <STRONG>int</STRONG>.
+ rent attribute and color pair for <STRONG>stdscr</STRONG>.
+
+ There is no corresponding <STRONG>attrget</STRONG> function as such in
+ X/Open Curses, although ncurses provides <STRONG>getattrs</STRONG> (see
+ <STRONG><A HREF="curs_legacy.3x.html">curs_legacy(3x)</A></STRONG>).
+
+</PRE>
+<H3><a name="h3-chgat">chgat</a></H3><PRE>
The routine <STRONG>chgat</STRONG> changes the attributes of a given number
of characters starting at the current cursor location of
<STRONG>stdscr</STRONG>. It does not update the cursor and does not per-
<H3><a name="h3-Attributes">Attributes</a></H3><PRE>
The following video attributes, defined in <STRONG><curses.h></STRONG>, can
be passed to the routines <STRONG>attron</STRONG>, <STRONG>attroff</STRONG>, and <STRONG>attrset</STRONG>, or
- OR'd with the characters passed to <STRONG>addch</STRONG>.
+ OR'd with the characters passed to <STRONG>addch</STRONG> (see curs_add-
+ <STRONG><A HREF="ch.3x.html">ch(3x)</A></STRONG>).
<EM>Name</EM> <EM>Description</EM>
------------------------------------------------------------
<STRONG>A_ALTCHARSET</STRONG> Alternate character set
<STRONG>A_ITALIC</STRONG> Italics (non-X/Open extension)
<STRONG>A_CHARTEXT</STRONG> Bit-mask to extract a character
+
<STRONG>COLOR_PAIR(</STRONG><EM>n</EM><STRONG>)</STRONG> Color-pair number <EM>n</EM>
These video attributes are supported by <STRONG>attr_on</STRONG> and relat-
<STRONG>PAIR_NUMBER(</STRONG><EM>attrs</EM>) Returns the pair number associated
with the <STRONG>COLOR_PAIR(</STRONG><EM>n</EM><STRONG>)</STRONG> attribute.
- The return values of many of these routines are not mean-
+ The return values of many of these routines are not mean-
ingful (they are implemented as macro-expanded assignments
- and simply return their argument). The SVr4 manual page
+ and simply return their argument). The SVr4 manual page
claims (falsely) that these routines always return <STRONG>1</STRONG>.
</PRE>
<H2><a name="h2-NOTES">NOTES</a></H2><PRE>
- Note that <STRONG>attroff</STRONG>, <STRONG>wattroff</STRONG>, <STRONG>attron</STRONG>, <STRONG>wattron</STRONG>, <STRONG>attrset</STRONG>,
+ Note that <STRONG>attroff</STRONG>, <STRONG>wattroff</STRONG>, <STRONG>attron</STRONG>, <STRONG>wattron</STRONG>, <STRONG>attrset</STRONG>,
<STRONG>wattrset</STRONG>, <STRONG>standend</STRONG> and <STRONG>standout</STRONG> may be macros.
- <STRONG>COLOR_PAIR</STRONG> values can only be OR'd with attributes if the
- pair number is less than 256. The alternate functions
- such as <STRONG>color_set</STRONG> can pass a color pair value directly.
- However, ncurses ABI 4 and 5 simply OR this value within
- the alternate functions. You must use ncurses ABI 6 to
+ <STRONG>COLOR_PAIR</STRONG> values can only be OR'd with attributes if the
+ pair number is less than 256. The alternate functions
+ such as <STRONG>color_set</STRONG> can pass a color pair value directly.
+ However, ncurses ABI 4 and 5 simply OR this value within
+ the alternate functions. You must use ncurses ABI 6 to
support more than 256 color pairs.
</PRE>
<H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
- These functions are supported in the XSI Curses standard,
- Issue 4. The standard defined the dedicated type for
- highlights, <STRONG>attr_t</STRONG>, which is not defined in SVr4 curses.
- The functions taking <STRONG>attr_t</STRONG> arguments are not supported
+ These functions are supported in the XSI Curses standard,
+ Issue 4. The standard defined the dedicated type for
+ highlights, <STRONG>attr_t</STRONG>, which is not defined in SVr4 curses.
+ The functions taking <STRONG>attr_t</STRONG> arguments are not supported
under SVr4.
The XSI Curses standard states that whether the tradition-
- al functions <STRONG>attron</STRONG>/<STRONG>attroff</STRONG>/<STRONG>attrset</STRONG> can manipulate at-
- tributes other than <STRONG>A_BLINK</STRONG>, <STRONG>A_BOLD</STRONG>, <STRONG>A_DIM</STRONG>, <STRONG>A_REVERSE</STRONG>,
- <STRONG>A_STANDOUT</STRONG>, or <STRONG>A_UNDERLINE</STRONG> is "unspecified". Under this
- implementation as well as SVr4 curses, these functions
- correctly manipulate all other highlights (specifically,
+ al functions <STRONG>attron</STRONG>/<STRONG>attroff</STRONG>/<STRONG>attrset</STRONG> can manipulate at-
+ tributes other than <STRONG>A_BLINK</STRONG>, <STRONG>A_BOLD</STRONG>, <STRONG>A_DIM</STRONG>, <STRONG>A_REVERSE</STRONG>,
+ <STRONG>A_STANDOUT</STRONG>, or <STRONG>A_UNDERLINE</STRONG> is "unspecified". Under this
+ implementation as well as SVr4 curses, these functions
+ correctly manipulate all other highlights (specifically,
<STRONG>A_ALTCHARSET</STRONG>, <STRONG>A_PROTECT</STRONG>, and <STRONG>A_INVIS</STRONG>).
- This implementation provides the <STRONG>A_ITALIC</STRONG> attribute for
+ This implementation provides the <STRONG>A_ITALIC</STRONG> attribute for
terminals which have the <EM>enter</EM><STRONG>_</STRONG><EM>italics</EM><STRONG>_</STRONG><EM>mode</EM> (sitm) and <EM>ex-</EM>
<EM>it</EM><STRONG>_</STRONG><EM>italics</EM><STRONG>_</STRONG><EM>mode</EM> (ritm) capabilities. Italics are not men-
- tioned in X/Open Curses. Unlike the other video at-
- tributes, <STRONG>I_ITALIC</STRONG> is unrelated to the <EM>set</EM><STRONG>_</STRONG><EM>attributes</EM> ca-
+ tioned in X/Open Curses. Unlike the other video at-
+ tributes, <STRONG>I_ITALIC</STRONG> is unrelated to the <EM>set</EM><STRONG>_</STRONG><EM>attributes</EM> ca-
pabilities. This implementation makes the assumption that
<EM>exit</EM><STRONG>_</STRONG><EM>attribute</EM><STRONG>_</STRONG><EM>mode</EM> may also reset italics.
- XSI Curses added the new entry points, <STRONG>attr_get</STRONG>, <STRONG>attr_on</STRONG>,
- <STRONG>attr_off</STRONG>, <STRONG>attr_set</STRONG>, <STRONG>wattr_on</STRONG>, <STRONG>wattr_off</STRONG>, <STRONG>wattr_get</STRONG>, <STRONG>wat-</STRONG>
- <STRONG>tr_set</STRONG>. These are intended to work with a new series of
+ XSI Curses added the new entry points, <STRONG>attr_get</STRONG>, <STRONG>attr_on</STRONG>,
+ <STRONG>attr_off</STRONG>, <STRONG>attr_set</STRONG>, <STRONG>wattr_on</STRONG>, <STRONG>wattr_off</STRONG>, <STRONG>wattr_get</STRONG>, <STRONG>wat-</STRONG>
+ <STRONG>tr_set</STRONG>. These are intended to work with a new series of
highlight macros prefixed with <STRONG>WA_</STRONG>. The older macros have
direct counterparts in the newer set of names:
<STRONG>WA_BOLD</STRONG> Extra bright or bold
<STRONG>WA_ALTCHARSET</STRONG> Alternate character set
- Older versions of this library did not force an update of
- the screen when changing the attributes. Use <STRONG>touchwin</STRONG> to
- force the screen to match the updated attributes.
+ Very old versions of this library did not force an update
+ of the screen when changing the attributes. Use <STRONG>touchwin</STRONG>
+ to force the screen to match the updated attributes.
The XSI curses standard specifies that each pair of corre-
- sponding <STRONG>A_</STRONG> and <STRONG>WA_</STRONG>-using functions operates on the same
+ sponding <STRONG>A_</STRONG> and <STRONG>WA_</STRONG>-using functions operates on the same
current-highlight information.
The XSI standard extended conformance level adds new high-
lights <STRONG>A_HORIZONTAL</STRONG>, <STRONG>A_LEFT</STRONG>, <STRONG>A_LOW</STRONG>, <STRONG>A_RIGHT</STRONG>, <STRONG>A_TOP</STRONG>, <STRONG>A_VER-</STRONG>
- <STRONG>TICAL</STRONG> (and corresponding <STRONG>WA_</STRONG> macros for each). As of Au-
- gust 2013, no known terminal provides these highlights
+ <STRONG>TICAL</STRONG> (and corresponding <STRONG>WA_</STRONG> macros for each). As of Au-
+ gust 2013, no known terminal provides these highlights
(i.e., via the <STRONG>sgr1</STRONG> capability).
</PRE>
<H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
- All routines return the integer <STRONG>OK</STRONG> on success, or <STRONG>ERR</STRONG> on
+ All routines return the integer <STRONG>OK</STRONG> on success, or <STRONG>ERR</STRONG> on
failure.
X/Open does not define any error conditions.
This implementation returns an error if the window pointer
- is null. The <STRONG>wcolor_set</STRONG> function returns an error if the
- color pair parameter is outside the range 0..COL-
- OR_PAIRS-1. This implementation also provides <STRONG>getattrs</STRONG>
+ is null. The <STRONG>wcolor_set</STRONG> function returns an error if the
+ color pair parameter is outside the range 0..COL-
+ OR_PAIRS-1. This implementation also provides <STRONG>getattrs</STRONG>
for compatibility with older versions of curses.
- Functions with a "mv" prefix first perform a cursor move-
- ment using <STRONG>wmove</STRONG>, and return an error if the position is
+ Functions with a "mv" prefix first perform a cursor move-
+ ment using <STRONG>wmove</STRONG>, and return an error if the position is
outside the window, or if the window pointer is null.
</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_addch.3x.html">curs_addch(3x)</A></STRONG>, <STRONG><A HREF="curs_addstr.3x.html">curs_addstr(3x)</A></STRONG>,
+ <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_addch.3x.html">curs_addch(3x)</A></STRONG>, <STRONG><A HREF="curs_addstr.3x.html">curs_addstr(3x)</A></STRONG>,
<STRONG><A HREF="curs_bkgd.3x.html">curs_bkgd(3x)</A></STRONG>, <STRONG><A HREF="curs_printw.3x.html">curs_printw(3x)</A></STRONG>, <STRONG><A HREF="curs_variables.3x.html">curs_variables(3x)</A></STRONG>
<li><a href="#h2-SYNOPSIS">SYNOPSIS</a></li>
<li><a href="#h2-DESCRIPTION">DESCRIPTION</a>
<ul>
+<li><a href="#h3-attrset">attrset</a></li>
+<li><a href="#h3-attr_set">attr_set</a></li>
+<li><a href="#h3-color_set">color_set</a></li>
+<li><a href="#h3-attr_get">attr_get</a></li>
+<li><a href="#h3-chgat">chgat</a></li>
<li><a href="#h3-Attributes">Attributes</a></li>
</ul>
</li>
<!--
****************************************************************************
- * Copyright (c) 1998-2003,2010 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-2010,2015 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: curs_bkgd.3x,v 1.22 2010/12/04 18:36:44 tom Exp @
+ * @Id: curs_bkgd.3x,v 1.23 2015/07/21 00:11:05 tom Exp @
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
<STRONG>#include</STRONG> <STRONG><curses.h></STRONG>
- <STRONG>void</STRONG> <STRONG>bkgdset(chtype</STRONG> <STRONG>ch);</STRONG>
- <STRONG>void</STRONG> <STRONG>wbkgdset(WINDOW</STRONG> <STRONG>*win,</STRONG> <STRONG>chtype</STRONG> <STRONG>ch);</STRONG>
- <STRONG>int</STRONG> <STRONG>bkgd(chtype</STRONG> <STRONG>ch);</STRONG>
- <STRONG>int</STRONG> <STRONG>wbkgd(WINDOW</STRONG> <STRONG>*win,</STRONG> <STRONG>chtype</STRONG> <STRONG>ch);</STRONG>
- <STRONG>chtype</STRONG> <STRONG>getbkgd(WINDOW</STRONG> <STRONG>*win);</STRONG>
+ <STRONG>void</STRONG> <STRONG>bkgdset(chtype</STRONG> <EM>ch</EM><STRONG>);</STRONG>
+ <STRONG>void</STRONG> <STRONG>wbkgdset(WINDOW</STRONG> <STRONG>*</STRONG><EM>win,</EM> <EM>chtype</EM> <EM>ch</EM><STRONG>);</STRONG>
+ <STRONG>int</STRONG> <STRONG>bkgd(chtype</STRONG> <EM>ch</EM><STRONG>);</STRONG>
+ <STRONG>int</STRONG> <STRONG>wbkgd(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>chtype</STRONG> <EM>ch</EM><STRONG>);</STRONG>
+ <STRONG>chtype</STRONG> <STRONG>getbkgd(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>);</STRONG>
</PRE>
<H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+
+</PRE>
+<H3><a name="h3-bkgdset">bkgdset</a></H3><PRE>
The <STRONG>bkgdset</STRONG> and <STRONG>wbkgdset</STRONG> routines manipulate the back-
ground of the named window. The window background is a
<STRONG>chtype</STRONG> consisting of any combination of attributes (i.e.,
attribute part of the background is displayed as the
graphic rendition of the character put on the screen.
+
+</PRE>
+<H3><a name="h3-bkgd">bkgd</a></H3><PRE>
The <STRONG>bkgd</STRONG> and <STRONG>wbkgd</STRONG> functions set the background property
of the current or specified window and then apply this
setting to every character position in that window:
- The rendition of every character on the screen is
- changed to the new background rendition.
+ <STRONG>o</STRONG> The rendition of every character on the screen is
+ changed to the new background rendition.
- Wherever the former background character appears,
- it is changed to the new background character.
+ <STRONG>o</STRONG> Wherever the former background character appears, it
+ is changed to the new background character.
+
+</PRE>
+<H3><a name="h3-getbkgd">getbkgd</a></H3><PRE>
The <STRONG>getbkgd</STRONG> function returns the given window's current
background character/attribute pair.
</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_addch.3x.html">curs_addch(3x)</A></STRONG>, <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>, <STRONG>curs_out-</STRONG>
+ <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_addch.3x.html">curs_addch(3x)</A></STRONG>, <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>, <STRONG>curs_out-</STRONG>
<STRONG><A HREF="curs_outopts.3x.html">opts(3x)</A></STRONG>
<ul>
<li><a href="#h2-NAME">NAME</a></li>
<li><a href="#h2-SYNOPSIS">SYNOPSIS</a></li>
-<li><a href="#h2-DESCRIPTION">DESCRIPTION</a></li>
+<li><a href="#h2-DESCRIPTION">DESCRIPTION</a>
+<ul>
+<li><a href="#h3-bkgdset">bkgdset</a></li>
+<li><a href="#h3-bkgd">bkgd</a></li>
+<li><a href="#h3-getbkgd">getbkgd</a></li>
+</ul>
+</li>
<li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li>
<li><a href="#h2-NOTES">NOTES</a></li>
<li><a href="#h2-PORTABILITY">PORTABILITY</a></li>
<!--
****************************************************************************
- * Copyright (c) 2002-2010,2012 Free Software Foundation, Inc. *
+ * Copyright (c) 2002-2012,2015 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: curs_bkgrnd.3x,v 1.5 2012/11/03 23:03:59 tom Exp @
+ * @Id: curs_bkgrnd.3x,v 1.6 2015/07/21 00:18:42 tom Exp @
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
</PRE>
<H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+
+</PRE>
+<H3><a name="h3-bkgrndset">bkgrndset</a></H3><PRE>
The <STRONG>bkgrndset</STRONG> and <STRONG>wbkgrndset</STRONG> routines manipulate the back-
ground of the named window. The window background is a
<STRONG>cchar_t</STRONG> consisting of any combination of attributes (i.e.,
attribute part of the background is displayed as the
graphic rendition of the character put on the screen.
+
+</PRE>
+<H3><a name="h3-bkgrnd">bkgrnd</a></H3><PRE>
The <STRONG>bkgrnd</STRONG> and <STRONG>wbkgrnd</STRONG> functions set the background prop-
erty of the current or specified window and then apply
this setting to every character position in that window:
- The rendition of every character on the screen is
- changed to the new background rendition.
+ <STRONG>o</STRONG> The rendition of every character on the screen is
+ changed to the new background rendition.
- Wherever the former background character appears,
- it is changed to the new background character.
+ <STRONG>o</STRONG> Wherever the former background character appears, it
+ is changed to the new background character.
+
+</PRE>
+<H3><a name="h3-getbkgrnd">getbkgrnd</a></H3><PRE>
The <STRONG>getbkgrnd</STRONG> function returns the given window's current
background character/attribute pair via the <STRONG>wch</STRONG> pointer.
<ul>
<li><a href="#h2-NAME">NAME</a></li>
<li><a href="#h2-SYNOPSIS">SYNOPSIS</a></li>
-<li><a href="#h2-DESCRIPTION">DESCRIPTION</a></li>
+<li><a href="#h2-DESCRIPTION">DESCRIPTION</a>
+<ul>
+<li><a href="#h3-bkgrndset">bkgrndset</a></li>
+<li><a href="#h3-bkgrnd">bkgrnd</a></li>
+<li><a href="#h3-getbkgrnd">getbkgrnd</a></li>
+</ul>
+</li>
<li><a href="#h2-NOTES">NOTES</a></li>
<li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li>
<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
<!--
****************************************************************************
- * Copyright (c) 2001-2010,2012 Free Software Foundation, Inc. *
+ * Copyright (c) 2001-2012,2015 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: curs_getcchar.3x,v 1.16 2012/11/03 23:03:59 tom Exp @
+ * @Id: curs_getcchar.3x,v 1.17 2015/07/21 09:30:38 tom Exp @
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
</PRE>
<H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+
+</PRE>
+<H3><a name="h3-getcchar">getcchar</a></H3><PRE>
The <STRONG>getcchar</STRONG> function gets a wide-character string and
rendition from a <STRONG>cchar_t</STRONG> argument. When <EM>wch</EM> is not a null
pointer, the <STRONG>getcchar</STRONG> function does the following:
<STRONG>o</STRONG> Does not change the data referenced by <EM>attrs</EM> or
<EM>color</EM><STRONG>_</STRONG><EM>pair</EM>
+
+</PRE>
+<H3><a name="h3-setcchar">setcchar</a></H3><PRE>
The <STRONG>setcchar</STRONG> function initializes the location pointed to
by <EM>wcval</EM> by using:
<ul>
<li><a href="#h2-NAME">NAME</a></li>
<li><a href="#h2-SYNOPSIS">SYNOPSIS</a></li>
-<li><a href="#h2-DESCRIPTION">DESCRIPTION</a></li>
+<li><a href="#h2-DESCRIPTION">DESCRIPTION</a>
+<ul>
+<li><a href="#h3-getcchar">getcchar</a></li>
+<li><a href="#h3-setcchar">setcchar</a></li>
+</ul>
+</li>
<li><a href="#h2-NOTES">NOTES</a></li>
<li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li>
<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_getch.3x,v 1.41 2015/07/16 09:29:33 tom Exp @
+ * @Id: curs_getch.3x,v 1.42 2015/07/21 08:44:04 tom Exp @
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<STRONG>#include</STRONG> <STRONG><curses.h></STRONG>
<STRONG>int</STRONG> <STRONG>getch(void);</STRONG>
- <STRONG>int</STRONG> <STRONG>wgetch(WINDOW</STRONG> <STRONG>*win);</STRONG>
- <STRONG>int</STRONG> <STRONG>mvgetch(int</STRONG> <STRONG>y,</STRONG> <STRONG>int</STRONG> <STRONG>x);</STRONG>
- <STRONG>int</STRONG> <STRONG>mvwgetch(WINDOW</STRONG> <STRONG>*win,</STRONG> <STRONG>int</STRONG> <STRONG>y,</STRONG> <STRONG>int</STRONG> <STRONG>x);</STRONG>
- <STRONG>int</STRONG> <STRONG>ungetch(int</STRONG> <STRONG>ch);</STRONG>
- <STRONG>int</STRONG> <STRONG>has_key(int</STRONG> <STRONG>ch);</STRONG>
+ <STRONG>int</STRONG> <STRONG>wgetch(WINDOW</STRONG> <STRONG>*</STRONG><EM>win);</EM>
+ <STRONG>int</STRONG> <STRONG>mvgetch(int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>x</EM><STRONG>);</STRONG>
+ <STRONG>int</STRONG> <STRONG>mvwgetch(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>x</EM><STRONG>);</STRONG>
+ <STRONG>int</STRONG> <STRONG>ungetch(int</STRONG> <EM>ch</EM><STRONG>);</STRONG>
+ <STRONG>int</STRONG> <STRONG>has_key(int</STRONG> <EM>ch</EM><STRONG>);</STRONG>
</PRE>
</PRE>
-<H3><a name="h3-Function-Keys">Function Keys</a></H3><PRE>
- The following function keys, defined in <STRONG><curses.h></STRONG>, might
- be returned by <STRONG>getch</STRONG> if <STRONG>keypad</STRONG> has been enabled. Note
- that not all of these are necessarily supported on any
- particular terminal.
+<H3><a name="h3-Predefined-key-codes">Predefined key-codes</a></H3><PRE>
+ The following special keys, defined in <STRONG><curses.h></STRONG>, may be
+ returned by <STRONG>getch</STRONG> if <STRONG>keypad</STRONG> has been enabled. Not all of
+ these are necessarily supported on any particular termi-
+ nal.
<EM>Name</EM> <EM>Key</EM> <EM>name</EM>
-------------------------------------------------
Keypad is arranged like this:
-
+-----+------+-------+
| <STRONG>A1</STRONG> | <STRONG>up</STRONG> | <STRONG>A3</STRONG> |
+-----+------+-------+
+-----+------+-------+
| <STRONG>C1</STRONG> | <STRONG>down</STRONG> | <STRONG>C3</STRONG> |
+-----+------+-------+
- The <STRONG>has_key</STRONG> routine takes a key value from the above list,
- and returns <STRONG>TRUE</STRONG> or <STRONG>FALSE</STRONG> according to whether the current
- terminal type recognizes a key with that value. Note that
- a few values do not correspond to a real key, e.g.,
- <STRONG>KEY_RESIZE</STRONG> and <STRONG>KEY_MOUSE</STRONG>. See <STRONG><A HREF="curs_initscr.3x.html">curs_initscr(3x)</A></STRONG> and <STRONG>re-</STRONG>
- <STRONG><A HREF="resizeterm.3x.html">sizeterm(3x)</A></STRONG> for more details about <STRONG>KEY_RESIZE</STRONG>, and
- <STRONG><A HREF="curs_mouse.3x.html">curs_mouse(3x)</A></STRONG> for a discussion of <STRONG>KEY_MOUSE</STRONG>.
+ A few of these predefined values do <EM>not</EM> correspond to a
+ real key:
+
+ <STRONG>o</STRONG> <STRONG>KEY_RESIZE</STRONG> is returned when the <STRONG>SIGWINCH</STRONG> signal has
+ been detected (see <STRONG><A HREF="curs_initscr.3x.html">curs_initscr(3x)</A></STRONG> and <STRONG><A HREF="resizeterm.3x.html">resizeterm(3x)</A></STRONG>).
+
+ <STRONG>o</STRONG> <STRONG>KEY_MOUSE</STRONG> is returned for mouse-events (see
+ <STRONG><A HREF="curs_mouse.3x.html">curs_mouse(3x)</A></STRONG>).
+
+
+</PRE>
+<H3><a name="h3-Testing-key-codes">Testing key-codes</a></H3><PRE>
+ The <STRONG>has_key</STRONG> routine takes a key-code value from the above
+ list, and returns <STRONG>TRUE</STRONG> or <STRONG>FALSE</STRONG> according to whether the
+ current terminal type recognizes a key with that value.
+
+ The library also supports these extensions:
+
+ <STRONG>define_key</STRONG>
+ defines a key-code for a given string (see <STRONG>de-</STRONG>
+ <STRONG><A HREF="define_key.3x.html">fine_key(3x)</A></STRONG>).
+
+ <STRONG>key_defined</STRONG>
+ checks if there is a key-code defined for a given
+ string (see <STRONG><A HREF="key_defined.3x.html">key_defined(3x)</A></STRONG>).
</PRE>
<H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
- All routines return the integer <STRONG>ERR</STRONG> upon failure and an
+ All routines return the integer <STRONG>ERR</STRONG> upon failure and an
integer value other than <STRONG>ERR</STRONG> (<STRONG>OK</STRONG> in the case of ungetch())
upon successful completion.
returns ERR if there is no more room in the FIFO.
<STRONG>wgetch</STRONG>
- returns ERR if the window pointer is null, or if
+ returns ERR if the window pointer is null, or if
its timeout expires without having any data.
- Functions with a "mv" prefix first perform a cursor move-
- ment using <STRONG>wmove</STRONG>, and return an error if the position is
+ Functions with a "mv" prefix first perform a cursor move-
+ ment using <STRONG>wmove</STRONG>, and return an error if the position is
outside the window, or if the window pointer is null.
</PRE>
<H2><a name="h2-NOTES">NOTES</a></H2><PRE>
Use of the escape key by a programmer for a single charac-
- ter function is discouraged, as it will cause a delay of
+ ter function is discouraged, as it will cause a delay of
up to one second while the keypad code looks for a follow-
ing function-key sequence.
- Note that some keys may be the same as commonly used con-
- trol keys, e.g., <STRONG>KEY_ENTER</STRONG> versus control/M, <STRONG>KEY_BACKSPACE</STRONG>
- versus control/H. Some curses implementations may differ
- according to whether they treat these control keys spe-
- cially (and ignore the terminfo), or use the terminfo def-
- initions. <STRONG>Ncurses</STRONG> uses the terminfo definition. If it
- says that <STRONG>KEY_ENTER</STRONG> is control/M, <STRONG>getch</STRONG> will return
- <STRONG>KEY_ENTER</STRONG> when you press control/M.
+ Some keys may be the same as commonly used control keys,
+ e.g., <STRONG>KEY_ENTER</STRONG> versus control/M, <STRONG>KEY_BACKSPACE</STRONG> versus
+ control/H. Some curses implementations may differ accord-
+ ing to whether they treat these control keys specially
+ (and ignore the terminfo), or use the terminfo defini-
+ tions. <STRONG>Ncurses</STRONG> uses the terminfo definition. If it says
+ that <STRONG>KEY_ENTER</STRONG> is control/M, <STRONG>getch</STRONG> will return <STRONG>KEY_ENTER</STRONG>
+ when you press control/M.
- Generally, <STRONG>KEY_ENTER</STRONG> denotes the character(s) sent by the
+ Generally, <STRONG>KEY_ENTER</STRONG> denotes the character(s) sent by the
<EM>Enter</EM> key on the numeric keypad:
<STRONG>o</STRONG> the terminal description lists the most useful keys,
- <STRONG>o</STRONG> the <EM>Enter</EM> key on the regular keyboard is already han-
+ <STRONG>o</STRONG> the <EM>Enter</EM> key on the regular keyboard is already han-
dled by the standard ASCII characters for carriage-re-
turn and line-feed,
- <STRONG>o</STRONG> depending on whether <STRONG>nl</STRONG> or <STRONG>nonl</STRONG> was called, pressing
- "Enter" on the regular keyboard may return either a
+ <STRONG>o</STRONG> depending on whether <STRONG>nl</STRONG> or <STRONG>nonl</STRONG> was called, pressing
+ "Enter" on the regular keyboard may return either a
carriage-return or line-feed, and finally
- <STRONG>o</STRONG> "Enter or send" is the standard description for this
+ <STRONG>o</STRONG> "Enter or send" is the standard description for this
key.
- When using <STRONG>getch</STRONG>, <STRONG>wgetch</STRONG>, <STRONG>mvgetch</STRONG>, or <STRONG>mvwgetch</STRONG>, nocbreak
+ When using <STRONG>getch</STRONG>, <STRONG>wgetch</STRONG>, <STRONG>mvgetch</STRONG>, or <STRONG>mvwgetch</STRONG>, nocbreak
mode (<STRONG>nocbreak</STRONG>) and echo mode (<STRONG>echo</STRONG>) should not be used at
- the same time. Depending on the state of the tty driver
- when each character is typed, the program may produce un-
+ the same time. Depending on the state of the tty driver
+ when each character is typed, the program may produce un-
desirable results.
Note that <STRONG>getch</STRONG>, <STRONG>mvgetch</STRONG>, and <STRONG>mvwgetch</STRONG> may be macros.
Historically, the set of keypad macros was largely defined
- by the extremely function-key-rich keyboard of the AT&T
- 7300, aka 3B1, aka Safari 4. Modern personal computers
- usually have only a small subset of these. IBM PC-style
- consoles typically support little more than <STRONG>KEY_UP</STRONG>,
- <STRONG>KEY_DOWN</STRONG>, <STRONG>KEY_LEFT</STRONG>, <STRONG>KEY_RIGHT</STRONG>, <STRONG>KEY_HOME</STRONG>, <STRONG>KEY_END</STRONG>,
+ by the extremely function-key-rich keyboard of the AT&T
+ 7300, aka 3B1, aka Safari 4. Modern personal computers
+ usually have only a small subset of these. IBM PC-style
+ consoles typically support little more than <STRONG>KEY_UP</STRONG>,
+ <STRONG>KEY_DOWN</STRONG>, <STRONG>KEY_LEFT</STRONG>, <STRONG>KEY_RIGHT</STRONG>, <STRONG>KEY_HOME</STRONG>, <STRONG>KEY_END</STRONG>,
<STRONG>KEY_NPAGE</STRONG>, <STRONG>KEY_PPAGE</STRONG>, and function keys 1 through 12. The
Ins key is usually mapped to <STRONG>KEY_IC</STRONG>.
</PRE>
<H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
- The *get* functions are described in the XSI Curses stan-
- dard, Issue 4. They read single-byte characters only.
- The standard specifies that they return <STRONG>ERR</STRONG> on failure,
+ The *get* functions are described in the XSI Curses stan-
+ dard, Issue 4. They read single-byte characters only.
+ The standard specifies that they return <STRONG>ERR</STRONG> on failure,
but specifies no error conditions.
- The echo behavior of these functions on input of <STRONG>KEY_</STRONG> or
- backspace characters was not specified in the SVr4 docu-
+ The echo behavior of these functions on input of <STRONG>KEY_</STRONG> or
+ backspace characters was not specified in the SVr4 docu-
mentation. This description is adopted from the XSI Curs-
es standard.
- The behavior of <STRONG>getch</STRONG> and friends in the presence of han-
- dled signals is unspecified in the SVr4 and XSI Curses
- documentation. Under historical curses implementations,
- it varied depending on whether the operating system's im-
- plementation of handled signal receipt interrupts a
- <STRONG>read(2)</STRONG> call in progress or not, and also (in some imple-
- mentations) depending on whether an input timeout or non-
+ The behavior of <STRONG>getch</STRONG> and friends in the presence of han-
+ dled signals is unspecified in the SVr4 and XSI Curses
+ documentation. Under historical curses implementations,
+ it varied depending on whether the operating system's im-
+ plementation of handled signal receipt interrupts a
+ <STRONG>read(2)</STRONG> call in progress or not, and also (in some imple-
+ mentations) depending on whether an input timeout or non-
blocking mode has been set.
Programmers concerned about portability should be prepared
- for either of two cases: (a) signal receipt does not in-
- terrupt <STRONG>getch</STRONG>; (b) signal receipt interrupts <STRONG>getch</STRONG> and
- causes it to return ERR with <STRONG>errno</STRONG> set to <STRONG>EINTR</STRONG>. Under
- the <STRONG>ncurses</STRONG> implementation, handled signals never inter-
+ for either of two cases: (a) signal receipt does not in-
+ terrupt <STRONG>getch</STRONG>; (b) signal receipt interrupts <STRONG>getch</STRONG> and
+ causes it to return ERR with <STRONG>errno</STRONG> set to <STRONG>EINTR</STRONG>. Under
+ the <STRONG>ncurses</STRONG> implementation, handled signals never inter-
rupt <STRONG>getch</STRONG>.
- The <STRONG>has_key</STRONG> function is unique to <STRONG>ncurses</STRONG>. We recommend
- that any code using it be conditionalized on the <STRONG>NCURS-</STRONG>
+ The <STRONG>has_key</STRONG> function is unique to <STRONG>ncurses</STRONG>. We recommend
+ that any code using it be conditionalized on the <STRONG>NCURS-</STRONG>
<STRONG>ES_VERSION</STRONG> feature macro.
<STRONG><A HREF="curs_mouse.3x.html">curs_mouse(3x)</A></STRONG>, <STRONG><A HREF="curs_move.3x.html">curs_move(3x)</A></STRONG>, <STRONG><A HREF="curs_refresh.3x.html">curs_refresh(3x)</A></STRONG>, <STRONG>re-</STRONG>
<STRONG><A HREF="resizeterm.3x.html">sizeterm(3x)</A></STRONG>.
- Comparable functions in the wide-character (ncursesw) li-
+ Comparable functions in the wide-character (ncursesw) li-
brary are described in <STRONG><A HREF="curs_get_wch.3x.html">curs_get_wch(3x)</A></STRONG>.
<li><a href="#h3-Reading-characters">Reading characters</a></li>
<li><a href="#h3-Keypad-mode">Keypad mode</a></li>
<li><a href="#h3-Ungetting-characters">Ungetting characters</a></li>
-<li><a href="#h3-Function-Keys">Function Keys</a></li>
+<li><a href="#h3-Predefined-key-codes">Predefined key-codes</a></li>
+<li><a href="#h3-Testing-key-codes">Testing key-codes</a></li>
</ul>
</li>
<li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li>
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_initscr.3x,v 1.23 2015/07/16 09:23:42 tom Exp @
+ * @Id: curs_initscr.3x,v 1.24 2015/07/21 23:01:38 tom Exp @
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<STRONG>WINDOW</STRONG> <STRONG>*initscr(void);</STRONG>
<STRONG>int</STRONG> <STRONG>endwin(void);</STRONG>
<STRONG>bool</STRONG> <STRONG>isendwin(void);</STRONG>
- <STRONG>SCREEN</STRONG> <STRONG>*newterm(char</STRONG> <STRONG>*type,</STRONG> <STRONG>FILE</STRONG> <STRONG>*outfd,</STRONG> <STRONG>FILE</STRONG> <STRONG>*infd);</STRONG>
- <STRONG>SCREEN</STRONG> <STRONG>*set_term(SCREEN</STRONG> <STRONG>*new);</STRONG>
- <STRONG>void</STRONG> <STRONG>delscreen(SCREEN*</STRONG> <STRONG>sp);</STRONG>
+ <STRONG>SCREEN</STRONG> <STRONG>*newterm(char</STRONG> <STRONG>*</STRONG><EM>type</EM><STRONG>,</STRONG> <STRONG>FILE</STRONG> <STRONG>*</STRONG><EM>outfd</EM><STRONG>,</STRONG> <STRONG>FILE</STRONG> <STRONG>*</STRONG><EM>infd</EM><STRONG>);</STRONG>
+ <STRONG>SCREEN</STRONG> <STRONG>*set_term(SCREEN</STRONG> <STRONG>*</STRONG><EM>new</EM><STRONG>);</STRONG>
+ <STRONG>void</STRONG> <STRONG>delscreen(SCREEN*</STRONG> <EM>sp</EM><STRONG>);</STRONG>
</PRE>
<!--
****************************************************************************
- * Copyright (c) 1998-2005,2010 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-2010,2015 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: curs_kernel.3x,v 1.19 2010/12/04 18:38:55 tom Exp @
+ * @Id: curs_kernel.3x,v 1.20 2015/07/21 01:10:11 tom Exp @
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<STRONG>int</STRONG> <STRONG>reset_shell_mode(void);</STRONG>
<STRONG>int</STRONG> <STRONG>resetty(void);</STRONG>
<STRONG>int</STRONG> <STRONG>savetty(void);</STRONG>
- <STRONG>void</STRONG> <STRONG>getsyx(int</STRONG> <STRONG>y,</STRONG> <STRONG>int</STRONG> <STRONG>x);</STRONG>
- <STRONG>void</STRONG> <STRONG>setsyx(int</STRONG> <STRONG>y,</STRONG> <STRONG>int</STRONG> <STRONG>x);</STRONG>
- <STRONG>int</STRONG> <STRONG>ripoffline(int</STRONG> <STRONG>line,</STRONG> <STRONG>int</STRONG> <STRONG>(*init)(WINDOW</STRONG> <STRONG>*,</STRONG> <STRONG>int));</STRONG>
- <STRONG>int</STRONG> <STRONG>curs_set(int</STRONG> <STRONG>visibility);</STRONG>
- <STRONG>int</STRONG> <STRONG>napms(int</STRONG> <STRONG>ms);</STRONG>
+ <STRONG>void</STRONG> <STRONG>getsyx(int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>x</EM><STRONG>);</STRONG>
+ <STRONG>void</STRONG> <STRONG>setsyx(int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>x</EM><STRONG>);</STRONG>
+ <STRONG>int</STRONG> <STRONG>ripoffline(int</STRONG> <EM>line</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <STRONG>(*</STRONG><EM>init</EM><STRONG>)(WINDOW</STRONG> <STRONG>*,</STRONG> <STRONG>int));</STRONG>
+ <STRONG>int</STRONG> <STRONG>curs_set(int</STRONG> <EM>visibility</EM><STRONG>);</STRONG>
+ <STRONG>int</STRONG> <STRONG>napms(int</STRONG> <EM>ms</EM><STRONG>);</STRONG>
</PRE>
<STRONG>curses</STRONG> capabilities. These routines typically are used
inside library routines.
+
+</PRE>
+<H3><a name="h3-def_prog_mode_-def_shell_mode">def_prog_mode, def_shell_mode</a></H3><PRE>
The <STRONG>def_prog_mode</STRONG> and <STRONG>def_shell_mode</STRONG> routines save the
current terminal modes as the "program" (in <STRONG>curses</STRONG>) or
"shell" (not in <STRONG>curses</STRONG>) state for use by the <STRONG>re-</STRONG>
automatically by <STRONG>initscr</STRONG>. There is one such save area for
each screen context allocated by <STRONG>newterm()</STRONG>.
+
+</PRE>
+<H3><a name="h3-reset_prog_mode_-reset_shell_mode">reset_prog_mode, reset_shell_mode</a></H3><PRE>
The <STRONG>reset_prog_mode</STRONG> and <STRONG>reset_shell_mode</STRONG> routines restore
the terminal to "program" (in <STRONG>curses</STRONG>) or "shell" (out of
<STRONG>curses</STRONG>) state. These are done automatically by <STRONG>endwin</STRONG>
and, after an <STRONG>endwin</STRONG>, by <STRONG>doupdate</STRONG>, so they normally are
not called.
+
+</PRE>
+<H3><a name="h3-resetty_-savetty">resetty, savetty</a></H3><PRE>
The <STRONG>resetty</STRONG> and <STRONG>savetty</STRONG> routines save and restore the
state of the terminal modes. <STRONG>savetty</STRONG> saves the current
state in a buffer and <STRONG>resetty</STRONG> restores the state to what
it was at the last call to <STRONG>savetty</STRONG>.
+
+</PRE>
+<H3><a name="h3-getsyx">getsyx</a></H3><PRE>
The <STRONG>getsyx</STRONG> routine returns the current coordinates of the
virtual screen cursor in <EM>y</EM> and <EM>x</EM>. If <STRONG>leaveok</STRONG> is currently
<STRONG>TRUE</STRONG>, then <STRONG>-1</STRONG>,<STRONG>-1</STRONG> is returned. If lines have been removed
clude these lines; therefore, <EM>y</EM> and <EM>x</EM> should be used only
as arguments for <STRONG>setsyx</STRONG>.
+
+</PRE>
+<H3><a name="h3-setsyx">setsyx</a></H3><PRE>
The <STRONG>setsyx</STRONG> routine sets the virtual screen cursor to <EM>y</EM>, <EM>x</EM>.
If <EM>y</EM> and <EM>x</EM> are both <STRONG>-1</STRONG>, then <STRONG>leaveok</STRONG> is set. The two rou-
tines <STRONG>getsyx</STRONG> and <STRONG>setsyx</STRONG> are designed to be used by a li-
<STRONG>wnoutrefresh</STRONG> on its windows, call <STRONG>setsyx</STRONG>, and then call
<STRONG>doupdate</STRONG>.
+
+</PRE>
+<H3><a name="h3-ripoffline">ripoffline</a></H3><PRE>
The <STRONG>ripoffline</STRONG> routine provides access to the same facili-
ty that <STRONG>slk_init</STRONG> [see <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>] uses to reduce the
size of the screen. <STRONG>ripoffline</STRONG> must be called before
- <STRONG>initscr</STRONG> or <STRONG>newterm</STRONG> is called. If <EM>line</EM> is positive, a line
- is removed from the top of <STRONG>stdscr</STRONG>; if <EM>line</EM> is negative, a
- line is removed from the bottom. When this is done inside
- <STRONG>initscr</STRONG>, the routine <STRONG>init</STRONG> (supplied by the user) is called
- with two arguments: a window pointer to the one-line win-
- dow that has been allocated and an integer with the number
- of columns in the window. Inside this initialization rou-
- tine, the integer variables <STRONG>LINES</STRONG> and <STRONG>COLS</STRONG> (defined in
- <STRONG><curses.h></STRONG>) are not guaranteed to be accurate and <STRONG>wrefresh</STRONG>
- or <STRONG>doupdate</STRONG> must not be called. It is allowable to call
- <STRONG>wnoutrefresh</STRONG> during the initialization routine.
+ <STRONG>initscr</STRONG> or <STRONG>newterm</STRONG> is called, to prepare these initial ac-
+ tions:
+
+ <STRONG>o</STRONG> If <EM>line</EM> is positive, a line is removed from the top of
+ <STRONG>stdscr</STRONG>.
+
+ <STRONG>o</STRONG> if <EM>line</EM> is negative, a line is removed from the bot-
+ tom.
+
+ When the resulting initialization is done inside <STRONG>initscr</STRONG>,
+ the routine <STRONG>init</STRONG> (supplied by the user) is called with two
+ arguments:
+
+ <STRONG>o</STRONG> a window pointer to the one-line window that has been
+ allocated and
+
+ <STRONG>o</STRONG> an integer with the number of columns in the window.
+
+ Inside this initialization routine, the integer variables
+ <STRONG>LINES</STRONG> and <STRONG>COLS</STRONG> (defined in <STRONG><curses.h></STRONG>) are not guaranteed
+ to be accurate and <STRONG>wrefresh</STRONG> or <STRONG>doupdate</STRONG> must not be
+ called. It is allowable to call <STRONG>wnoutrefresh</STRONG> during the
+ initialization routine.
<STRONG>ripoffline</STRONG> can be called up to five times before calling
<STRONG>initscr</STRONG> or <STRONG>newterm</STRONG>.
+
+</PRE>
+<H3><a name="h3-curs_set">curs_set</a></H3><PRE>
The <STRONG>curs_set</STRONG> routine sets the cursor state to invisible,
normal, or very visible for <STRONG>visibility</STRONG> equal to <STRONG>0</STRONG>, <STRONG>1</STRONG>, or <STRONG>2</STRONG>
respectively. If the terminal supports the <EM>visibility</EM> re-
quested, the previous <EM>cursor</EM> state is returned; otherwise,
<STRONG>ERR</STRONG> is returned.
+
+</PRE>
+<H3><a name="h3-napms">napms</a></H3><PRE>
The <STRONG>napms</STRONG> routine is used to sleep for <EM>ms</EM> milliseconds.
X/Open defines no error conditions. In this implementa-
tion
- <STRONG>def_prog_mode</STRONG>, <STRONG>def_shell_mode</STRONG>, <STRONG>reset_prog_mode</STRONG>, <STRONG>re-</STRONG>
- <STRONG>set_shell_mode</STRONG>
- return an error if the terminal was not ini-
- tialized, or if the I/O call to obtain the
- terminal settings fails.
+ <STRONG>def_prog_mode</STRONG>, <STRONG>def_shell_mode</STRONG>, <STRONG>reset_prog_mode</STRONG>,
+ <STRONG>reset_shell_mode</STRONG>
+ return an error if the terminal was not initialized,
+ or if the I/O call to obtain the terminal settings
+ fails.
- <STRONG>ripoffline</STRONG>
- returns an error if the maximum number of
- ripped-off lines exceeds the maximum (NRIPS =
- 5).
+ <STRONG>ripoffline</STRONG>
+ returns an error if the maximum number of ripped-off
+ lines exceeds the maximum (NRIPS = 5).
</PRE>
<H2><a name="h2-NOTES">NOTES</a></H2><PRE>
- Note that <STRONG>getsyx</STRONG> is a macro, so <STRONG>&</STRONG> is not necessary before
+ Note that <STRONG>getsyx</STRONG> is a macro, so <STRONG>&</STRONG> is not necessary before
the variables <EM>y</EM> and <EM>x</EM>.
- Older SVr4 man pages warn that the return value of
- <STRONG>curs_set</STRONG> "is currently incorrect". This implementation
- gets it right, but it may be unwise to count on the cor-
+ Older SVr4 man pages warn that the return value of
+ <STRONG>curs_set</STRONG> "is currently incorrect". This implementation
+ gets it right, but it may be unwise to count on the cor-
rectness of the return value anywhere else.
- Both ncurses and SVr4 will call <STRONG>curs_set</STRONG> in <STRONG>endwin</STRONG> if
- <STRONG>curs_set</STRONG> has been called to make the cursor other than
- normal, i.e., either invisible or very visible. There is
- no way for ncurses to determine the initial cursor state
+ Both ncurses and SVr4 will call <STRONG>curs_set</STRONG> in <STRONG>endwin</STRONG> if
+ <STRONG>curs_set</STRONG> has been called to make the cursor other than
+ normal, i.e., either invisible or very visible. There is
+ no way for ncurses to determine the initial cursor state
to restore that.
</PRE>
<H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
- The functions <STRONG>setsyx</STRONG> and <STRONG>getsyx</STRONG> are not described in the
- XSI Curses standard, Issue 4. All other functions are as
+ The functions <STRONG>setsyx</STRONG> and <STRONG>getsyx</STRONG> are not described in the
+ XSI Curses standard, Issue 4. All other functions are as
described in XSI Curses.
The SVr4 documentation describes <STRONG>setsyx</STRONG> and <STRONG>getsyx</STRONG> as hav-
- ing return type int. This is misleading, as they are
+ ing return type int. This is misleading, as they are
macros with no documented semantics for the return value.
</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_initscr.3x.html">curs_initscr(3x)</A></STRONG>, <STRONG><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></STRONG>, <STRONG>curs_re-</STRONG>
- <STRONG><A HREF="curs_refresh.3x.html">fresh(3x)</A></STRONG>, <STRONG><A HREF="curs_scr_dump.3x.html">curs_scr_dump(3x)</A></STRONG>, <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>, <STRONG>curs_vari-</STRONG>
+ <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_initscr.3x.html">curs_initscr(3x)</A></STRONG>, <STRONG><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></STRONG>, <STRONG>curs_re-</STRONG>
+ <STRONG><A HREF="curs_refresh.3x.html">fresh(3x)</A></STRONG>, <STRONG><A HREF="curs_scr_dump.3x.html">curs_scr_dump(3x)</A></STRONG>, <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>, <STRONG>curs_vari-</STRONG>
<STRONG><A HREF="curs_variables.3x.html">ables(3x)</A></STRONG>.
<ul>
<li><a href="#h2-NAME">NAME</a></li>
<li><a href="#h2-SYNOPSIS">SYNOPSIS</a></li>
-<li><a href="#h2-DESCRIPTION">DESCRIPTION</a></li>
+<li><a href="#h2-DESCRIPTION">DESCRIPTION</a>
+<ul>
+<li><a href="#h3-def_prog_mode_-def_shell_mode">def_prog_mode, def_shell_mode</a></li>
+<li><a href="#h3-reset_prog_mode_-reset_shell_mode">reset_prog_mode, reset_shell_mode</a></li>
+<li><a href="#h3-resetty_-savetty">resetty, savetty</a></li>
+<li><a href="#h3-getsyx">getsyx</a></li>
+<li><a href="#h3-setsyx">setsyx</a></li>
+<li><a href="#h3-ripoffline">ripoffline</a></li>
+<li><a href="#h3-curs_set">curs_set</a></li>
+<li><a href="#h3-napms">napms</a></li>
+</ul>
+</li>
<li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li>
<li><a href="#h2-NOTES">NOTES</a></li>
<li><a href="#h2-PORTABILITY">PORTABILITY</a></li>
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_mouse.3x,v 1.41 2015/04/11 10:23:49 tom Exp @
+ * @Id: curs_mouse.3x,v 1.42 2015/07/21 09:27:39 tom Exp @
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<STRONG>}</STRONG> <STRONG>MEVENT;</STRONG>
<STRONG>bool</STRONG> <STRONG>has_mouse(void);</STRONG>
- <STRONG>int</STRONG> <STRONG>getmouse(MEVENT</STRONG> <STRONG>*event);</STRONG>
- <STRONG>int</STRONG> <STRONG>ungetmouse(MEVENT</STRONG> <STRONG>*event);</STRONG>
- <STRONG>mmask_t</STRONG> <STRONG>mousemask(mmask_t</STRONG> <STRONG>newmask,</STRONG> <STRONG>mmask_t</STRONG> <STRONG>*oldmask);</STRONG>
- <STRONG>bool</STRONG> <STRONG>wenclose(const</STRONG> <STRONG>WINDOW</STRONG> <STRONG>*win,</STRONG> <STRONG>int</STRONG> <STRONG>y,</STRONG> <STRONG>int</STRONG> <STRONG>x);</STRONG>
- <STRONG>bool</STRONG> <STRONG>mouse_trafo(int*</STRONG> <STRONG>pY,</STRONG> <STRONG>int*</STRONG> <STRONG>pX,</STRONG> <STRONG>bool</STRONG> <STRONG>to_screen);</STRONG>
- <STRONG>bool</STRONG> <STRONG>wmouse_trafo(const</STRONG> <STRONG>WINDOW*</STRONG> <STRONG>win,</STRONG> <STRONG>int*</STRONG> <STRONG>pY,</STRONG> <STRONG>int*</STRONG> <STRONG>pX,</STRONG>
- <STRONG>bool</STRONG> <STRONG>to_screen);</STRONG>
- <STRONG>int</STRONG> <STRONG>mouseinterval(int</STRONG> <STRONG>erval);</STRONG>
+ <STRONG>int</STRONG> <STRONG>getmouse(MEVENT</STRONG> <STRONG>*</STRONG><EM>event</EM><STRONG>);</STRONG>
+ <STRONG>int</STRONG> <STRONG>ungetmouse(MEVENT</STRONG> <STRONG>*</STRONG><EM>event</EM><STRONG>);</STRONG>
+ <STRONG>mmask_t</STRONG> <STRONG>mousemask(mmask_t</STRONG> <EM>newmask</EM><STRONG>,</STRONG> <STRONG>mmask_t</STRONG> <STRONG>*</STRONG><EM>oldmask</EM><STRONG>);</STRONG>
+ <STRONG>bool</STRONG> <STRONG>wenclose(const</STRONG> <STRONG>WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>x</EM><STRONG>);</STRONG>
+ <STRONG>bool</STRONG> <STRONG>mouse_trafo(int*</STRONG> <EM>pY</EM><STRONG>,</STRONG> <STRONG>int*</STRONG> <EM>pX</EM><STRONG>,</STRONG> <STRONG>bool</STRONG> <EM>to</EM><STRONG>_</STRONG><EM>screen</EM><STRONG>);</STRONG>
+ <STRONG>bool</STRONG> <STRONG>wmouse_trafo(const</STRONG> <STRONG>WINDOW*</STRONG> <EM>win</EM><STRONG>,</STRONG> <STRONG>int*</STRONG> <EM>pY</EM><STRONG>,</STRONG> <STRONG>int*</STRONG> <EM>pX</EM><STRONG>,</STRONG>
+ <STRONG>bool</STRONG> <EM>to</EM><STRONG>_</STRONG><EM>screen</EM><STRONG>);</STRONG>
+ <STRONG>int</STRONG> <STRONG>mouseinterval(int</STRONG> <EM>erval</EM><STRONG>);</STRONG>
</PRE>
<STRONG><A HREF="ncurses.3x.html">ncurses(3x)</A></STRONG>. Mouse events are represented by <STRONG>KEY_MOUSE</STRONG>
pseudo-key values in the <STRONG>wgetch</STRONG> input stream.
+
+</PRE>
+<H3><a name="h3-mousemask">mousemask</a></H3><PRE>
To make mouse events visible, use the <STRONG>mousemask</STRONG> function.
This will set the mouse events to be reported. By de-
fault, no mouse events are reported. The function will
the mouse pointer; setting a nonzero mask may turn it on.
Whether this happens is device-dependent.
+
+</PRE>
+<H3><a name="h3-Mouse-events">Mouse events</a></H3><PRE>
Here are the mouse event type masks which may be defined:
<EM>Name</EM> <EM>Description</EM>
BUTTON2_RELEASED mouse button 2 up
BUTTON2_CLICKED mouse button 2 clicked
BUTTON2_DOUBLE_CLICKED mouse button 2 double clicked
+
+
BUTTON2_TRIPLE_CLICKED mouse button 2 triple clicked
---------------------------------------------------------------------
BUTTON3_PRESSED mouse button 3 down
-
BUTTON3_RELEASED mouse button 3 up
BUTTON3_CLICKED mouse button 3 clicked
BUTTON3_DOUBLE_CLICKED mouse button 3 double clicked
REPORT_MOUSE_POSITION report mouse movement
---------------------------------------------------------------------
+
+</PRE>
+<H3><a name="h3-getmouse">getmouse</a></H3><PRE>
Once a class of mouse events has been made visible in a
window, calling the <STRONG>wgetch</STRONG> function on that window may re-
turn <STRONG>KEY_MOUSE</STRONG> as an indicator that a mouse event has been
invalid. A subsequent call to <STRONG>getmouse</STRONG> will retrieve the
next older item from the queue.
+
+</PRE>
+<H3><a name="h3-ungetmouse">ungetmouse</a></H3><PRE>
The <STRONG>ungetmouse</STRONG> function behaves analogously to <STRONG>ungetch</STRONG>.
It pushes a <STRONG>KEY_MOUSE</STRONG> event onto the input queue, and as-
sociates with that event the given state data and screen-
relative character-cell coordinates.
+
+</PRE>
+<H3><a name="h3-wenclose">wenclose</a></H3><PRE>
The <STRONG>wenclose</STRONG> function tests whether a given pair of
screen-relative character-cell coordinates is enclosed by
a given window, returning <STRONG>TRUE</STRONG> if it is and <STRONG>FALSE</STRONG> other-
wise. It is useful for determining what subset of the
screen windows enclose the location of a mouse event.
+
+</PRE>
+<H3><a name="h3-wmouse_trafo">wmouse_trafo</a></H3><PRE>
The <STRONG>wmouse_trafo</STRONG> function transforms a given pair of coor-
dinates from stdscr-relative coordinates to coordinates
- relative to the given window or vice versa. Please remem-
- ber, that stdscr-relative coordinates are not always iden-
- tical to window-relative coordinates due to the mechanism
- to reserve lines on top or bottom of the screen for other
- purposes (see the <STRONG>ripoffline()</STRONG> and <STRONG>slk_init</STRONG> calls, for ex-
- ample). If the parameter <STRONG>to_screen</STRONG> is <STRONG>TRUE</STRONG>, the pointers
- <STRONG>pY,</STRONG> <STRONG>pX</STRONG> must reference the coordinates of a location inside
- the window <STRONG>win</STRONG>. They are converted to window-relative co-
- ordinates and returned through the pointers. If the con-
- version was successful, the function returns <STRONG>TRUE</STRONG>. If one
- of the parameters was NULL or the location is not inside
- the window, <STRONG>FALSE</STRONG> is returned. If <STRONG>to_screen</STRONG> is <STRONG>FALSE</STRONG>, the
- pointers <STRONG>pY,</STRONG> <STRONG>pX</STRONG> must reference window-relative coordi-
- nates. They are converted to stdscr-relative coordinates
- if the window <STRONG>win</STRONG> encloses this point. In this case the
- function returns <STRONG>TRUE</STRONG>. If one of the parameters is NULL
- or the point is not inside the window, <STRONG>FALSE</STRONG> is returned.
- Please notice, that the referenced coordinates are only
- replaced by the converted coordinates if the transforma-
- tion was successful.
+ relative to the given window or vice versa. The resulting
+ stdscr-relative coordinates are not always identical to
+ window-relative coordinates due to the mechanism to re-
+ serve lines on top or bottom of the screen for other pur-
+ poses (see the <STRONG>ripoffline</STRONG> and <STRONG>slk_init</STRONG> calls, for exam-
+ ple).
+
+ <STRONG>o</STRONG> If the parameter <STRONG>to_screen</STRONG> is <STRONG>TRUE</STRONG>, the pointers <STRONG>pY,</STRONG>
+ <STRONG>pX</STRONG> must reference the coordinates of a location inside
+ the window <STRONG>win</STRONG>. They are converted to window-relative
+ coordinates and returned through the pointers. If the
+ conversion was successful, the function returns <STRONG>TRUE</STRONG>.
+
+ <STRONG>o</STRONG> If one of the parameters was NULL or the location is
+ not inside the window, <STRONG>FALSE</STRONG> is returned.
+
+ <STRONG>o</STRONG> If <STRONG>to_screen</STRONG> is <STRONG>FALSE</STRONG>, the pointers <STRONG>pY,</STRONG> <STRONG>pX</STRONG> must refer-
+ ence window-relative coordinates. They are converted
+ to stdscr-relative coordinates if the window <STRONG>win</STRONG> en-
+ closes this point. In this case the function returns
+ <STRONG>TRUE</STRONG>.
+
+ <STRONG>o</STRONG> If one of the parameters is NULL or the point is not
+ inside the window, <STRONG>FALSE</STRONG> is returned. The referenced
+ coordinates are only replaced by the converted coordi-
+ nates if the transformation was successful.
+
+</PRE>
+<H3><a name="h3-mouse_trafo">mouse_trafo</a></H3><PRE>
The <STRONG>mouse_trafo</STRONG> function performs the same translation as
<STRONG>wmouse_trafo</STRONG>, using stdscr for <STRONG>win</STRONG>.
+
+</PRE>
+<H3><a name="h3-mouseinterval">mouseinterval</a></H3><PRE>
The <STRONG>mouseinterval</STRONG> function sets the maximum time (in thou-
sands of a second) that can elapse between press and re-
lease events for them to be recognized as a click. Use
<STRONG>val(-1)</STRONG> to obtain the interval without altering it. The
default is one sixth of a second.
+
+</PRE>
+<H3><a name="h3-has_mouse">has_mouse</a></H3><PRE>
The <STRONG>has_mouse</STRONG> function returns <STRONG>TRUE</STRONG> if the mouse driver
has been successfully initialized.
</PRE>
<H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
<STRONG>getmouse</STRONG> and <STRONG>ungetmouse</STRONG> return the integer <STRONG>ERR</STRONG> upon fail-
- ure or <STRONG>OK</STRONG> upon successful completion.
+ ure or <STRONG>OK</STRONG> upon successful completion:
+
+ <STRONG>getmouse</STRONG>
+ returns an error.
+
+ <STRONG>o</STRONG> If no mouse driver was initialized, or if the mask
+ parameter is zero,
- <STRONG>getmouse</STRONG>
- returns an error. If no mouse driver was ini-
- tialized, or if the mask parameter is zero, it
- also returns an error if no more events remain
- in the queue.
+ <STRONG>o</STRONG> It also returns an error if no more events remain
+ in the queue.
- <STRONG>ungetmouse</STRONG>
- returns an error if the FIFO is full.
+ <STRONG>ungetmouse</STRONG>
+ returns an error if the FIFO is full.
<STRONG>mousemask</STRONG> returns the mask of reportable events.
- <STRONG>mouseinterval</STRONG> returns the previous interval value, unless
- the terminal was not initialized. In that case, it re-
+ <STRONG>mouseinterval</STRONG> returns the previous interval value, unless
+ the terminal was not initialized. In that case, it re-
turns the maximum interval value (166).
- <STRONG>wenclose</STRONG> and <STRONG>wmouse_trafo</STRONG> are boolean functions returning
+ <STRONG>wenclose</STRONG> and <STRONG>wmouse_trafo</STRONG> are boolean functions returning
<STRONG>TRUE</STRONG> or <STRONG>FALSE</STRONG> depending on their test result.
</PRE>
<H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
- These calls were designed for <STRONG><A HREF="ncurses.3x.html">ncurses(3x)</A></STRONG>, and are not
+ These calls were designed for <STRONG><A HREF="ncurses.3x.html">ncurses(3x)</A></STRONG>, and are not
found in SVr4 curses, 4.4BSD curses, or any other previous
version of curses.
The feature macro <STRONG>NCURSES_MOUSE_VERSION</STRONG> is provided so the
- preprocessor can be used to test whether these features
- are present. If the interface is changed, the value of
- <STRONG>NCURSES_MOUSE_VERSION</STRONG> will be incremented. These values
- for <STRONG>NCURSES_MOUSE_VERSION</STRONG> may be specified when configur-
+ preprocessor can be used to test whether these features
+ are present. If the interface is changed, the value of
+ <STRONG>NCURSES_MOUSE_VERSION</STRONG> will be incremented. These values
+ for <STRONG>NCURSES_MOUSE_VERSION</STRONG> may be specified when configur-
ing ncurses:
- 1 has definitions for reserved events. The mask
- uses 28 bits.
+ 1 has definitions for reserved events. The mask uses
+ 28 bits.
- 2 adds definitions for button 5, removes the defi-
- nitions for reserved events. The mask uses 29
- bits.
+ 2 adds definitions for button 5, removes the defini-
+ tions for reserved events. The mask uses 29 bits.
The order of the <STRONG>MEVENT</STRONG> structure members is not guaran-
teed. Additional fields may be added to the structure in
Under <STRONG><A HREF="ncurses.3x.html">ncurses(3x)</A></STRONG>, these calls are implemented using ei-
ther xterm's built-in mouse-tracking API or platform-spe-
cific drivers including
- Alessandro Rubini's gpm server
- FreeBSD sysmouse
- OS/2 EMX
+
+ <STRONG>o</STRONG> Alessandro Rubini's gpm server
+
+ <STRONG>o</STRONG> FreeBSD sysmouse
+
+ <STRONG>o</STRONG> OS/2 EMX
+
If you are using an unsupported configuration, mouse
events will not be visible to <STRONG><A HREF="ncurses.3x.html">ncurses(3x)</A></STRONG> (and the <STRONG>mouse-</STRONG>
<STRONG>mask</STRONG> function will always return <STRONG>0</STRONG>).
in the xterm mouse driver to control the way the terminal
is initialized for mouse operation. The default, if <STRONG>XM</STRONG> is
not found, corresponds to private mode 1000 of xterm:
- \E[?1000%?%p1%{1}%=%th%el%;
- The z member in the event structure is not presently used.
+ \E[?1000%?%p1%{1}%=%th%el%;
+
+ The <EM>z</EM> member in the event structure is not presently used.
It is intended for use with touch screens (which may be
pressure-sensitive) or with 3D-mice/trackballs/power
gloves.
<ul>
<li><a href="#h2-NAME">NAME</a></li>
<li><a href="#h2-SYNOPSIS">SYNOPSIS</a></li>
-<li><a href="#h2-DESCRIPTION">DESCRIPTION</a></li>
+<li><a href="#h2-DESCRIPTION">DESCRIPTION</a>
+<ul>
+<li><a href="#h3-mousemask">mousemask</a></li>
+<li><a href="#h3-Mouse-events">Mouse events</a></li>
+<li><a href="#h3-getmouse">getmouse</a></li>
+<li><a href="#h3-ungetmouse">ungetmouse</a></li>
+<li><a href="#h3-wenclose">wenclose</a></li>
+<li><a href="#h3-wmouse_trafo">wmouse_trafo</a></li>
+<li><a href="#h3-mouse_trafo">mouse_trafo</a></li>
+<li><a href="#h3-mouseinterval">mouseinterval</a></li>
+<li><a href="#h3-has_mouse">has_mouse</a></li>
+</ul>
+</li>
<li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li>
<li><a href="#h2-PORTABILITY">PORTABILITY</a></li>
<li><a href="#h2-BUGS">BUGS</a></li>
<!--
****************************************************************************
- * Copyright (c) 1998-2007,2010 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-2010,2015 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: curs_outopts.3x,v 1.25 2010/12/04 18:38:55 tom Exp @
+ * @Id: curs_outopts.3x,v 1.26 2015/07/21 00:23:43 tom Exp @
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
<STRONG>#include</STRONG> <STRONG><curses.h></STRONG>
- <STRONG>int</STRONG> <STRONG>clearok(WINDOW</STRONG> <STRONG>*win,</STRONG> <STRONG>bool</STRONG> <STRONG>bf);</STRONG>
- <STRONG>int</STRONG> <STRONG>idlok(WINDOW</STRONG> <STRONG>*win,</STRONG> <STRONG>bool</STRONG> <STRONG>bf);</STRONG>
- <STRONG>void</STRONG> <STRONG>idcok(WINDOW</STRONG> <STRONG>*win,</STRONG> <STRONG>bool</STRONG> <STRONG>bf);</STRONG>
- <STRONG>void</STRONG> <STRONG>immedok(WINDOW</STRONG> <STRONG>*win,</STRONG> <STRONG>bool</STRONG> <STRONG>bf);</STRONG>
- <STRONG>int</STRONG> <STRONG>leaveok(WINDOW</STRONG> <STRONG>*win,</STRONG> <STRONG>bool</STRONG> <STRONG>bf);</STRONG>
- <STRONG>int</STRONG> <STRONG>setscrreg(int</STRONG> <STRONG>top,</STRONG> <STRONG>int</STRONG> <STRONG>bot);</STRONG>
- <STRONG>int</STRONG> <STRONG>wsetscrreg(WINDOW</STRONG> <STRONG>*win,</STRONG> <STRONG>int</STRONG> <STRONG>top,</STRONG> <STRONG>int</STRONG> <STRONG>bot);</STRONG>
- <STRONG>int</STRONG> <STRONG>scrollok(WINDOW</STRONG> <STRONG>*win,</STRONG> <STRONG>bool</STRONG> <STRONG>bf);</STRONG>
+ <STRONG>int</STRONG> <STRONG>clearok(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>bool</STRONG> <EM>bf</EM><STRONG>);</STRONG>
+ <STRONG>int</STRONG> <STRONG>idlok(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>bool</STRONG> <EM>bf</EM><STRONG>);</STRONG>
+ <STRONG>void</STRONG> <STRONG>idcok(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>bool</STRONG> <EM>bf</EM><STRONG>);</STRONG>
+ <STRONG>void</STRONG> <STRONG>immedok(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>bool</STRONG> <EM>bf</EM><STRONG>);</STRONG>
+ <STRONG>int</STRONG> <STRONG>leaveok(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>bool</STRONG> <EM>bf</EM><STRONG>);</STRONG>
+ <STRONG>int</STRONG> <STRONG>setscrreg(int</STRONG> <EM>top</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>bot</EM><STRONG>);</STRONG>
+ <STRONG>int</STRONG> <STRONG>wsetscrreg(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>top</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>bot</EM><STRONG>);</STRONG>
+ <STRONG>int</STRONG> <STRONG>scrollok(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>bool</STRONG> <EM>bf</EM><STRONG>);</STRONG>
<STRONG>int</STRONG> <STRONG>nl(void);</STRONG>
<STRONG>int</STRONG> <STRONG>nonl(void);</STRONG>
otherwise stated. It is not necessary to turn these op-
tions off before calling <STRONG>endwin</STRONG>.
+
+</PRE>
+<H3><a name="h3-clearok">clearok</a></H3><PRE>
If <STRONG>clearok</STRONG> is called with <STRONG>TRUE</STRONG> as argument, the next call
to <STRONG>wrefresh</STRONG> with this window will clear the screen com-
pletely and redraw the entire screen from scratch. This
the next call to <STRONG>wrefresh</STRONG> with any window causes the
screen to be cleared and repainted from scratch.
+
+</PRE>
+<H3><a name="h3-idlok">idlok</a></H3><PRE>
If <STRONG>idlok</STRONG> is called with <STRONG>TRUE</STRONG> as second argument, <STRONG>curses</STRONG>
considers using the hardware insert/delete line feature of
terminals so equipped. Calling <STRONG>idlok</STRONG> with <STRONG>FALSE</STRONG> as second
not be used, <STRONG>curses</STRONG> redraws the changed portions of all
lines.
+
+</PRE>
+<H3><a name="h3-idcok">idcok</a></H3><PRE>
If <STRONG>idcok</STRONG> is called with <STRONG>FALSE</STRONG> as second argument, <STRONG>curses</STRONG>
no longer considers using the hardware insert/delete char-
acter feature of terminals so equipped. Use of character
<STRONG>TRUE</STRONG> as second argument re-enables use of character inser-
tion and deletion.
+
+</PRE>
+<H3><a name="h3-immedok">immedok</a></H3><PRE>
If <STRONG>immedok</STRONG> is called with <STRONG>TRUE</STRONG> <STRONG>as</STRONG> <STRONG>argument</STRONG>, any change in
the window image, such as the ones caused by <STRONG>waddch,</STRONG> <STRONG>wclr-</STRONG>
<STRONG>tobot,</STRONG> <STRONG>wscrl</STRONG>, etc., automatically cause a call to <STRONG>wre-</STRONG>
due to repeated calls to <STRONG>wrefresh</STRONG>. It is disabled by de-
fault.
+
+</PRE>
+<H3><a name="h3-leaveok">leaveok</a></H3><PRE>
Normally, the hardware cursor is left at the location of
the window cursor being refreshed. The <STRONG>leaveok</STRONG> option al-
lows the cursor to be left wherever the update happens to
leave it. It is useful for applications where the cursor
is not used, since it reduces the need for cursor motions.
+
+</PRE>
+<H3><a name="h3-setscrreg">setscrreg</a></H3><PRE>
The <STRONG>setscrreg</STRONG> and <STRONG>wsetscrreg</STRONG> routines allow the applica-
tion programmer to set a software scrolling region in a
window. The <EM>top</EM> and <EM>bot</EM> parameters are the line numbers
scrolling region or insert/delete line capability, they
will probably be used by the output routines.)
+
+</PRE>
+<H3><a name="h3-scrollok">scrollok</a></H3><PRE>
The <STRONG>scrollok</STRONG> option controls what happens when the cursor
of a window is moved off the edge of the window or
scrolling region, either as a result of a newline action
scrolling effect on the terminal, it is also necessary to
call <STRONG>idlok</STRONG>).
+
+</PRE>
+<H3><a name="h3-nl_-nonl">nl, nonl</a></H3><PRE>
The <STRONG>nl</STRONG> and <STRONG>nonl</STRONG> routines control whether the underlying
display device translates the return key into newline on
input, and whether it translates newline into return and
cess and <STRONG>ERR</STRONG> upon failure. All other routines that return
an integer always return <STRONG>OK</STRONG>.
- X/Open does not define any error conditions.
+ X/Open Curses does not define any error conditions.
In this implementation, those functions that have a window
pointer will return an error if the window pointer is
</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_addch.3x.html">curs_addch(3x)</A></STRONG>, <STRONG><A HREF="curs_clear.3x.html">curs_clear(3x)</A></STRONG>,
- <STRONG><A HREF="curs_initscr.3x.html">curs_initscr(3x)</A></STRONG>, <STRONG><A HREF="curs_scroll.3x.html">curs_scroll(3x)</A></STRONG>, <STRONG><A HREF="curs_refresh.3x.html">curs_refresh(3x)</A></STRONG>,
+ <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_addch.3x.html">curs_addch(3x)</A></STRONG>, <STRONG><A HREF="curs_clear.3x.html">curs_clear(3x)</A></STRONG>,
+ <STRONG><A HREF="curs_initscr.3x.html">curs_initscr(3x)</A></STRONG>, <STRONG><A HREF="curs_scroll.3x.html">curs_scroll(3x)</A></STRONG>, <STRONG><A HREF="curs_refresh.3x.html">curs_refresh(3x)</A></STRONG>,
<STRONG><A HREF="curs_variables.3x.html">curs_variables(3x)</A></STRONG>.
<ul>
<li><a href="#h2-NAME">NAME</a></li>
<li><a href="#h2-SYNOPSIS">SYNOPSIS</a></li>
-<li><a href="#h2-DESCRIPTION">DESCRIPTION</a></li>
+<li><a href="#h2-DESCRIPTION">DESCRIPTION</a>
+<ul>
+<li><a href="#h3-clearok">clearok</a></li>
+<li><a href="#h3-idlok">idlok</a></li>
+<li><a href="#h3-idcok">idcok</a></li>
+<li><a href="#h3-immedok">immedok</a></li>
+<li><a href="#h3-leaveok">leaveok</a></li>
+<li><a href="#h3-setscrreg">setscrreg</a></li>
+<li><a href="#h3-scrollok">scrollok</a></li>
+<li><a href="#h3-nl_-nonl">nl, nonl</a></li>
+</ul>
+</li>
<li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li>
<li><a href="#h2-PORTABILITY">PORTABILITY</a></li>
<li><a href="#h2-NOTES">NOTES</a></li>
<!--
****************************************************************************
- * Copyright (c) 1998-2010,2013 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-2013,2015 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: curs_overlay.3x,v 1.17 2013/04/06 23:48:51 tom Exp @
+ * @Id: curs_overlay.3x,v 1.18 2015/07/21 00:51:31 tom Exp @
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
<STRONG>#include</STRONG> <STRONG><curses.h></STRONG>
- <STRONG>int</STRONG> <STRONG>overlay(const</STRONG> <STRONG>WINDOW</STRONG> <STRONG>*srcwin,</STRONG> <STRONG>WINDOW</STRONG> <STRONG>*dstwin);</STRONG>
- <STRONG>int</STRONG> <STRONG>overwrite(const</STRONG> <STRONG>WINDOW</STRONG> <STRONG>*srcwin,</STRONG> <STRONG>WINDOW</STRONG> <STRONG>*dstwin);</STRONG>
- <STRONG>int</STRONG> <STRONG>copywin(const</STRONG> <STRONG>WINDOW</STRONG> <STRONG>*srcwin,</STRONG> <STRONG>WINDOW</STRONG> <STRONG>*dstwin,</STRONG> <STRONG>int</STRONG>
- <STRONG>sminrow,</STRONG>
- <STRONG>int</STRONG> <STRONG>smincol,</STRONG> <STRONG>int</STRONG> <STRONG>dminrow,</STRONG> <STRONG>int</STRONG> <STRONG>dmincol,</STRONG> <STRONG>int</STRONG> <STRONG>dmaxrow,</STRONG>
- <STRONG>int</STRONG> <STRONG>dmaxcol,</STRONG> <STRONG>int</STRONG> <STRONG>overlay);</STRONG>
+ <STRONG>int</STRONG> <STRONG>overlay(const</STRONG> <STRONG>WINDOW</STRONG> <STRONG>*</STRONG><EM>srcwin</EM><STRONG>,</STRONG> <STRONG>WINDOW</STRONG> <STRONG>*</STRONG><EM>dstwin</EM><STRONG>);</STRONG>
+ <STRONG>int</STRONG> <STRONG>overwrite(const</STRONG> <STRONG>WINDOW</STRONG> <STRONG>*</STRONG><EM>srcwin</EM><STRONG>,</STRONG> <STRONG>WINDOW</STRONG> <STRONG>*</STRONG><EM>dstwin</EM><STRONG>);</STRONG>
+ <STRONG>int</STRONG> <STRONG>copywin(const</STRONG> <STRONG>WINDOW</STRONG> <STRONG>*</STRONG><EM>srcwin</EM><STRONG>,</STRONG> <STRONG>WINDOW</STRONG> <STRONG>*</STRONG><EM>dstwin</EM><STRONG>,</STRONG> <STRONG>int</STRONG>
+ <EM>sminrow</EM><STRONG>,</STRONG>
+ <STRONG>int</STRONG> <EM>smincol</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>dminrow</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>dmincol</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>dmaxrow</EM><STRONG>,</STRONG>
+ <STRONG>int</STRONG> <EM>dmaxcol</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>overlay</EM><STRONG>);</STRONG>
</PRE>
<H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+
+</PRE>
+<H3><a name="h3-overlay_-overwrite">overlay, overwrite</a></H3><PRE>
The <STRONG>overlay</STRONG> and <STRONG>overwrite</STRONG> routines overlay <EM>srcwin</EM> on top
of <EM>dstwin</EM>. <EM>scrwin</EM> and <EM>dstwin</EM> are not required to be the
same size; only text where the two windows overlap is
copied. The difference is that <STRONG>overlay</STRONG> is non-destructive
(blanks are not copied) whereas <STRONG>overwrite</STRONG> is destructive.
+
+</PRE>
+<H3><a name="h3-copywin">copywin</a></H3><PRE>
The <STRONG>copywin</STRONG> routine provides a finer granularity of con-
trol over the <STRONG>overlay</STRONG> and <STRONG>overwrite</STRONG> routines. As in the
<STRONG>prefresh</STRONG> routine, a rectangle is specified in the destina-
<ul>
<li><a href="#h2-NAME">NAME</a></li>
<li><a href="#h2-SYNOPSIS">SYNOPSIS</a></li>
-<li><a href="#h2-DESCRIPTION">DESCRIPTION</a></li>
+<li><a href="#h2-DESCRIPTION">DESCRIPTION</a>
+<ul>
+<li><a href="#h3-overlay_-overwrite">overlay, overwrite</a></li>
+<li><a href="#h3-copywin">copywin</a></li>
+</ul>
+</li>
<li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li>
<li><a href="#h2-NOTES">NOTES</a></li>
<li><a href="#h2-PORTABILITY">PORTABILITY</a></li>
<!--
****************************************************************************
- * Copyright (c) 1998-2005,2010 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-2010,2015 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: curs_pad.3x,v 1.17 2010/12/04 18:41:07 tom Exp @
+ * @Id: curs_pad.3x,v 1.18 2015/07/21 08:58:44 tom Exp @
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
<STRONG>#include</STRONG> <STRONG><curses.h></STRONG>
- <STRONG>WINDOW</STRONG> <STRONG>*newpad(int</STRONG> <STRONG>nlines,</STRONG> <STRONG>int</STRONG> <STRONG>ncols);</STRONG>
- <STRONG>WINDOW</STRONG> <STRONG>*subpad(WINDOW</STRONG> <STRONG>*orig,</STRONG> <STRONG>int</STRONG> <STRONG>nlines,</STRONG> <STRONG>int</STRONG> <STRONG>ncols,</STRONG>
- <STRONG>int</STRONG> <STRONG>begin_y,</STRONG> <STRONG>int</STRONG> <STRONG>begin_x);</STRONG>
- <STRONG>int</STRONG> <STRONG>prefresh(WINDOW</STRONG> <STRONG>*pad,</STRONG> <STRONG>int</STRONG> <STRONG>pminrow,</STRONG> <STRONG>int</STRONG> <STRONG>pmincol,</STRONG>
- <STRONG>int</STRONG> <STRONG>sminrow,</STRONG> <STRONG>int</STRONG> <STRONG>smincol,</STRONG> <STRONG>int</STRONG> <STRONG>smaxrow,</STRONG> <STRONG>int</STRONG> <STRONG>smaxcol);</STRONG>
- <STRONG>int</STRONG> <STRONG>pnoutrefresh(WINDOW</STRONG> <STRONG>*pad,</STRONG> <STRONG>int</STRONG> <STRONG>pminrow,</STRONG> <STRONG>int</STRONG> <STRONG>pmincol,</STRONG>
- <STRONG>int</STRONG> <STRONG>sminrow,</STRONG> <STRONG>int</STRONG> <STRONG>smincol,</STRONG> <STRONG>int</STRONG> <STRONG>smaxrow,</STRONG> <STRONG>int</STRONG> <STRONG>smaxcol);</STRONG>
- <STRONG>int</STRONG> <STRONG>pechochar(WINDOW</STRONG> <STRONG>*pad,</STRONG> <STRONG>chtype</STRONG> <STRONG>ch);</STRONG>
- <STRONG>int</STRONG> <STRONG>pecho_wchar(WINDOW</STRONG> <STRONG>*pad,</STRONG> <STRONG>const</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*wch);</STRONG>
+ <STRONG>WINDOW</STRONG> <STRONG>*newpad(int</STRONG> <EM>nlines</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>ncols</EM><STRONG>);</STRONG>
+ <STRONG>WINDOW</STRONG> <STRONG>*subpad(WINDOW</STRONG> <STRONG>*</STRONG><EM>orig</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>nlines</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>ncols</EM><STRONG>,</STRONG>
+ <STRONG>int</STRONG> <EM>begin</EM><STRONG>_</STRONG><EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>begin</EM><STRONG>_</STRONG><EM>x</EM><STRONG>);</STRONG>
+ <STRONG>int</STRONG> <STRONG>prefresh(WINDOW</STRONG> <STRONG>*</STRONG><EM>pad</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>pminrow</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>pmincol</EM><STRONG>,</STRONG>
+ <STRONG>int</STRONG> <EM>sminrow</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>smincol</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>smaxrow</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>smaxcol</EM><STRONG>);</STRONG>
+ <STRONG>int</STRONG> <STRONG>pnoutrefresh(WINDOW</STRONG> <STRONG>*</STRONG><EM>pad</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>pminrow</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>pmincol</EM><STRONG>,</STRONG>
+ <STRONG>int</STRONG> <EM>sminrow</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>smincol</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>smaxrow</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>smaxcol</EM><STRONG>);</STRONG>
+ <STRONG>int</STRONG> <STRONG>pechochar(WINDOW</STRONG> <STRONG>*</STRONG><EM>pad</EM><STRONG>,</STRONG> <STRONG>chtype</STRONG> <EM>ch</EM><STRONG>);</STRONG>
+ <STRONG>int</STRONG> <STRONG>pecho_wchar(WINDOW</STRONG> <STRONG>*</STRONG><EM>pad</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>wch</EM><STRONG>);</STRONG>
</PRE>
<H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+
+</PRE>
+<H3><a name="h3-newpad">newpad</a></H3><PRE>
The <STRONG>newpad</STRONG> routine creates and returns a pointer to a new
pad data structure with the given number of lines, <EM>nlines</EM>,
and columns, <EM>ncols</EM>. A pad is like a window, except that
of the pad to be displayed and the location on the screen
to be used for the display.
+
+</PRE>
+<H3><a name="h3-subpad">subpad</a></H3><PRE>
The <STRONG>subpad</STRONG> routine creates and returns a pointer to a sub-
window within a pad with the given number of lines,
<EM>nlines</EM>, and columns, <EM>ncols</EM>. Unlike <STRONG>subwin</STRONG>, which uses
ten be necessary to call <STRONG>touchwin</STRONG> or <STRONG>touchline</STRONG> on <EM>orig</EM> be-
fore calling <STRONG>prefresh</STRONG>.
+
+</PRE>
+<H3><a name="h3-prefresh_-pnoutrefresh">prefresh, pnoutrefresh</a></H3><PRE>
The <STRONG>prefresh</STRONG> and <STRONG>pnoutrefresh</STRONG> routines are analogous to
<STRONG>wrefresh</STRONG> and <STRONG>wnoutrefresh</STRONG> except that they relate to pads
instead of windows. The additional parameters are needed
respective structures. Negative values of <EM>pminrow</EM>, <EM>pmin-</EM>
<EM>col</EM>, <EM>sminrow</EM>, or <EM>smincol</EM> are treated as if they were zero.
+
+</PRE>
+<H3><a name="h3-pechochar">pechochar</a></H3><PRE>
The <STRONG>pechochar</STRONG> routine is functionally equivalent to a call
to <STRONG>addch</STRONG> followed by a call to <STRONG>refresh</STRONG>, a call to <STRONG>waddch</STRONG>
followed by a call to <STRONG>wrefresh</STRONG>, or a call to <STRONG>waddch</STRONG> fol-
last location of the pad on the screen is reused for the
arguments to <STRONG>prefresh</STRONG>.
+
+</PRE>
+<H3><a name="h3-pecho_wchar">pecho_wchar</a></H3><PRE>
The <STRONG>pecho_wchar</STRONG> function is the analogous wide-character
form of <STRONG>pechochar</STRONG>. It outputs one character to a pad and
immediately refreshes the pad. It does this by a call to
X/Open does not define any error conditions. In this im-
plementation
- <STRONG>prefresh</STRONG> and <STRONG>pnoutrefresh</STRONG>
- return an error if the window pointer is null,
- or if the window is not really a pad or if the
- area to refresh extends off-screen or if the
- minimum coordinates are greater than the maxi-
- mum.
+ <STRONG>prefresh</STRONG> and <STRONG>pnoutrefresh</STRONG>
+ return an error if the window pointer is null, or
+ if the window is not really a pad or if the area
+ to refresh extends off-screen or if the minimum
+ coordinates are greater than the maximum.
- <STRONG>pechochar</STRONG>
- returns an error if the window is not really a
- pad, and the associated call to <STRONG>wechochar</STRONG> re-
- turns an error.
+ <STRONG>pechochar</STRONG>
+ returns an error if the window is not really a
+ pad, and the associated call to <STRONG>wechochar</STRONG> returns
+ an error.
- <STRONG>pecho_wchar</STRONG>
- returns an error if the window is not really a
- pad, and the associated call to <STRONG>wecho_wchar</STRONG>
- returns an error.
+ <STRONG>pecho_wchar</STRONG>
+ returns an error if the window is not really a
+ pad, and the associated call to <STRONG>wecho_wchar</STRONG> re-
+ turns an error.
</PRE>
</PRE>
<H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
- The XSI Curses standard, Issue 4 describes these func-
+ The XSI Curses standard, Issue 4 describes these func-
tions.
<ul>
<li><a href="#h2-NAME">NAME</a></li>
<li><a href="#h2-SYNOPSIS">SYNOPSIS</a></li>
-<li><a href="#h2-DESCRIPTION">DESCRIPTION</a></li>
+<li><a href="#h2-DESCRIPTION">DESCRIPTION</a>
+<ul>
+<li><a href="#h3-newpad">newpad</a></li>
+<li><a href="#h3-subpad">subpad</a></li>
+<li><a href="#h3-prefresh_-pnoutrefresh">prefresh, pnoutrefresh</a></li>
+<li><a href="#h3-pechochar">pechochar</a></li>
+<li><a href="#h3-pecho_wchar">pecho_wchar</a></li>
+</ul>
+</li>
<li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li>
<li><a href="#h2-NOTES">NOTES</a></li>
<li><a href="#h2-PORTABILITY">PORTABILITY</a></li>
<!--
****************************************************************************
- * Copyright (c) 1998-2007,2010 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-2010,2015 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: curs_termattrs.3x,v 1.12 2010/12/04 18:40:45 tom Exp @
+ * @Id: curs_termattrs.3x,v 1.13 2015/07/21 00:03:34 tom Exp @
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
</PRE>
<H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+
+</PRE>
+<H3><a name="h3-baudrate">baudrate</a></H3><PRE>
The <STRONG>baudrate</STRONG> routine returns the output speed of the ter-
minal. The number returned is in bits per second, for
example <STRONG>9600</STRONG>, and is an integer.
+
+</PRE>
+<H3><a name="h3-erasechar_-erasewchar">erasechar, erasewchar</a></H3><PRE>
The <STRONG>erasechar</STRONG> routine returns the user's current erase
character.
has been defined, the routine fails and the location ref-
erenced by <EM>ch</EM> is not changed.
+
+</PRE>
+<H3><a name="h3-has_is_-has_il">has_is, has_il</a></H3><PRE>
The <STRONG>has_ic</STRONG> routine is true if the terminal has insert- and
delete- character capabilities.
would be appropriate to turn on physical scrolling using
<STRONG>scrollok</STRONG>.
+
+</PRE>
+<H3><a name="h3-killchar_-killwchar">killchar, killwchar</a></H3><PRE>
The <STRONG>killchar</STRONG> routine returns the user's current line kill
character.
character has been defined, the routine fails and the
location referenced by <EM>ch</EM> is not changed.
+
+</PRE>
+<H3><a name="h3-longname">longname</a></H3><PRE>
The <STRONG>longname</STRONG> routine returns a pointer to a static area
containing a verbose description of the current terminal.
The maximum length of a verbose description is 128 charac-
saved between calls to <STRONG>newterm</STRONG> if <STRONG>longname</STRONG> is going to be
used with multiple terminals.
+
+</PRE>
+<H3><a name="h3-termattrs_-term_attrs">termattrs, term_attrs</a></H3><PRE>
If a given terminal does not support a video attribute
that an application program is trying to use, <STRONG>curses</STRONG> may
substitute a different video attribute for it. The <STRONG>ter-</STRONG>
when a <STRONG>curses</STRONG> program needs complete control over the
appearance of the screen.
+
+</PRE>
+<H3><a name="h3-termname">termname</a></H3><PRE>
The <STRONG>termname</STRONG> routine returns the terminal name used by
<STRONG>setupterm</STRONG>.
<ul>
<li><a href="#h2-NAME">NAME</a></li>
<li><a href="#h2-SYNOPSIS">SYNOPSIS</a></li>
-<li><a href="#h2-DESCRIPTION">DESCRIPTION</a></li>
+<li><a href="#h2-DESCRIPTION">DESCRIPTION</a>
+<ul>
+<li><a href="#h3-baudrate">baudrate</a></li>
+<li><a href="#h3-erasechar_-erasewchar">erasechar, erasewchar</a></li>
+<li><a href="#h3-has_is_-has_il">has_is, has_il</a></li>
+<li><a href="#h3-killchar_-killwchar">killchar, killwchar</a></li>
+<li><a href="#h3-longname">longname</a></li>
+<li><a href="#h3-termattrs_-term_attrs">termattrs, term_attrs</a></li>
+<li><a href="#h3-termname">termname</a></li>
+</ul>
+</li>
<li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li>
<li><a href="#h2-NOTES">NOTES</a></li>
<li><a href="#h2-PORTABILITY">PORTABILITY</a></li>
<!--
****************************************************************************
- * Copyright (c) 2000-2009,2010 Free Software Foundation, Inc. *
+ * Copyright (c) 2000-2010,2015 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: curs_trace.3x,v 1.12 2010/12/04 18:40:45 tom Exp @
+ * @Id: curs_trace.3x,v 1.13 2015/07/20 22:54:44 tom Exp @
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
<STRONG>#include</STRONG> <STRONG><curses.h></STRONG>
- <STRONG>void</STRONG> <STRONG>_tracef(const</STRONG> <STRONG>char</STRONG> <STRONG>*format,</STRONG> <STRONG>...);</STRONG>
- <STRONG>void</STRONG> <STRONG>_tracedump(const</STRONG> <STRONG>char</STRONG> <STRONG>*label,</STRONG> <STRONG>WINDOW</STRONG> <STRONG>*win);</STRONG>
- <STRONG>char</STRONG> <STRONG>*_traceattr(attr_t</STRONG> <STRONG>attr);</STRONG>
- <STRONG>char</STRONG> <STRONG>*_traceattr2(int</STRONG> <STRONG>buffer,</STRONG> <STRONG>chtype</STRONG> <STRONG>ch);</STRONG>
+ <STRONG>void</STRONG> <STRONG>_tracef(const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>format</EM><STRONG>,</STRONG> <STRONG>...);</STRONG>
+ <STRONG>void</STRONG> <STRONG>_tracedump(const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>label</EM><STRONG>,</STRONG> <STRONG>WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>);</STRONG>
+ <STRONG>char</STRONG> <STRONG>*_traceattr(attr_t</STRONG> <EM>attr</EM><STRONG>);</STRONG>
+ <STRONG>char</STRONG> <STRONG>*_traceattr2(int</STRONG> <EM>buffer</EM><STRONG>,</STRONG> <STRONG>chtype</STRONG> <EM>ch</EM><STRONG>);</STRONG>
<STRONG>char</STRONG> <STRONG>*_nc_tracebits(void);</STRONG>
- <STRONG>char</STRONG> <STRONG>*</STRONG> <STRONG>_tracecchar_t(const</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*string);</STRONG>
- <STRONG>char</STRONG> <STRONG>*</STRONG> <STRONG>_tracecchar_t2(int</STRONG> <STRONG>buffer,</STRONG> <STRONG>const</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*string);</STRONG>
- <STRONG>char</STRONG> <STRONG>*_tracechar(int</STRONG> <STRONG>ch);</STRONG>
- <STRONG>char</STRONG> <STRONG>*_tracechtype(chtype</STRONG> <STRONG>ch);</STRONG>
- <STRONG>char</STRONG> <STRONG>*_tracechtype2(int</STRONG> <STRONG>buffer,</STRONG> <STRONG>chtype</STRONG> <STRONG>ch);</STRONG>
- <STRONG>char</STRONG> <STRONG>*_tracemouse(const</STRONG> <STRONG>MEVENT</STRONG> <STRONG>*event);</STRONG>
- <STRONG>void</STRONG> <STRONG>trace(const</STRONG> <STRONG>unsigned</STRONG> <STRONG>int</STRONG> <STRONG>param);</STRONG>
+ <STRONG>char</STRONG> <STRONG>*</STRONG> <STRONG>_tracecchar_t(const</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>string</EM><STRONG>);</STRONG>
+ <STRONG>char</STRONG> <STRONG>*</STRONG> <STRONG>_tracecchar_t2(int</STRONG> <EM>buffer</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>string</EM><STRONG>);</STRONG>
+ <STRONG>char</STRONG> <STRONG>*_tracechar(int</STRONG> <EM>ch</EM><STRONG>);</STRONG>
+ <STRONG>char</STRONG> <STRONG>*_tracechtype(chtype</STRONG> <EM>ch</EM><STRONG>);</STRONG>
+ <STRONG>char</STRONG> <STRONG>*_tracechtype2(int</STRONG> <EM>buffer</EM><STRONG>,</STRONG> <STRONG>chtype</STRONG> <EM>ch</EM><STRONG>);</STRONG>
+ <STRONG>char</STRONG> <STRONG>*_tracemouse(const</STRONG> <STRONG>MEVENT</STRONG> <STRONG>*</STRONG><EM>event</EM><STRONG>);</STRONG>
+ <STRONG>void</STRONG> <STRONG>trace(const</STRONG> <STRONG>unsigned</STRONG> <STRONG>int</STRONG> <EM>param</EM><STRONG>);</STRONG>
</PRE>
The <STRONG>trace</STRONG> routines are used for debugging the ncurses li-
braries, as well as applications which use the ncurses li-
braries. These functions are normally available only with
- the debugging library <EM>libncurses</EM><STRONG>_</STRONG><EM>g.a</EM>, but may be compiled
- into any model (shared, static, profile) by defining the
- symbol <STRONG>TRACE</STRONG>. Additionally, some functions are only
- available with the wide-character configuration of the li-
- braries.
-
- The principal parts of this interface are the <STRONG>trace</STRONG> rou-
- tine which selectively enables different tracing features,
- and the <STRONG>_tracef</STRONG> routine which writes formatted data to the
- <EM>trace</EM> file.
-
- Calling <STRONG>trace</STRONG> with a nonzero parameter opens the file
- <STRONG>trace</STRONG> in the current directory for output. The parameter
+ the debugging library e.g., <EM>libncurses</EM><STRONG>_</STRONG><EM>g.a</EM>, but may be
+ compiled into any model (shared, static, profile) by
+ defining the symbol <STRONG>TRACE</STRONG>. Additionally, some functions
+ are only available with the wide-character configuration
+ of the libraries.
+
+ The principal parts of this interface are
+
+ <STRONG>o</STRONG> <STRONG>trace</STRONG>, which selectively enables different tracing
+ features, and
+
+ <STRONG>o</STRONG> <STRONG>_tracef</STRONG>, which writes formatted data to the <EM>trace</EM>
+ file.
+
+ Calling <STRONG>trace</STRONG> with a nonzero parameter opens the file
+ <STRONG>trace</STRONG> in the current directory for output. The parameter
is formed by OR'ing values from the list of <STRONG>TRACE_</STRONG><EM>xxx</EM> def-
initions in <STRONG><curses.h></STRONG>. These include:
- TRACE_DISABLE
+ <STRONG>TRACE_DISABLE</STRONG>
turn off tracing.
- TRACE_TIMES
+ <STRONG>TRACE_TIMES</STRONG>
trace user and system times of updates.
- TRACE_TPUTS
+ <STRONG>TRACE_TPUTS</STRONG>
trace tputs calls.
- TRACE_UPDATE
+ <STRONG>TRACE_UPDATE</STRONG>
trace update actions, old & new screens.
- TRACE_MOVE
+ <STRONG>TRACE_MOVE</STRONG>
trace cursor movement and scrolling.
- TRACE_CHARPUT
+ <STRONG>TRACE_CHARPUT</STRONG>
trace all character outputs.
- TRACE_ORDINARY
- trace all update actions. The old and new screen
- contents are written to the trace file for each re-
+ <STRONG>TRACE_ORDINARY</STRONG>
+ trace all update actions. The old and new screen
+ contents are written to the trace file for each re-
fresh.
- TRACE_CALLS
+ <STRONG>TRACE_CALLS</STRONG>
trace all curses calls. The parameters for each call
are traced, as well as return values.
- TRACE_VIRTPUT
+ <STRONG>TRACE_VIRTPUT</STRONG>
trace virtual character puts, i.e., calls to <STRONG>addch</STRONG>.
- TRACE_IEVENT
+ <STRONG>TRACE_IEVENT</STRONG>
trace low-level input processing, including timeouts.
- TRACE_BITS
+ <STRONG>TRACE_BITS</STRONG>
trace state of TTY control bits.
- TRACE_ICALLS
+ <STRONG>TRACE_ICALLS</STRONG>
trace internal/nested calls.
- TRACE_CCALLS
+ <STRONG>TRACE_CCALLS</STRONG>
trace per-character calls.
- TRACE_DATABASE
+ <STRONG>TRACE_DATABASE</STRONG>
trace read/write of terminfo/termcap data.
- TRACE_ATTRS
+ <STRONG>TRACE_ATTRS</STRONG>
trace changes to video attributes and colors.
- TRACE_MAXIMUM
- maximum trace level, enables all of the separate
+ <STRONG>TRACE_MAXIMUM</STRONG>
+ maximum trace level, enables all of the separate
trace features.
- Some tracing features are enabled whenever the <STRONG>trace</STRONG> pa-
- rameter is nonzero. Some features overlap. The specific
+ Some tracing features are enabled whenever the <STRONG>trace</STRONG> pa-
+ rameter is nonzero. Some features overlap. The specific
names are used as a guideline.
+ The other functions either return a pointer to a string-
+ area (allocated by the corresponding function), or return
+ no value (such as <STRONG>_tracedump</STRONG>, which implements the screen
+ dump for <STRONG>TRACE_UPDATE</STRONG>). The caller should not free these
+ strings, since the allocation is reused on successive
+ calls. To work around the problem of a single string-area
+ per function, some use a buffer-number parameter, telling
+ the library to allocate additional string-areas.
+
These functions check the <STRONG>NCURSES_TRACE</STRONG> environment vari-
able, to set the tracing feature as if <STRONG>trace</STRONG> was called:
- filter, initscr, new_prescr, newterm, nofilter,
- ripoffline, setupterm, slk_init, tgetent
+ filter, initscr, new_prescr, newterm, nofilter,
+ restartterm, ripoffline, setupterm, slk_init, tge-
+ tent, use_env, use_extended_names, use_tioctl
</PRE>
<H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
- Routines which return a value are designed to be used as
+ Routines which return a value are designed to be used as
parameters to the <STRONG>_tracef</STRONG> routine.
</PRE>
<H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
- These functions are not part of the XSI interface. Some
- other curses implementations are known to have similar,
- undocumented features, but they are not compatible with
+ These functions are not part of the XSI interface. Some
+ other curses implementations are known to have similar,
+ undocumented features, but they are not compatible with
ncurses.
<!--
****************************************************************************
- * Copyright (c) 1998-2010,2014 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-2014,2015 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: curs_window.3x,v 1.18 2014/03/01 23:36:38 tom Exp @
+ * @Id: curs_window.3x,v 1.19 2015/07/21 08:25:23 tom Exp @
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<STRONG>#include</STRONG> <STRONG><curses.h></STRONG>
<STRONG>WINDOW</STRONG> <STRONG>*newwin(</STRONG>
- <STRONG>int</STRONG> <STRONG>nlines,</STRONG> <STRONG>int</STRONG> <STRONG>ncols,</STRONG>
- <STRONG>int</STRONG> <STRONG>begin_y,</STRONG> <STRONG>int</STRONG> <STRONG>begin_x);</STRONG>
- <STRONG>int</STRONG> <STRONG>delwin(WINDOW</STRONG> <STRONG>*win);</STRONG>
- <STRONG>int</STRONG> <STRONG>mvwin(WINDOW</STRONG> <STRONG>*win,</STRONG> <STRONG>int</STRONG> <STRONG>y,</STRONG> <STRONG>int</STRONG> <STRONG>x);</STRONG>
- <STRONG>WINDOW</STRONG> <STRONG>*subwin(WINDOW</STRONG> <STRONG>*orig,</STRONG>
- <STRONG>int</STRONG> <STRONG>nlines,</STRONG> <STRONG>int</STRONG> <STRONG>ncols,</STRONG>
- <STRONG>int</STRONG> <STRONG>begin_y,</STRONG> <STRONG>int</STRONG> <STRONG>begin_x);</STRONG>
- <STRONG>WINDOW</STRONG> <STRONG>*derwin(WINDOW</STRONG> <STRONG>*orig,</STRONG>
- <STRONG>int</STRONG> <STRONG>nlines,</STRONG> <STRONG>int</STRONG> <STRONG>ncols,</STRONG>
- <STRONG>int</STRONG> <STRONG>begin_y,</STRONG> <STRONG>int</STRONG> <STRONG>begin_x);</STRONG>
- <STRONG>int</STRONG> <STRONG>mvderwin(WINDOW</STRONG> <STRONG>*win,</STRONG> <STRONG>int</STRONG> <STRONG>par_y,</STRONG> <STRONG>int</STRONG> <STRONG>par_x);</STRONG>
- <STRONG>WINDOW</STRONG> <STRONG>*dupwin(WINDOW</STRONG> <STRONG>*win);</STRONG>
- <STRONG>void</STRONG> <STRONG>wsyncup(WINDOW</STRONG> <STRONG>*win);</STRONG>
- <STRONG>int</STRONG> <STRONG>syncok(WINDOW</STRONG> <STRONG>*win,</STRONG> <STRONG>bool</STRONG> <STRONG>bf);</STRONG>
- <STRONG>void</STRONG> <STRONG>wcursyncup(WINDOW</STRONG> <STRONG>*win);</STRONG>
- <STRONG>void</STRONG> <STRONG>wsyncdown(WINDOW</STRONG> <STRONG>*win);</STRONG>
+ <STRONG>int</STRONG> <EM>nlines</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>ncols</EM><STRONG>,</STRONG>
+ <STRONG>int</STRONG> <EM>begin</EM><STRONG>_</STRONG><EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>begin</EM><STRONG>_</STRONG><EM>x</EM><STRONG>);</STRONG>
+ <STRONG>int</STRONG> <STRONG>delwin(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>);</STRONG>
+ <STRONG>int</STRONG> <STRONG>mvwin(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>x</EM><STRONG>);</STRONG>
+ <STRONG>WINDOW</STRONG> <STRONG>*subwin(WINDOW</STRONG> <STRONG>*</STRONG><EM>orig</EM><STRONG>,</STRONG>
+ <STRONG>int</STRONG> <EM>nlines</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>ncols</EM><STRONG>,</STRONG>
+ <STRONG>int</STRONG> <EM>begin</EM><STRONG>_</STRONG><EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>begin</EM><STRONG>_</STRONG><EM>x</EM><STRONG>);</STRONG>
+ <STRONG>WINDOW</STRONG> <STRONG>*derwin(WINDOW</STRONG> <STRONG>*</STRONG><EM>orig</EM><STRONG>,</STRONG>
+ <STRONG>int</STRONG> <EM>nlines</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>ncols</EM><STRONG>,</STRONG>
+ <STRONG>int</STRONG> <EM>begin</EM><STRONG>_</STRONG><EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>begin</EM><STRONG>_</STRONG><EM>x</EM><STRONG>);</STRONG>
+ <STRONG>int</STRONG> <STRONG>mvderwin(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>par</EM><STRONG>_</STRONG><EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>par</EM><STRONG>_</STRONG><EM>x</EM><STRONG>);</STRONG>
+ <STRONG>WINDOW</STRONG> <STRONG>*dupwin(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>);</STRONG>
+ <STRONG>void</STRONG> <STRONG>wsyncup(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>);</STRONG>
+ <STRONG>int</STRONG> <STRONG>syncok(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>bool</STRONG> <EM>bf</EM><STRONG>);</STRONG>
+ <STRONG>void</STRONG> <STRONG>wcursyncup(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>);</STRONG>
+ <STRONG>void</STRONG> <STRONG>wsyncdown(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>);</STRONG>
</PRE>
<H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+
+</PRE>
+<H3><a name="h3-newwin">newwin</a></H3><PRE>
Calling <STRONG>newwin</STRONG> creates and returns a pointer to a new win-
dow with the given number of lines and columns. The upper
left-hand corner of the window is at
A new full-screen window is created by calling
<STRONG>newwin(0,0,0,0)</STRONG>.
+
+</PRE>
+<H3><a name="h3-delwin">delwin</a></H3><PRE>
Calling <STRONG>delwin</STRONG> deletes the named window, freeing all memo-
ry associated with it (it does not actually erase the win-
dow's screen image). Subwindows must be deleted before
the main window can be deleted.
+
+</PRE>
+<H3><a name="h3-mvwin">mvwin</a></H3><PRE>
Calling <STRONG>mvwin</STRONG> moves the window so that the upper left-hand
corner is at position (<EM>x</EM>, <EM>y</EM>). If the move would cause the
window to be off the screen, it is an error and the window
is not moved. Moving subwindows is allowed, but should be
avoided.
+
+</PRE>
+<H3><a name="h3-subwin">subwin</a></H3><PRE>
Calling <STRONG>subwin</STRONG> creates and returns a pointer to a new win-
dow with the given number of lines, <EM>nlines</EM>, and columns,
<EM>ncols</EM>. The window is at position (<EM>begin</EM>_<EM>y</EM>, <EM>begin</EM>_<EM>x</EM>) on
<STRONG>touchwin</STRONG> or <STRONG>touchline</STRONG> on <EM>orig</EM> before calling <STRONG>wrefresh</STRONG> on
the subwindow.
+
+</PRE>
+<H3><a name="h3-derwin">derwin</a></H3><PRE>
Calling <STRONG>derwin</STRONG> is the same as calling <STRONG>subwin,</STRONG> except that
<EM>begin</EM>_<EM>y</EM> and <EM>begin</EM>_<EM>x</EM> are relative to the origin of the win-
dow <EM>orig</EM> rather than the screen. There is no difference
play different parts of the parent window at the same
physical position on the screen.
+
+</PRE>
+<H3><a name="h3-dupwin">dupwin</a></H3><PRE>
Calling <STRONG>dupwin</STRONG> creates an exact duplicate of the window
<EM>win</EM>.
+
+</PRE>
+<H3><a name="h3-wsyncup">wsyncup</a></H3><PRE>
Calling <STRONG>wsyncup</STRONG> touches all locations in ancestors of <EM>win</EM>
that are changed in <EM>win</EM>. If <STRONG>syncok</STRONG> is called with second
argument <STRONG>TRUE</STRONG> then <STRONG>wsyncup</STRONG> is called automatically whenev-
er there is a change in the window.
+
+</PRE>
+<H3><a name="h3-wsyncdown">wsyncdown</a></H3><PRE>
The <STRONG>wsyncdown</STRONG> routine touches each location in <EM>win</EM> that
has been touched in any of its ancestor windows. This
routine is called by <STRONG>wrefresh</STRONG>, so it should almost never
be necessary to call it manually.
+
+</PRE>
+<H3><a name="h3-wcursyncup">wcursyncup</a></H3><PRE>
The routine <STRONG>wcursyncup</STRONG> updates the current cursor position
of all the ancestors of the window to reflect the current
cursor position of the window.
<ul>
<li><a href="#h2-NAME">NAME</a></li>
<li><a href="#h2-SYNOPSIS">SYNOPSIS</a></li>
-<li><a href="#h2-DESCRIPTION">DESCRIPTION</a></li>
+<li><a href="#h2-DESCRIPTION">DESCRIPTION</a>
+<ul>
+<li><a href="#h3-newwin">newwin</a></li>
+<li><a href="#h3-delwin">delwin</a></li>
+<li><a href="#h3-mvwin">mvwin</a></li>
+<li><a href="#h3-subwin">subwin</a></li>
+<li><a href="#h3-derwin">derwin</a></li>
+<li><a href="#h3-dupwin">dupwin</a></li>
+<li><a href="#h3-wsyncup">wsyncup</a></li>
+<li><a href="#h3-wsyncdown">wsyncdown</a></li>
+<li><a href="#h3-wcursyncup">wcursyncup</a></li>
+</ul>
+</li>
<li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li>
<li><a href="#h2-NOTES">NOTES</a></li>
<li><a href="#h2-BUGS">BUGS</a></li>
<STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG> and related pages whose names begin "form_" for
detailed descriptions of the entry points.
- This describes <STRONG>ncurses</STRONG> version 6.0 (patch 20150718).
+ This describes <STRONG>ncurses</STRONG> version 6.0 (patch 20150725).
http://invisible-island.net/ncurses/tctest.html
- This describes <STRONG>ncurses</STRONG> version 6.0 (patch 20150718).
+ This describes <STRONG>ncurses</STRONG> version 6.0 (patch 20150725).
</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="tic.1m.html">tic(1m)</A></STRONG>, <STRONG><A HREF="infocmp.1m.html">infocmp(1m)</A></STRONG>, <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>
- This describes <STRONG>ncurses</STRONG> version 6.0 (patch 20150718).
+ This describes <STRONG>ncurses</STRONG> version 6.0 (patch 20150725).
</PRE>
<STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG> and related pages whose names begin "menu_" for
detailed descriptions of the entry points.
- This describes <STRONG>ncurses</STRONG> version 6.0 (patch 20150718).
+ This describes <STRONG>ncurses</STRONG> version 6.0 (patch 20150725).
<!--
* t
****************************************************************************
- * Copyright (c) 1998-2013,2014 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-2014,2015 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.119 2014/08/09 20:54:30 tom Exp @
+ * @Id: ncurses.3x,v 1.120 2015/07/21 23:37:10 tom Exp @
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
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 6.0 (patch 20150718).
+ <STRONG>ncurses</STRONG> version 6.0 (patch 20150725).
The <STRONG>ncurses</STRONG> library emulates the curses library of System
V Release 4 UNIX, and XPG4 (X/Open Portability Guide)
lation; use of soft label keys; terminfo capabilities; and
access to low-level terminal-manipulation routines.
+
+</PRE>
+<H3><a name="h3-Initialization">Initialization</a></H3><PRE>
The library uses the locale which the calling program has
initialized. That is normally done with <STRONG>setlocale</STRONG>:
<STRONG>TERM</STRONG> has been exported. <STRONG>tset(1)</STRONG> is usually responsible
for doing this. [See <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG> for further details.]
+
+</PRE>
+<H3><a name="h3-Datatypes">Datatypes</a></H3><PRE>
The <STRONG>ncurses</STRONG> library permits manipulation of data struc-
tures, called <EM>windows</EM>, which can be thought of as two-
dimensional arrays of characters representing all or part
characters, and input values use names, defined in
<STRONG><curses.h></STRONG>, such as <STRONG>A_REVERSE</STRONG>, <STRONG>ACS_HLINE</STRONG>, and <STRONG>KEY_LEFT</STRONG>.
+
+</PRE>
+<H3><a name="h3-Environment-variables">Environment variables</a></H3><PRE>
If the environment variables <STRONG>LINES</STRONG> and <STRONG>COLUMNS</STRONG> are set, or
if the program is executing in a window environment, line
and column information in the environment will override
any configuration of the library. There are two common
configurations of the library:
- ncurses
- the "normal" library, which handles 8-bit
- characters. The normal (8-bit) library stores
- characters combined with attributes in <STRONG>chtype</STRONG>
- data.
-
- Attributes alone (no corresponding character)
- may be stored in <STRONG>chtype</STRONG> or the equivalent
- <STRONG>attr_t</STRONG> data. In either case, the data is
- stored in something like an integer.
-
- Each cell (row and column) in a <STRONG>WINDOW</STRONG> is
- stored as a <STRONG>chtype</STRONG>.
-
- ncursesw
- the so-called "wide" library, which handles
- multibyte characters (see the section on
- <STRONG>ALTERNATE</STRONG> <STRONG>CONFIGURATIONS</STRONG>). The "wide" library
- includes all of the calls from the "normal"
- library. It adds about one third more calls
- using data types which store multibyte charac-
- ters:
-
- <STRONG>cchar_t</STRONG>
- corresponds to <STRONG>chtype</STRONG>. However it is a
- structure, because more data is stored
- than can fit into an integer. The char-
- acters are large enough to require a full
- integer value - and there may be more
- than one character per cell. The video
- attributes and color are stored in sepa-
- rate fields of the structure.
-
- Each cell (row and column) in a <STRONG>WINDOW</STRONG> is
- stored as a <STRONG>cchar_t</STRONG>.
-
- <STRONG>wchar_t</STRONG>
- stores a "wide" character. Like <STRONG>chtype</STRONG>,
- this may be an integer.
-
- <STRONG>wint_t</STRONG>
- stores a <STRONG>wchar_t</STRONG> or <STRONG>WEOF</STRONG> - not the same,
- though both may have the same size.
-
- The "wide" library provides new functions
- which are analogous to functions in the "nor-
- mal" library. There is a naming convention
- which relates many of the normal/wide vari-
- ants: a "_w" is inserted into the name. For
- example, <STRONG>waddch</STRONG> becomes <STRONG>wadd_wch</STRONG>.
+ <EM>ncurses</EM>
+ the "normal" library, which handles 8-bit charac-
+ ters. The normal (8-bit) library stores charac-
+ ters combined with attributes in <STRONG>chtype</STRONG> data.
+
+ Attributes alone (no corresponding character) may
+ be stored in <STRONG>chtype</STRONG> or the equivalent <STRONG>attr_t</STRONG> data.
+ In either case, the data is stored in something
+ like an integer.
+
+ Each cell (row and column) in a <STRONG>WINDOW</STRONG> is stored
+ as a <STRONG>chtype</STRONG>.
+
+ <EM>ncursesw</EM>
+ the so-called "wide" library, which handles multi-
+ byte characters (see the section on <STRONG>ALTERNATE</STRONG> <STRONG>CON-</STRONG>
+ <STRONG>FIGURATIONS</STRONG>). The "wide" library includes all of
+ the calls from the "normal" library. It adds
+ about one third more calls using data types which
+ store multibyte characters:
+
+ <STRONG>cchar_t</STRONG>
+ corresponds to <STRONG>chtype</STRONG>. However it is a
+ structure, because more data is stored than
+ can fit into an integer. The characters are
+ large enough to require a full integer value
+ - and there may be more than one character
+ per cell. The video attributes and color are
+ stored in separate fields of the structure.
+
+ Each cell (row and column) in a <STRONG>WINDOW</STRONG> is
+ stored as a <STRONG>cchar_t</STRONG>.
+
+ <STRONG>wchar_t</STRONG>
+ stores a "wide" character. Like <STRONG>chtype</STRONG>, this
+ may be an integer.
+
+ <STRONG>wint_t</STRONG>
+ stores a <STRONG>wchar_t</STRONG> or <STRONG>WEOF</STRONG> - not the same,
+ though both may have the same size.
+
+ The "wide" library provides new functions which
+ are analogous to functions in the "normal"
+ library. There is a naming convention which
+ relates many of the normal/wide variants: a "_w"
+ is inserted into the name. For example, <STRONG>waddch</STRONG>
+ becomes <STRONG>wadd_wch</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
+ of the manual page on which it is described. Routines
+ flagged with `*' are ncurses-specific, not described by
XPG4 or present in SVr4.
<STRONG>curses</STRONG> Routine Name Manual Page Name
_nc_free_and_exit <STRONG><A HREF="curs_memleaks.3x.html">curs_memleaks(3x)</A></STRONG>*
_nc_freeall <STRONG><A HREF="curs_memleaks.3x.html">curs_memleaks(3x)</A></STRONG>*
_nc_tracebits <STRONG><A HREF="curs_trace.3x.html">curs_trace(3x)</A></STRONG>*
-
_traceattr <STRONG><A HREF="curs_trace.3x.html">curs_trace(3x)</A></STRONG>*
_traceattr2 <STRONG><A HREF="curs_trace.3x.html">curs_trace(3x)</A></STRONG>*
_tracechar <STRONG><A HREF="curs_trace.3x.html">curs_trace(3x)</A></STRONG>*
+
_tracechtype <STRONG><A HREF="curs_trace.3x.html">curs_trace(3x)</A></STRONG>*
_tracechtype2 <STRONG><A HREF="curs_trace.3x.html">curs_trace(3x)</A></STRONG>*
_tracedump <STRONG><A HREF="curs_trace.3x.html">curs_trace(3x)</A></STRONG>*
echochar <STRONG><A HREF="curs_addch.3x.html">curs_addch(3x)</A></STRONG>
endwin <STRONG><A HREF="curs_initscr.3x.html">curs_initscr(3x)</A></STRONG>
erase <STRONG><A HREF="curs_clear.3x.html">curs_clear(3x)</A></STRONG>
-
erasechar <STRONG><A HREF="curs_termattrs.3x.html">curs_termattrs(3x)</A></STRONG>
erasewchar <STRONG><A HREF="curs_termattrs.3x.html">curs_termattrs(3x)</A></STRONG>
filter <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>
flash <STRONG><A HREF="curs_beep.3x.html">curs_beep(3x)</A></STRONG>
+
flushinp <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>
get_wch <STRONG><A HREF="curs_get_wch.3x.html">curs_get_wch(3x)</A></STRONG>
get_wstr <STRONG><A HREF="curs_get_wstr.3x.html">curs_get_wstr(3x)</A></STRONG>
is_cleared <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>*
is_idcok <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>*
is_idlok <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>*
-
is_immedok <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>*
is_keypad <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>*
is_leaveok <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>*
is_linetouched <STRONG><A HREF="curs_touch.3x.html">curs_touch(3x)</A></STRONG>
is_nodelay <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>*
+
is_notimeout <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>*
is_scrollok <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>*
is_syncok <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>*
mvinsstr <STRONG><A HREF="curs_insstr.3x.html">curs_insstr(3x)</A></STRONG>
mvinstr <STRONG><A HREF="curs_instr.3x.html">curs_instr(3x)</A></STRONG>
mvinwstr <STRONG><A HREF="curs_inwstr.3x.html">curs_inwstr(3x)</A></STRONG>
-
mvprintw <STRONG><A HREF="curs_printw.3x.html">curs_printw(3x)</A></STRONG>
mvscanw <STRONG><A HREF="curs_scanw.3x.html">curs_scanw(3x)</A></STRONG>
mvvline <STRONG><A HREF="curs_border.3x.html">curs_border(3x)</A></STRONG>
mvvline_set <STRONG><A HREF="curs_border_set.3x.html">curs_border_set(3x)</A></STRONG>
mvwadd_wch <STRONG><A HREF="curs_add_wch.3x.html">curs_add_wch(3x)</A></STRONG>
mvwadd_wchnstr <STRONG><A HREF="curs_add_wchstr.3x.html">curs_add_wchstr(3x)</A></STRONG>
+
mvwadd_wchstr <STRONG><A HREF="curs_add_wchstr.3x.html">curs_add_wchstr(3x)</A></STRONG>
mvwaddch <STRONG><A HREF="curs_addch.3x.html">curs_addch(3x)</A></STRONG>
mvwaddchnstr <STRONG><A HREF="curs_addchstr.3x.html">curs_addchstr(3x)</A></STRONG>
pnoutrefresh <STRONG><A HREF="curs_pad.3x.html">curs_pad(3x)</A></STRONG>
prefresh <STRONG><A HREF="curs_pad.3x.html">curs_pad(3x)</A></STRONG>
printw <STRONG><A HREF="curs_printw.3x.html">curs_printw(3x)</A></STRONG>
-
putp <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>
putwin <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>
qiflush <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
redrawwin <STRONG><A HREF="curs_refresh.3x.html">curs_refresh(3x)</A></STRONG>
refresh <STRONG><A HREF="curs_refresh.3x.html">curs_refresh(3x)</A></STRONG>
reset_prog_mode <STRONG><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></STRONG>
+
reset_shell_mode <STRONG><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></STRONG>
resetty <STRONG><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></STRONG>
resizeterm <STRONG><A HREF="resizeterm.3x.html">resizeterm(3x)</A></STRONG>*
touchline <STRONG><A HREF="curs_touch.3x.html">curs_touch(3x)</A></STRONG>
touchwin <STRONG><A HREF="curs_touch.3x.html">curs_touch(3x)</A></STRONG>
tparm <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>
-
tputs <STRONG><A HREF="curs_termcap.3x.html">curs_termcap(3x)</A></STRONG>
tputs <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>
trace <STRONG><A HREF="curs_trace.3x.html">curs_trace(3x)</A></STRONG>*
unget_wch <STRONG><A HREF="curs_get_wch.3x.html">curs_get_wch(3x)</A></STRONG>
ungetch <STRONG><A HREF="curs_getch.3x.html">curs_getch(3x)</A></STRONG>
ungetmouse <STRONG><A HREF="curs_mouse.3x.html">curs_mouse(3x)</A></STRONG>*
+
untouchwin <STRONG><A HREF="curs_touch.3x.html">curs_touch(3x)</A></STRONG>
use_default_colors <STRONG><A HREF="default_colors.3x.html">default_colors(3x)</A></STRONG>*
use_env <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>
wgetch <STRONG><A HREF="curs_getch.3x.html">curs_getch(3x)</A></STRONG>
wgetn_wstr <STRONG><A HREF="curs_get_wstr.3x.html">curs_get_wstr(3x)</A></STRONG>
wgetnstr <STRONG><A HREF="curs_getstr.3x.html">curs_getstr(3x)</A></STRONG>
-
wgetstr <STRONG><A HREF="curs_getstr.3x.html">curs_getstr(3x)</A></STRONG>
whline <STRONG><A HREF="curs_border.3x.html">curs_border(3x)</A></STRONG>
whline_set <STRONG><A HREF="curs_border_set.3x.html">curs_border_set(3x)</A></STRONG>
winch <STRONG><A HREF="curs_inch.3x.html">curs_inch(3x)</A></STRONG>
winchnstr <STRONG><A HREF="curs_inchstr.3x.html">curs_inchstr(3x)</A></STRONG>
winchstr <STRONG><A HREF="curs_inchstr.3x.html">curs_inchstr(3x)</A></STRONG>
+
winnstr <STRONG><A HREF="curs_instr.3x.html">curs_instr(3x)</A></STRONG>
winnwstr <STRONG><A HREF="curs_inwstr.3x.html">curs_inwstr(3x)</A></STRONG>
wins_nwstr <STRONG><A HREF="curs_ins_wstr.3x.html">curs_ins_wstr(3x)</A></STRONG>
</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-
+ 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-
tions.
As a general rule, routines check for null pointers passed
as parameters, and handle this as an error.
- All macros return the value of the <STRONG>w</STRONG> version, except
+ All macros return the value of the <STRONG>w</STRONG> version, except
<STRONG>setscrreg</STRONG>, <STRONG>wsetscrreg</STRONG>, <STRONG>getyx</STRONG>, <STRONG>getbegyx</STRONG>, and <STRONG>getmaxyx</STRONG>. The
- return values of <STRONG>setscrreg</STRONG>, <STRONG>wsetscrreg</STRONG>, <STRONG>getyx</STRONG>, <STRONG>getbegyx</STRONG>,
+ return values of <STRONG>setscrreg</STRONG>, <STRONG>wsetscrreg</STRONG>, <STRONG>getyx</STRONG>, <STRONG>getbegyx</STRONG>,
and <STRONG>getmaxyx</STRONG> are undefined (i.e., these should not be used
as the right-hand side of assignment statements).
ing the runtime behavior of the <STRONG>ncurses</STRONG> library. The most
important ones have been already discussed in detail.
- 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-
- minfo entries provide this feature.
-
- Because this name is also used in development envi-
- ronments to represent the C compiler's name, <STRONG>ncurses</STRONG>
- 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-
- ally are able to obtain the width of the window in
- which they are executing. If neither the <STRONG>COLUMNS</STRONG>
- value nor the terminal's screen size is available,
- <STRONG>ncurses</STRONG> uses the size which may be specified in the
- terminfo database (i.e., the <STRONG>cols</STRONG> capability).
-
- It is important that your application use a correct
- size for the screen. This is not always possible
- because your application may be running on a host
- which does not honor NAWS (Negotiations About Window
- Size), or because you are temporarily running as
- another user. However, setting <STRONG>COLUMNS</STRONG> and/or <STRONG>LINES</STRONG>
- overrides the library's use of the screen size
- obtained from the operating system.
-
- Either <STRONG>COLUMNS</STRONG> or <STRONG>LINES</STRONG> symbols may be specified
- independently. This is mainly useful to circumvent
- legacy misfeatures of terminal descriptions, e.g.,
- xterm which commonly specifies a 65 line screen. For
- best results, <STRONG>lines</STRONG> and <STRONG>cols</STRONG> should not be specified
- in a terminal description for terminals which are run
- as emulations.
-
- Use the <STRONG>use_env</STRONG> function to disable all use of exter-
- nal environment (but not including system calls) to
- determine the screen size. Use the <STRONG>use_tioctl</STRONG> func-
- tion to update <STRONG>COLUMNS</STRONG> or <STRONG>LINES</STRONG> to match the screen
- size obtained from system calls or the terminal data-
- base.
-
- ESCDELAY
- Specifies the total time, in milliseconds, for which
- ncurses will await a character sequence, e.g., a
- function key. The default value, 1000 milliseconds,
- is enough for most uses. However, it is made a vari-
- able to accommodate unusual applications.
-
- The most common instance where you may wish to change
- this value is to work with slow hosts, e.g., running
- on a network. If the host cannot read characters
- rapidly enough, it will have the same effect as if
- the terminal did not send characters rapidly enough.
- The library will still see a timeout.
-
- Note that xterm mouse events are built up from char-
- acter sequences received from the xterm. If your
- application makes heavy use of multiple-clicking, you
- may wish to lengthen this default value because the
- timeout applies to the composed multi-click event as
- well as the individual clicks.
-
- In addition to the environment variable, this imple-
- mentation provides a global variable with the same
- name. Portable applications should not rely upon the
- presence of ESCDELAY in either form, but setting the
- environment variable rather than the global variable
- does not create problems when compiling an applica-
- tion.
-
- HOME Tells <STRONG>ncurses</STRONG> where your home directory is. That is
- where it may read and write auxiliary terminal
- descriptions:
-
- $HOME/.termcap
- $HOME/.terminfo
-
- LINES
- Like COLUMNS, specify the height of the screen in
- characters. See COLUMNS for a detailed description.
-
- MOUSE_BUTTONS_123
- This applies only to the OS/2 EMX port. It specifies
- the order of buttons on the mouse. OS/2 numbers a
- 3-button mouse inconsistently from other platforms:
-
- 1 = left
- 2 = right
- 3 = middle.
-
- This variable lets you customize the mouse. The
- variable must be three numeric digits 1-3 in any
- order, e.g., 123 or 321. If it is not specified,
- <STRONG>ncurses</STRONG> uses 132.
-
- NCURSES_ASSUMED_COLORS
- Override the compiled-in assumption that the termi-
- nal's default colors are white-on-black (see
- <STRONG><A HREF="default_colors.3x.html">default_colors(3x)</A></STRONG>). You may set the foreground and
- background color values with this environment vari-
- able by proving a 2-element list: foreground,back-
- ground. For example, to tell ncurses to not assume
- anything about the colors, set this to "-1,-1". To
- make it green-on-black, set it to "2,0". Any posi-
- 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.
-
- If present, the environment variable is a list of one
- or more terminal names against which the TERM envi-
- ronment variable is matched. Setting it to an empty
- value disables the GPM interface; using the built-in
- support for xterm, etc.
-
- If the environment variable is absent, ncurses will
- attempt to open GPM if TERM contains "linux".
-
- NCURSES_NO_HARD_TABS
- <STRONG>Ncurses</STRONG> may use tabs as part of the cursor movement
- optimization. In some cases, your terminal driver
- may not handle these properly. Set this environment
- variable to disable the feature. You can also adjust
- your <STRONG>stty</STRONG> settings to avoid the problem.
-
- 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
- suppress the highlighting entirely for these termi-
- nals by setting this environment variable.
-
- NCURSES_NO_PADDING
- Most of the terminal descriptions in the terminfo
- database are written for real "hardware" terminals.
- Many people use terminal emulators which run in a
- windowing environment and use curses-based applica-
- tions. Terminal emulators can duplicate all of the
- important aspects of a hardware terminal, but they do
- not have the same limitations. The chief limitation
- of a hardware terminal from the standpoint of your
- application is the management of dataflow, i.e., tim-
- ing. Unless a hardware terminal is interfaced into a
- terminal concentrator (which does flow control), it
- (or your application) must manage dataflow, prevent-
- ing overruns. The cheapest solution (no hardware
- cost) is for your program to do this by pausing after
- operations that the terminal does slowly, such as
- clearing the display.
-
- As a result, many terminal descriptions (including
- the vt100) have delay times embedded. You may wish
- to use these descriptions, but not want to pay the
- performance penalty.
-
- Set the NCURSES_NO_PADDING environment variable to
- disable all but mandatory padding. Mandatory padding
- is used as a part of special control sequences such
- as <EM>flash</EM>.
-
- NCURSES_NO_SETBUF
- This setting is obsolete. Before changes
-
- <STRONG>o</STRONG> started with 5.9 patch 20120825 and
-
- <STRONG>o</STRONG> continued though 5.9 patch 20130126
-
- <STRONG>ncurses</STRONG> enabled buffered output during terminal ini-
- tialization. This was done (as in SVr4 curses) for
- performance reasons. For testing purposes, both of
- <STRONG>ncurses</STRONG> and certain applications, this feature was
- made optional. Setting the NCURSES_NO_SETBUF vari-
- able disabled output buffering, leaving the output in
- the original (usually line buffered) mode.
-
- In the current implementation, ncurses performs its
- own buffering and does not require this workaround.
- It does not modify the buffering of the standard out-
- put.
-
- The reason for the change was to make the behavior
- for interrupts and other signals more robust. One
- drawback is that certain nonconventional programs
- would mix ordinary stdio calls with ncurses calls and
- (usually) work. This is no longer possible since
- ncurses is not using the buffered standard output but
- its own output (to the same file descriptor). As a
- special case, the low-level calls such as <STRONG>putp</STRONG> still
- use the standard output. But high-level curses calls
- do not.
-
- NCURSES_NO_UTF8_ACS
- During initialization, the <STRONG>ncurses</STRONG> library checks for
- special cases where VT100 line-drawing (and the cor-
- responding alternate character set capabilities)
- described in the terminfo are known to be missing.
- Specifically, when running in a UTF-8 locale, the
- Linux console emulator and the GNU screen program
- ignore these. Ncurses checks the TERM environment
- variable for these. For other special cases, you
- should set this environment variable. Doing this
- tells ncurses to use Unicode values which correspond
- to the VT100 line-drawing glyphs. That works for the
- special cases cited, and is likely to work for termi-
- nal emulators.
-
- When setting this variable, you should set it to a
- nonzero value. Setting it to zero (or to a nonnum-
- ber) disables the special check for "linux" and
- "screen".
-
- As an alternative to the environment variable,
- ncurses checks for an extended terminfo capability
- <STRONG>U8</STRONG>. This is a numeric capability which can be com-
- piled using <STRONG>tic</STRONG> <STRONG>-x</STRONG>. For example
-
- # linux console, if patched to provide working
- # VT100 shift-in/shift-out, with corresponding font.
- linux-vt100|linux console with VT100 line-graphics,
- U8#0, use=linux,
-
- # uxterm with vt100Graphics resource set to false
- xterm-utf8|xterm relying on UTF-8 line-graphics,
- U8#1, use=xterm,
-
- The name "U8" is chosen to be two characters, to per-
- mit it to be used by applications that use ncurses'
- termcap interface.
-
- NCURSES_TRACE
- During initialization, the <STRONG>ncurses</STRONG> debugging library
- checks the NCURSES_TRACE environment variable. If it
- is defined, to a numeric value, <STRONG>ncurses</STRONG> calls the
- <STRONG>trace</STRONG> function, using that value as the argument.
-
- The argument values, which are defined in <STRONG>curses.h</STRONG>,
- provide several types of information. When running
- with traces enabled, your application will write the
- file <STRONG>trace</STRONG> to the current directory.
-
- 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
- description in termcap form if it is not available in
- the terminfo database.
-
- The TERMCAP environment variable contains either a
- terminal description (with newlines stripped out), or
- a file name telling where the information denoted by
- the TERM environment variable exists. In either
- case, setting it directs <STRONG>ncurses</STRONG> to ignore the usual
- place for this information, e.g., /etc/termcap.
-
- TERMINFO
- Overrides the directory in which <STRONG>ncurses</STRONG> searches for
- your terminal description. This is the simplest, but
- not the only way to change the list of directories.
- The complete list of directories in order follows:
-
- <STRONG>o</STRONG> the last directory to which <STRONG>ncurses</STRONG> wrote, if
- any, is searched first
-
- <STRONG>o</STRONG> the directory specified by the TERMINFO environ-
- ment variable
-
- <STRONG>o</STRONG> $HOME/.terminfo
-
- <STRONG>o</STRONG> directories listed in the TERMINFO_DIRS environ-
- ment variable
-
- <STRONG>o</STRONG> one or more directories whose names are config-
- ured and compiled into the ncurses library, i.e.,
-
- <STRONG>o</STRONG> /usr/local/ncurses/share/ter-
- minfo:/usr/share/terminfo (corresponding to
- the TERMINFO_DIRS variable)
-
- <STRONG>o</STRONG> /usr/share/terminfo (corresponding to the
- TERMINFO variable)
-
- TERMINFO_DIRS
- Specifies a list of directories to search for termi-
- nal descriptions. The list is separated by colons
- (i.e., ":") on Unix, semicolons on OS/2 EMX.
-
- All of the terminal descriptions are in terminfo
- form. Normally these are stored in a directory tree,
- using subdirectories named by the first letter of the
- terminal names therein.
-
- If <STRONG>ncurses</STRONG> is built with a hashed database, then each
- entry in this list can also be the path of the corre-
- sponding database file.
-
- If <STRONG>ncurses</STRONG> is built with a support for reading term-
- cap files directly, then an entry in this list may be
- the path of a termcap file.
-
- TERMPATH
- If TERMCAP does not hold a file name then <STRONG>ncurses</STRONG>
- checks the TERMPATH environment variable. This is a
- list of filenames separated by spaces or colons
- (i.e., ":") on Unix, semicolons on OS/2 EMX.
-
- If the TERMPATH environment variable is not set,
- <STRONG>ncurses</STRONG> looks in the files /etc/termcap,
- /usr/share/misc/termcap and $HOME/.termcap, in that
- order.
+ <STRONG>CC</STRONG>
+ 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 terminfo
+ entries provide this feature.
+
+ Because this name is also used in development environments
+ to represent the C compiler's name, <STRONG>ncurses</STRONG> ignores it if
+ it does not happen to be a single character.
+
+
+</PRE>
+<H3><a name="h3-BAUDRATE">BAUDRATE</a></H3><PRE>
+ The debugging library checks this environment variable
+ 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.
+
+
+</PRE>
+<H3><a name="h3-COLUMNS">COLUMNS</a></H3><PRE>
+ Specify the width of the screen in characters. Applica-
+ tions running in a windowing environment usually are able
+ to obtain the width of the window in which they are exe-
+ cuting. If neither the <STRONG>COLUMNS</STRONG> value nor the terminal's
+ screen size is available, <STRONG>ncurses</STRONG> uses the size which may
+ be specified in the terminfo database (i.e., the <STRONG>cols</STRONG>
+ capability).
+
+ It is important that your application use a correct size
+ for the screen. This is not always possible because your
+ application may be running on a host which does not honor
+ NAWS (Negotiations About Window Size), or because you are
+ temporarily running as another user. However, setting
+ <STRONG>COLUMNS</STRONG> and/or <STRONG>LINES</STRONG> overrides the library's use of the
+ screen size obtained from the operating system.
+
+ Either <STRONG>COLUMNS</STRONG> or <STRONG>LINES</STRONG> symbols may be specified indepen-
+ dently. This is mainly useful to circumvent legacy mis-
+ features of terminal descriptions, e.g., xterm which com-
+ monly specifies a 65 line screen. For best results, <STRONG>lines</STRONG>
+ and <STRONG>cols</STRONG> should not be specified in a terminal description
+ for terminals which are run as emulations.
+
+ Use the <STRONG>use_env</STRONG> function to disable all use of external
+ environment (but not including system calls) to determine
+ the screen size. Use the <STRONG>use_tioctl</STRONG> function to update
+ <STRONG>COLUMNS</STRONG> or <STRONG>LINES</STRONG> to match the screen size obtained from
+ system calls or the terminal database.
+
+
+</PRE>
+<H3><a name="h3-ESCDELAY">ESCDELAY</a></H3><PRE>
+ Specifies the total time, in milliseconds, for which
+ ncurses will await a character sequence, e.g., a function
+ key. The default value, 1000 milliseconds, is enough for
+ most uses. However, it is made a variable to accommodate
+ unusual applications.
+
+ The most common instance where you may wish to change this
+ value is to work with slow hosts, e.g., running on a net-
+ work. If the host cannot read characters rapidly enough,
+ it will have the same effect as if the terminal did not
+ send characters rapidly enough. The library will still
+ see a timeout.
+
+ Note that xterm mouse events are built up from character
+ sequences received from the xterm. If your application
+ makes heavy use of multiple-clicking, you may wish to
+ lengthen this default value because the timeout applies to
+ the composed multi-click event as well as the individual
+ clicks.
+
+ In addition to the environment variable, this implementa-
+ tion provides a global variable with the same name. Por-
+ table applications should not rely upon the presence of
+ ESCDELAY in either form, but setting the environment vari-
+ able rather than the global variable does not create prob-
+ lems when compiling an application.
+
+
+</PRE>
+<H3><a name="h3-HOME">HOME</a></H3><PRE>
+ Tells <STRONG>ncurses</STRONG> where your home directory is. That is where
+ it may read and write auxiliary terminal descriptions:
+
+ $HOME/.termcap
+ $HOME/.terminfo
+
+
+</PRE>
+<H3><a name="h3-LINES">LINES</a></H3><PRE>
+ Like COLUMNS, specify the height of the screen in charac-
+ ters. See COLUMNS for a detailed description.
+
+
+</PRE>
+<H3><a name="h3-MOUSE_BUTTONS_123">MOUSE_BUTTONS_123</a></H3><PRE>
+ This applies only to the OS/2 EMX port. It specifies the
+ order of buttons on the mouse. OS/2 numbers a 3-button
+ mouse inconsistently from other platforms:
+
+ 1 = left
+ 2 = right
+ 3 = middle.
+
+ This variable lets you customize the mouse. The variable
+ must be three numeric digits 1-3 in any order, e.g., 123
+ or 321. If it is not specified, <STRONG>ncurses</STRONG> uses 132.
+
+
+</PRE>
+<H3><a name="h3-NCURSES_ASSUMED_COLORS">NCURSES_ASSUMED_COLORS</a></H3><PRE>
+ Override the compiled-in assumption that the terminal's
+ default colors are white-on-black (see <STRONG>default_col-</STRONG>
+ <STRONG><A HREF="default_colors.3x.html">ors(3x)</A></STRONG>). You may set the foreground and background color
+ values with this environment variable by proving a 2-ele-
+ ment list: foreground,background. For example, to tell
+ ncurses to not assume anything about the colors, set this
+ to "-1,-1". To make it green-on-black, set it to "2,0".
+ Any positive value from zero to the terminfo <STRONG>max_colors</STRONG>
+ value is allowed.
+
+
+</PRE>
+<H3><a name="h3-NCURSES_CONSOLE2">NCURSES_CONSOLE2</a></H3><PRE>
+ This applies only to the MinGW port of ncurses.
+
+ The <STRONG>Console2</STRONG> program's handling of the Microsoft Console
+ API call <STRONG>CreateConsoleScreenBuffer</STRONG> is defective. Applica-
+ tions which use this will hang. However, it is possible
+ to simulate the action of this call by mapping coordi-
+ nates, explicitly saving and restoring the original screen
+ contents. Setting the environment variable <STRONG>NCGDB</STRONG> has the
+ same effect.
+
+
+</PRE>
+<H3><a name="h3-NCURSES_GPM_TERMS">NCURSES_GPM_TERMS</a></H3><PRE>
+ This applies only to ncurses configured to use the GPM
+ interface.
+
+ If present, the environment variable is a list of one or
+ more terminal names against which the TERM environment
+ variable is matched. Setting it to an empty value dis-
+ ables the GPM interface; using the built-in support for
+ xterm, etc.
+
+ If the environment variable is absent, ncurses will
+ attempt to open GPM if TERM contains "linux".
+
+
+</PRE>
+<H3><a name="h3-NCURSES_NO_HARD_TABS">NCURSES_NO_HARD_TABS</a></H3><PRE>
+ <STRONG>Ncurses</STRONG> may use tabs as part of the cursor movement opti-
+ mization. In some cases, your terminal driver may not
+ handle these properly. Set this environment variable to
+ disable the feature. You can also adjust your <STRONG>stty</STRONG> set-
+ tings to avoid the problem. NCURSES_NO_MAGIC_COOKIE Some
+ terminals use a magic-cookie feature which requires spe-
+ cial handling to make highlighting and other video
+ attributes display properly. You can suppress the high-
+ lighting entirely for these terminals by setting this
+ environment variable.
+
+
+</PRE>
+<H3><a name="h3-NCURSES_NO_PADDING">NCURSES_NO_PADDING</a></H3><PRE>
+ Most of the terminal descriptions in the terminfo database
+ are written for real "hardware" terminals. Many people
+ use terminal emulators which run in a windowing environ-
+ ment and use curses-based applications. Terminal emula-
+ tors can duplicate all of the important aspects of a hard-
+ ware terminal, but they do not have the same limitations.
+ The chief limitation of a hardware terminal from the
+ standpoint of your application is the management of
+ dataflow, i.e., timing. Unless a hardware terminal is
+ interfaced into a terminal concentrator (which does flow
+ control), it (or your application) must manage dataflow,
+ preventing overruns. The cheapest solution (no hardware
+ cost) is for your program to do this by pausing after
+ operations that the terminal does slowly, such as clearing
+ the display.
+
+ As a result, many terminal descriptions (including the
+ vt100) have delay times embedded. You may wish to use
+ these descriptions, but not want to pay the performance
+ penalty.
+
+ Set the NCURSES_NO_PADDING environment variable to disable
+ all but mandatory padding. Mandatory padding is used as a
+ part of special control sequences such as <EM>flash</EM>.
+
+
+</PRE>
+<H3><a name="h3-NCURSES_NO_SETBUF">NCURSES_NO_SETBUF</a></H3><PRE>
+ This setting is obsolete. Before changes
+
+ <STRONG>o</STRONG> started with 5.9 patch 20120825 and
+
+ <STRONG>o</STRONG> continued though 5.9 patch 20130126
+
+ <STRONG>ncurses</STRONG> enabled buffered output during terminal initial-
+ ization. This was done (as in SVr4 curses) for perfor-
+ mance reasons. For testing purposes, both of <STRONG>ncurses</STRONG> and
+ certain applications, this feature was made optional.
+ Setting the NCURSES_NO_SETBUF variable disabled output
+ buffering, leaving the output in the original (usually
+ line buffered) mode.
+
+ In the current implementation, ncurses performs its own
+ buffering and does not require this workaround. It does
+ not modify the buffering of the standard output.
+
+ The reason for the change was to make the behavior for
+ interrupts and other signals more robust. One drawback is
+ that certain nonconventional programs would mix ordinary
+ stdio calls with ncurses calls and (usually) work. This
+ is no longer possible since ncurses is not using the
+ buffered standard output but its own output (to the same
+ file descriptor). As a special case, the low-level calls
+ such as <STRONG>putp</STRONG> still use the standard output. But high-
+ level curses calls do not.
+
+
+</PRE>
+<H3><a name="h3-NCURSES_NO_UTF8_ACS">NCURSES_NO_UTF8_ACS</a></H3><PRE>
+ During initialization, the <STRONG>ncurses</STRONG> library checks for spe-
+ cial cases where VT100 line-drawing (and the corresponding
+ alternate character set capabilities) described in the
+ terminfo are known to be missing. Specifically, when run-
+ ning in a UTF-8 locale, the Linux console emulator and the
+ GNU screen program ignore these. Ncurses checks the TERM
+ environment variable for these. For other special cases,
+ you should set this environment variable. Doing this
+ tells ncurses to use Unicode values which correspond to
+ the VT100 line-drawing glyphs. That works for the special
+ cases cited, and is likely to work for terminal emulators.
+
+ When setting this variable, you should set it to a nonzero
+ value. Setting it to zero (or to a nonnumber) disables
+ the special check for "linux" and "screen".
+
+ As an alternative to the environment variable, ncurses
+ checks for an extended terminfo capability <STRONG>U8</STRONG>. This is a
+ numeric capability which can be compiled using <STRONG>tic</STRONG> <STRONG>-x</STRONG>.
+ For example
+
+ # linux console, if patched to provide working
+ # VT100 shift-in/shift-out, with corresponding font.
+ linux-vt100|linux console with VT100 line-graphics,
+ U8#0, use=linux,
+
+ # uxterm with vt100Graphics resource set to false
+ xterm-utf8|xterm relying on UTF-8 line-graphics,
+ U8#1, use=xterm,
+
+ The name "U8" is chosen to be two characters, to permit it
+ to be used by applications that use ncurses' termcap
+ interface.
+
+
+</PRE>
+<H3><a name="h3-NCURSES_TRACE">NCURSES_TRACE</a></H3><PRE>
+ During initialization, the <STRONG>ncurses</STRONG> debugging library
+ checks the NCURSES_TRACE environment variable. If it is
+ defined, to a numeric value, <STRONG>ncurses</STRONG> calls the <STRONG>trace</STRONG> func-
+ tion, using that value as the argument.
+
+ The argument values, which are defined in <STRONG>curses.h</STRONG>, pro-
+ vide several types of information. When running with
+ traces enabled, your application will write the file <STRONG>trace</STRONG>
+ to the current directory.
+
+ See <STRONG><A HREF="curs_trace.3x.html">curs_trace(3x)</A></STRONG> for more information.
+
+
+</PRE>
+<H3><a name="h3-TERM">TERM</a></H3><PRE>
+ Denotes your terminal type. Each terminal type is dis-
+ tinct, though many are similar.
+
+ <STRONG>TERM</STRONG> is commonly set by terminal emulators to help appli-
+ cations find a workable terminal description. Some of
+ those choose a popular approximation, e.g., "ansi",
+ "vt100", "xterm" rather than an exact fit. Not infre-
+ quently, your application will have problems with that
+ approach, e.g., incorrect function-key definitions.
+
+ 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 terminal. 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.
+
+
+</PRE>
+<H3><a name="h3-TERMCAP">TERMCAP</a></H3><PRE>
+ If the <STRONG>ncurses</STRONG> library has been configured with <EM>termcap</EM>
+ support, <STRONG>ncurses</STRONG> will check for a terminal's description
+ in termcap form if it is not available in the terminfo
+ database.
+
+ The TERMCAP environment variable contains either a termi-
+ nal description (with newlines stripped out), or a file
+ name telling where the information denoted by the TERM
+ environment variable exists. In either case, setting it
+ directs <STRONG>ncurses</STRONG> to ignore the usual place for this infor-
+ mation, e.g., /etc/termcap.
+
+
+</PRE>
+<H3><a name="h3-TERMINFO">TERMINFO</a></H3><PRE>
+ Overrides the directory in which <STRONG>ncurses</STRONG> searches for your
+ terminal description. This is the simplest, but not the
+ only way to change the list of directories. The complete
+ list of directories in order follows:
+
+ <STRONG>o</STRONG> the last directory to which <STRONG>ncurses</STRONG> wrote, if any,
+ is searched first
+
+ <STRONG>o</STRONG> the directory specified by the TERMINFO environment
+ variable
+
+ <STRONG>o</STRONG> $HOME/.terminfo
+
+ <STRONG>o</STRONG> directories listed in the TERMINFO_DIRS environment
+ variable
+
+ <STRONG>o</STRONG> one or more directories whose names are configured
+ and compiled into the ncurses library, i.e.,
+
+ <STRONG>o</STRONG> /usr/local/ncurses/share/ter-
+ minfo:/usr/share/terminfo (corresponding to the
+ TERMINFO_DIRS variable)
+
+ <STRONG>o</STRONG> /usr/share/terminfo (corresponding to the TER-
+ MINFO variable)
+
+
+</PRE>
+<H3><a name="h3-TERMINFO_DIRS">TERMINFO_DIRS</a></H3><PRE>
+ Specifies a list of directories to search for terminal
+ descriptions. The list is separated by colons (i.e., ":")
+ on Unix, semicolons on OS/2 EMX.
+
+ All of the terminal descriptions are in terminfo form.
+ Normally these are stored in a directory tree, using sub-
+ directories named by the first letter of the terminal
+ names therein.
+
+ If <STRONG>ncurses</STRONG> is built with a hashed database, then each
+ entry in this list can also be the path of the correspond-
+ ing database file.
+
+ If <STRONG>ncurses</STRONG> is built with a support for reading termcap
+ files directly, then an entry in this list may be the path
+ of a termcap file.
+
+
+</PRE>
+<H3><a name="h3-TERMPATH">TERMPATH</a></H3><PRE>
+ If TERMCAP does not hold a file name then <STRONG>ncurses</STRONG> checks
+ the TERMPATH environment variable. This is a list of
+ filenames separated by spaces or colons (i.e., ":") on
+ Unix, semicolons on OS/2 EMX.
+
+ If the TERMPATH environment variable is not set, <STRONG>ncurses</STRONG>
+ looks in the files /etc/termcap, /usr/share/misc/termcap
+ and $HOME/.termcap, in that order.
The library may be configured to disregard the following
variables when the current user is the superuser (root),
or if the application uses setuid or setgid permissions:
- $TERMINFO, $TERMINFO_DIRS, $TERMPATH, as well as
- $HOME.
+ $TERMINFO, $TERMINFO_DIRS, $TERMPATH, as well as $HOME.
</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
+ 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
visible to the applications developer using <STRONG>ncurses</STRONG>:
--disable-overwrite
- The standard include for <STRONG>ncurses</STRONG> is as noted in <STRONG>SYN-</STRONG>
+ The standard include for <STRONG>ncurses</STRONG> is as noted in <STRONG>SYN-</STRONG>
<STRONG>OPSIS</STRONG>:
- <STRONG>#include</STRONG> <STRONG><curses.h></STRONG>
+ <STRONG>#include</STRONG> <STRONG><curses.h></STRONG>
- This option is used to avoid filename conflicts when
- <STRONG>ncurses</STRONG> is not the main implementation of curses of
- the computer. If <STRONG>ncurses</STRONG> is installed disabling
- overwrite, it puts its headers in a subdirectory,
+ This option is used to avoid filename conflicts when
+ <STRONG>ncurses</STRONG> is not the main implementation of curses of
+ the computer. If <STRONG>ncurses</STRONG> is installed disabling
+ overwrite, it puts its headers in a subdirectory,
e.g.,
- <STRONG>#include</STRONG> <STRONG><ncurses/curses.h></STRONG>
+ <STRONG>#include</STRONG> <STRONG><ncurses/curses.h></STRONG>
- It also omits a symbolic link which would allow you
+ It also omits a symbolic link which would allow you
to use <STRONG>-lcurses</STRONG> to build executables.
--enable-widec
- The configure script renames the library and (if the
- <STRONG>--disable-overwrite</STRONG> option is used) puts the header
+ The configure script renames the library and (if the
+ <STRONG>--disable-overwrite</STRONG> option is used) puts the header
files in a different subdirectory. All of the
- library names have a "w" appended to them, i.e.,
+ library names have a "w" appended to them, i.e.,
instead of
- <STRONG>-lncurses</STRONG>
+ <STRONG>-lncurses</STRONG>
you link with
- <STRONG>-lncursesw</STRONG>
+ <STRONG>-lncursesw</STRONG>
You must also define <STRONG>_XOPEN_SOURCE_EXTENDED</STRONG> when com-
- piling for the wide-character library to use the
- extended (wide-character) functions. The <STRONG>curses.h</STRONG>
- file which is installed for the wide-character
- library is designed to be compatible with the normal
+ piling for the wide-character library to use the
+ extended (wide-character) functions. The <STRONG>curses.h</STRONG>
+ file which is installed for the wide-character
+ library is designed to be compatible with the normal
library's header. Only the size of the <STRONG>WINDOW</STRONG> struc-
- ture differs, and very few applications require more
- than a pointer to <STRONG>WINDOW</STRONG>s. If the headers are
- installed allowing overwrite, the wide-character
- library's headers should be installed last, to allow
- applications to be built using either library from
+ ture differs, and very few applications require more
+ than a pointer to <STRONG>WINDOW</STRONG>s. If the headers are
+ installed allowing overwrite, the wide-character
+ library's headers should be installed last, to allow
+ applications to be built using either library from
the same set of headers.
--with-pthread
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
+ 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-debug
--with-profile
- The shared and normal (static) library names differ
- by their suffixes, e.g., <STRONG>libncurses.so</STRONG> and <STRONG>libn-</STRONG>
- <STRONG>curses.a</STRONG>. The debug and profiling libraries add a
+ The shared and normal (static) library names differ
+ by their suffixes, e.g., <STRONG>libncurses.so</STRONG> and <STRONG>libn-</STRONG>
+ <STRONG>curses.a</STRONG>. The debug and profiling libraries add a
"_g" and a "_p" to the root names respectively, e.g.,
<STRONG>libncurses_g.a</STRONG> and <STRONG>libncurses_p.a</STRONG>.
--with-trace
- The <STRONG>trace</STRONG> function normally resides in the debug
+ The <STRONG>trace</STRONG> function normally resides in the debug
library, but it is sometimes useful to configure this
- in the shared library. Configure scripts should
+ in the shared library. Configure scripts should
check for the function's existence rather than assum-
ing it is always in the debug library.
</PRE>
<H2><a name="h2-FILES">FILES</a></H2><PRE>
/usr/share/tabset
- directory containing initialization files for the
+ directory containing initialization files for the
terminal capability database /usr/share/terminfo ter-
minal capability database
</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_"
+ <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>
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
- entry corresponding to <STRONG>TERM</STRONG>. Use of this feature is not
- recommended, as it essentially includes an entire termcap
- compiler in the <STRONG>ncurses</STRONG> startup code, at significant cost
+ entry corresponding to <STRONG>TERM</STRONG>. Use of this feature is not
+ recommended, as it essentially includes an entire termcap
+ compiler in the <STRONG>ncurses</STRONG> startup code, at significant cost
in core and startup cycles.
- The <STRONG>ncurses</STRONG> library includes facilities for capturing
- mouse events on certain terminals (including xterm). See
+ The <STRONG>ncurses</STRONG> library includes facilities for capturing
+ mouse events on certain terminals (including xterm). See
the <STRONG><A HREF="curs_mouse.3x.html">curs_mouse(3x)</A></STRONG> manual page for details.
- The <STRONG>ncurses</STRONG> library includes facilities for responding to
- window resizing events, e.g., when running in an xterm.
- See the <STRONG><A HREF="resizeterm.3x.html">resizeterm(3x)</A></STRONG> and <STRONG><A HREF="wresize.3x.html">wresize(3x)</A></STRONG> manual pages for
- details. In addition, the library may be configured with
+ The <STRONG>ncurses</STRONG> library includes facilities for responding to
+ window resizing events, e.g., when running in an xterm.
+ See the <STRONG><A HREF="resizeterm.3x.html">resizeterm(3x)</A></STRONG> and <STRONG><A HREF="wresize.3x.html">wresize(3x)</A></STRONG> manual pages for
+ details. In addition, the library may be configured with
a SIGWINCH handler.
- The <STRONG>ncurses</STRONG> library extends the fixed set of function key
- capabilities of terminals by allowing the application
- designer to define additional key sequences at runtime.
+ The <STRONG>ncurses</STRONG> library extends the fixed set of function key
+ capabilities of terminals by allowing the application
+ designer to define additional key sequences at runtime.
See the <STRONG><A HREF="define_key.3x.html">define_key(3x)</A></STRONG> <STRONG><A HREF="key_defined.3x.html">key_defined(3x)</A></STRONG>, and <STRONG><A HREF="keyok.3x.html">keyok(3x)</A></STRONG> man-
ual pages for details.
The <STRONG>ncurses</STRONG> library can exploit the capabilities of termi-
- nals which implement the ISO-6429 SGR 39 and SGR 49 con-
+ nals which implement the ISO-6429 SGR 39 and SGR 49 con-
trols, which allow an application to reset the terminal to
- its original foreground and background colors. From the
- users' perspective, the application is able to draw col-
- ored text on a background whose color is set indepen-
- dently, providing better control over color contrasts.
+ its original foreground and background colors. From the
+ users' perspective, the application is able to draw col-
+ ored text on a background whose color is set indepen-
+ dently, providing better control over color contrasts.
See the <STRONG><A HREF="default_colors.3x.html">default_colors(3x)</A></STRONG> manual page for details.
- The <STRONG>ncurses</STRONG> library includes a function for directing
- application output to a printer attached to the terminal
+ The <STRONG>ncurses</STRONG> library includes a function for directing
+ application output to a printer attached to the terminal
device. See the <STRONG><A HREF="curs_print.3x.html">curs_print(3x)</A></STRONG> manual page for details.
</PRE>
<H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
- The <STRONG>ncurses</STRONG> library is intended to be BASE-level confor-
+ 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.
- A small number of local differences (that is, individual
- differences between the XSI Curses and <STRONG>ncurses</STRONG> calls) are
- described in <STRONG>PORTABILITY</STRONG> sections of the library man
+ A small number of local differences (that is, individual
+ differences between the XSI Curses and <STRONG>ncurses</STRONG> calls) are
+ described in <STRONG>PORTABILITY</STRONG> sections of the library man
pages.
- Unlike other implementations, this one checks parameters
- such as pointers to WINDOW structures to ensure they are
- not null. The main reason for providing this behavior is
+ Unlike other implementations, this one checks parameters
+ such as pointers to WINDOW structures to ensure they are
+ not null. The main reason for providing this behavior is
to guard against programmer error. The standard interface
does not provide a way for the library to tell an applica-
- tion which of several possible errors were detected.
- Relying on this (or some other) extension will adversely
+ tion which of several possible errors were detected.
+ Relying on this (or some other) extension will adversely
affect the portability of curses applications.
This implementation also contains several extensions:
- <STRONG>o</STRONG> The routine <STRONG>has_key</STRONG> is not part of XPG4, nor is it
- present in SVr4. See the <STRONG><A HREF="curs_getch.3x.html">curs_getch(3x)</A></STRONG> manual page
+ <STRONG>o</STRONG> The routine <STRONG>has_key</STRONG> is not part of XPG4, nor is it
+ present in SVr4. See the <STRONG><A HREF="curs_getch.3x.html">curs_getch(3x)</A></STRONG> manual page
for details.
- <STRONG>o</STRONG> The routine <STRONG>slk_attr</STRONG> is not part of XPG4, nor is it
+ <STRONG>o</STRONG> The routine <STRONG>slk_attr</STRONG> is not part of XPG4, nor is it
present in SVr4. See the <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG> manual page for
details.
<STRONG>o</STRONG> The routines <STRONG>getmouse</STRONG>, <STRONG>mousemask</STRONG>, <STRONG>ungetmouse</STRONG>, <STRONG>mousein-</STRONG>
<STRONG>terval</STRONG>, and <STRONG>wenclose</STRONG> relating to mouse interfacing are
- not part of XPG4, nor are they present in SVr4. See
+ not part of XPG4, nor are they present in SVr4. See
the <STRONG><A HREF="curs_mouse.3x.html">curs_mouse(3x)</A></STRONG> manual page for details.
- <STRONG>o</STRONG> The routine <STRONG>mcprint</STRONG> was not present in any previous
- curses implementation. See the <STRONG><A HREF="curs_print.3x.html">curs_print(3x)</A></STRONG> manual
+ <STRONG>o</STRONG> The routine <STRONG>mcprint</STRONG> was not present in any previous
+ curses implementation. See the <STRONG><A HREF="curs_print.3x.html">curs_print(3x)</A></STRONG> manual
page for details.
- <STRONG>o</STRONG> The routine <STRONG>wresize</STRONG> is not part of XPG4, nor is it
- present in SVr4. See the <STRONG><A HREF="wresize.3x.html">wresize(3x)</A></STRONG> manual page for
+ <STRONG>o</STRONG> The routine <STRONG>wresize</STRONG> is not part of XPG4, nor is it
+ present in SVr4. See the <STRONG><A HREF="wresize.3x.html">wresize(3x)</A></STRONG> manual page for
details.
- <STRONG>o</STRONG> The WINDOW structure's internal details can be hidden
- from application programs. See <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG> for
+ <STRONG>o</STRONG> The WINDOW structure's internal details can be hidden
+ from application programs. See <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG> for
the discussion of <STRONG>is_scrollok</STRONG>, etc.
<STRONG>o</STRONG> This implementation can be configured to provide rudi-
- mentary support for multi-threaded applications. See
+ mentary support for multi-threaded applications. See
<STRONG><A HREF="curs_threads.3x.html">curs_threads(3x)</A></STRONG> for details.
- <STRONG>o</STRONG> This implementation can also be configured to provide
+ <STRONG>o</STRONG> This implementation can also be configured to provide
a set of functions which improve the ability to manage
multiple screens. See <STRONG><A HREF="curs_sp_funcs.3x.html">curs_sp_funcs(3x)</A></STRONG> for details.
- In historic curses versions, delays embedded in the capa-
+ In historic curses versions, delays embedded in the capa-
bilities <STRONG>cr</STRONG>, <STRONG>ind</STRONG>, <STRONG>cub1</STRONG>, <STRONG>ff</STRONG> and <STRONG>tab</STRONG> activated corresponding
- delay bits in the UNIX tty driver. In this implementa-
- tion, all padding is done by sending NUL bytes. This
- method is slightly more expensive, but narrows the inter-
- face to the UNIX kernel significantly and increases the
+ delay bits in the UNIX tty driver. In this implementa-
+ tion, all padding is done by sending NUL bytes. This
+ method is slightly more expensive, but narrows the inter-
+ face to the UNIX kernel significantly and increases the
package's portability correspondingly.
</PRE>
<H2><a name="h2-NOTES">NOTES</a></H2><PRE>
- The header file <STRONG><curses.h></STRONG> automatically includes the
+ The header file <STRONG><curses.h></STRONG> automatically includes the
header files <STRONG><stdio.h></STRONG> and <STRONG><unctrl.h></STRONG>.
- If standard output from a <STRONG>ncurses</STRONG> program is re-directed
- to something which is not a tty, screen updates will be
+ If standard output from a <STRONG>ncurses</STRONG> program is re-directed
+ to something which is not a tty, screen updates will be
directed to standard error. This was an undocumented fea-
ture of AT&T System V Release 3 curses.
</PRE>
<H2><a name="h2-AUTHORS">AUTHORS</a></H2><PRE>
- Zeyd M. Ben-Halim, Eric S. Raymond, Thomas E. Dickey.
+ Zeyd M. Ben-Halim, Eric S. Raymond, Thomas E. Dickey.
Based on pcurses by Pavel Curtis.
<li><a href="#h2-SYNOPSIS">SYNOPSIS</a></li>
<li><a href="#h2-DESCRIPTION">DESCRIPTION</a>
<ul>
+<li><a href="#h3-Initialization">Initialization</a></li>
+<li><a href="#h3-Datatypes">Datatypes</a></li>
+<li><a href="#h3-Environment-variables">Environment variables</a></li>
<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-ENVIRONMENT">ENVIRONMENT</a>
+<ul>
+<li><a href="#h3-BAUDRATE">BAUDRATE</a></li>
+<li><a href="#h3-COLUMNS">COLUMNS</a></li>
+<li><a href="#h3-ESCDELAY">ESCDELAY</a></li>
+<li><a href="#h3-HOME">HOME</a></li>
+<li><a href="#h3-LINES">LINES</a></li>
+<li><a href="#h3-MOUSE_BUTTONS_123">MOUSE_BUTTONS_123</a></li>
+<li><a href="#h3-NCURSES_ASSUMED_COLORS">NCURSES_ASSUMED_COLORS</a></li>
+<li><a href="#h3-NCURSES_CONSOLE2">NCURSES_CONSOLE2</a></li>
+<li><a href="#h3-NCURSES_GPM_TERMS">NCURSES_GPM_TERMS</a></li>
+<li><a href="#h3-NCURSES_NO_HARD_TABS">NCURSES_NO_HARD_TABS</a></li>
+<li><a href="#h3-NCURSES_NO_PADDING">NCURSES_NO_PADDING</a></li>
+<li><a href="#h3-NCURSES_NO_SETBUF">NCURSES_NO_SETBUF</a></li>
+<li><a href="#h3-NCURSES_NO_UTF8_ACS">NCURSES_NO_UTF8_ACS</a></li>
+<li><a href="#h3-NCURSES_TRACE">NCURSES_TRACE</a></li>
+<li><a href="#h3-TERM">TERM</a></li>
+<li><a href="#h3-TERMCAP">TERMCAP</a></li>
+<li><a href="#h3-TERMINFO">TERMINFO</a></li>
+<li><a href="#h3-TERMINFO_DIRS">TERMINFO_DIRS</a></li>
+<li><a href="#h3-TERMPATH">TERMPATH</a></li>
+</ul>
+</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>
<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_variables.3x.html">curs_variables(3x)</A></STRONG>,
- This describes <STRONG>ncurses</STRONG> version 6.0 (patch 20150718).
+ This describes <STRONG>ncurses</STRONG> version 6.0 (patch 20150725).
</PRE>
<H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
<STRONG><A HREF="tset.1.html">tset(1)</A></STRONG>, <STRONG><A HREF="infocmp.1m.html">infocmp(1m)</A></STRONG>, <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>.
- This describes <STRONG>ncurses</STRONG> version 6.0 (patch 20150718).
+ This describes <STRONG>ncurses</STRONG> version 6.0 (patch 20150725).
nals by giving a set of capabilities which they have, by
specifying how to perform screen operations, and by speci-
fying padding requirements and initialization sequences.
- This describes <STRONG>ncurses</STRONG> version 6.0 (patch 20150718).
+ This describes <STRONG>ncurses</STRONG> version 6.0 (patch 20150725).
Entries in <EM>terminfo</EM> consist of a sequence of `,' separated
fields (embedded commas may be escaped with a backslash or
<STRONG><A HREF="infocmp.1m.html">infocmp(1m)</A></STRONG>, <STRONG><A HREF="captoinfo.1m.html">captoinfo(1m)</A></STRONG>, <STRONG><A HREF="infotocap.1m.html">infotocap(1m)</A></STRONG>, <STRONG><A HREF="toe.1m.html">toe(1m)</A></STRONG>,
<STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="term.5.html">term(5)</A></STRONG>. <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>.
- This describes <STRONG>ncurses</STRONG> version 6.0 (patch 20150718).
+ This describes <STRONG>ncurses</STRONG> version 6.0 (patch 20150725).
</PRE>
<STRONG><A HREF="tic.1m.html">tic(1m)</A></STRONG>, <STRONG><A HREF="infocmp.1m.html">infocmp(1m)</A></STRONG>, <STRONG><A HREF="captoinfo.1m.html">captoinfo(1m)</A></STRONG>, <STRONG><A HREF="infotocap.1m.html">infotocap(1m)</A></STRONG>,
<STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>.
- This describes <STRONG>ncurses</STRONG> version 6.0 (patch 20150718).
+ This describes <STRONG>ncurses</STRONG> version 6.0 (patch 20150725).
<H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
<STRONG><A HREF="clear.1.html">clear(1)</A></STRONG>, <STRONG>stty(1)</STRONG>, <STRONG><A HREF="tabs.1.html">tabs(1)</A></STRONG>, <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>, <STRONG><A HREF="curs_termcap.3x.html">curs_termcap(3x)</A></STRONG>.
- This describes <STRONG>ncurses</STRONG> version 6.0 (patch 20150718).
+ This describes <STRONG>ncurses</STRONG> version 6.0 (patch 20150725).
<STRONG>csh(1)</STRONG>, <STRONG>sh(1)</STRONG>, <STRONG>stty(1)</STRONG>, <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>, <STRONG>tty(4)</STRONG>,
<STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>, <STRONG>ttys(5)</STRONG>, <STRONG>environ(7)</STRONG>
- This describes <STRONG>ncurses</STRONG> version 6.0 (patch 20150718).
+ This describes <STRONG>ncurses</STRONG> version 6.0 (patch 20150725).
/****************************************************************************
- * Copyright (c) 1998-2005,2010 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-2010,2015 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 *
****************************************************************************/
/****************************************************************************
- * Author: Thomas E. Dickey 1996-2005,2010 *
+ * Author: Thomas E. Dickey 1996-on *
****************************************************************************/
/* LINTLIBRARY */
#undef TYPE_ALNUM
FIELDTYPE *TYPE_ALNUM;
+#undef _nc_TYPE_ALNUM
+FIELDTYPE *_nc_TYPE_ALNUM(void)
+ { return(*(FIELDTYPE **)0); }
+
/* ./fty_alpha.c */
typedef struct
#undef TYPE_ALPHA
FIELDTYPE *TYPE_ALPHA;
+#undef _nc_TYPE_ALPHA
+FIELDTYPE *_nc_TYPE_ALPHA(void)
+ { return(*(FIELDTYPE **)0); }
+
/* ./fty_enum.c */
typedef struct
#undef TYPE_ENUM
FIELDTYPE *TYPE_ENUM;
+#undef _nc_TYPE_ENUM
+FIELDTYPE *_nc_TYPE_ENUM(void)
+ { return(*(FIELDTYPE **)0); }
+
/* ./fty_generic.c */
-#undef _nc_fty_generic
-void _nc_fty_generic(void)
- { /* void */ }
+#undef _nc_generic_fieldtype
+FIELDTYPE *_nc_generic_fieldtype(
+ NCURSES_BOOL (*const field_check)(
+ FORM *p1,
+ FIELD *p2,
+ const void *p3),
+ NCURSES_BOOL (*const char_check)(
+ int p1,
+ FORM *p2,
+ FIELD *p3,
+ const void *p4),
+ NCURSES_BOOL (*const next)(
+ FORM *p1,
+ FIELD *p2,
+ const void *p3),
+ NCURSES_BOOL (*const prev)(
+ FORM *p1,
+ FIELD *p2,
+ const void *p3),
+ void (*freecallback)(
+ void *p1))
+ { return(*(FIELDTYPE **)0); }
+
+#undef _nc_set_generic_fieldtype
+int _nc_set_generic_fieldtype(
+ FIELD *field,
+ FIELDTYPE *ftyp,
+ int (*argiterator)(
+ void **p1))
+ { return(*(int *)0); }
+
+#undef _nc_form_cursor
+WINDOW *_nc_form_cursor(
+ const FORM *form,
+ int *pRow,
+ int *pCol)
+ { return(*(WINDOW **)0); }
/* ./fty_int.c */
#undef TYPE_INTEGER
FIELDTYPE *TYPE_INTEGER;
+#undef _nc_TYPE_INTEGER
+FIELDTYPE *_nc_TYPE_INTEGER(void)
+ { return(*(FIELDTYPE **)0); }
+
/* ./fty_ipv4.c */
+
#undef TYPE_IPV4
FIELDTYPE *TYPE_IPV4;
+#undef _nc_TYPE_IPV4
+FIELDTYPE *_nc_TYPE_IPV4(void)
+ { return(*(FIELDTYPE **)0); }
+
/* ./fty_num.c */
#include <locale.h>
#undef TYPE_NUMERIC
FIELDTYPE *TYPE_NUMERIC;
+#undef _nc_TYPE_NUMERIC
+FIELDTYPE *_nc_TYPE_NUMERIC(void)
+ { return(*(FIELDTYPE **)0); }
+
/* ./fty_regex.c */
#include <regex.h>
#undef TYPE_REGEXP
FIELDTYPE *TYPE_REGEXP;
+
+#undef _nc_TYPE_REGEXP
+FIELDTYPE *_nc_TYPE_REGEXP(void)
+ { return(*(FIELDTYPE **)0); }
/****************************************************************************
- * Copyright (c) 2010 Free Software Foundation, Inc. *
+ * Copyright (c) 2010-2010,2015 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 *
****************************************************************************/
/****************************************************************************
- * Author: Thomas E. Dickey 2010 *
+ * Author: Thomas E. Dickey 2010-on *
****************************************************************************/
/* LINTLIBRARY */
#undef TYPE_ALNUM
FIELDTYPE *TYPE_ALNUM;
+#undef _nc_TYPE_ALNUM
+FIELDTYPE *_nc_TYPE_ALNUM(void)
+ { return(*(FIELDTYPE **)0); }
+
/* ./fty_alpha.c */
typedef struct
#undef TYPE_ALPHA
FIELDTYPE *TYPE_ALPHA;
+#undef _nc_TYPE_ALPHA
+FIELDTYPE *_nc_TYPE_ALPHA(void)
+ { return(*(FIELDTYPE **)0); }
+
/* ./fty_enum.c */
typedef struct
#undef TYPE_ENUM
FIELDTYPE *TYPE_ENUM;
+#undef _nc_TYPE_ENUM
+FIELDTYPE *_nc_TYPE_ENUM(void)
+ { return(*(FIELDTYPE **)0); }
+
/* ./fty_generic.c */
-#undef _nc_fty_generic
-void _nc_fty_generic(void)
- { /* void */ }
+#undef _nc_generic_fieldtype
+FIELDTYPE *_nc_generic_fieldtype(
+ NCURSES_BOOL (*const field_check)(
+ FORM *p1,
+ FIELD *p2,
+ const void *p3),
+ NCURSES_BOOL (*const char_check)(
+ int p1,
+ FORM *p2,
+ FIELD *p3,
+ const void *p4),
+ NCURSES_BOOL (*const next)(
+ FORM *p1,
+ FIELD *p2,
+ const void *p3),
+ NCURSES_BOOL (*const prev)(
+ FORM *p1,
+ FIELD *p2,
+ const void *p3),
+ void (*freecallback)(
+ void *p1))
+ { return(*(FIELDTYPE **)0); }
+
+#undef _nc_set_generic_fieldtype
+int _nc_set_generic_fieldtype(
+ FIELD *field,
+ FIELDTYPE *ftyp,
+ int (*argiterator)(
+ void **p1))
+ { return(*(int *)0); }
+
+#undef _nc_form_cursor
+WINDOW *_nc_form_cursor(
+ const FORM *form,
+ int *pRow,
+ int *pCol)
+ { return(*(WINDOW **)0); }
/* ./fty_int.c */
#undef TYPE_INTEGER
FIELDTYPE *TYPE_INTEGER;
+#undef _nc_TYPE_INTEGER
+FIELDTYPE *_nc_TYPE_INTEGER(void)
+ { return(*(FIELDTYPE **)0); }
+
/* ./fty_ipv4.c */
+
#undef TYPE_IPV4
FIELDTYPE *TYPE_IPV4;
+#undef _nc_TYPE_IPV4
+FIELDTYPE *_nc_TYPE_IPV4(void)
+ { return(*(FIELDTYPE **)0); }
+
/* ./fty_num.c */
#include <locale.h>
#undef TYPE_NUMERIC
FIELDTYPE *TYPE_NUMERIC;
+#undef _nc_TYPE_NUMERIC
+FIELDTYPE *_nc_TYPE_NUMERIC(void)
+ { return(*(FIELDTYPE **)0); }
+
/* ./fty_regex.c */
#include <regex.h>
#undef TYPE_REGEXP
FIELDTYPE *TYPE_REGEXP;
+
+#undef _nc_TYPE_REGEXP
+FIELDTYPE *_nc_TYPE_REGEXP(void)
+ { return(*(FIELDTYPE **)0); }
/****************************************************************************
- * Copyright (c) 2010,2013 Free Software Foundation, Inc. *
+ * Copyright (c) 2010-2013,2015 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 *
#undef TYPE_ALNUM
FIELDTYPE *TYPE_ALNUM;
+#undef _nc_TYPE_ALNUM
+FIELDTYPE *_nc_TYPE_ALNUM(void)
+ { return(*(FIELDTYPE **)0); }
+
/* ./fty_alpha.c */
typedef struct
#undef TYPE_ALPHA
FIELDTYPE *TYPE_ALPHA;
+#undef _nc_TYPE_ALPHA
+FIELDTYPE *_nc_TYPE_ALPHA(void)
+ { return(*(FIELDTYPE **)0); }
+
/* ./fty_enum.c */
typedef struct
#undef TYPE_ENUM
FIELDTYPE *TYPE_ENUM;
+#undef _nc_TYPE_ENUM
+FIELDTYPE *_nc_TYPE_ENUM(void)
+ { return(*(FIELDTYPE **)0); }
+
/* ./fty_generic.c */
-#undef _nc_fty_generic
-void _nc_fty_generic(void)
- { /* void */ }
+#undef _nc_generic_fieldtype
+FIELDTYPE *_nc_generic_fieldtype(
+ NCURSES_BOOL (*const field_check)(
+ FORM *p1,
+ FIELD *p2,
+ const void *p3),
+ NCURSES_BOOL (*const char_check)(
+ int p1,
+ FORM *p2,
+ FIELD *p3,
+ const void *p4),
+ NCURSES_BOOL (*const next)(
+ FORM *p1,
+ FIELD *p2,
+ const void *p3),
+ NCURSES_BOOL (*const prev)(
+ FORM *p1,
+ FIELD *p2,
+ const void *p3),
+ void (*freecallback)(
+ void *p1))
+ { return(*(FIELDTYPE **)0); }
+
+#undef _nc_set_generic_fieldtype
+int _nc_set_generic_fieldtype(
+ FIELD *field,
+ FIELDTYPE *ftyp,
+ int (*argiterator)(
+ void **p1))
+ { return(*(int *)0); }
+
+#undef _nc_form_cursor
+WINDOW *_nc_form_cursor(
+ const FORM *form,
+ int *pRow,
+ int *pCol)
+ { return(*(WINDOW **)0); }
/* ./fty_int.c */
#undef TYPE_INTEGER
FIELDTYPE *TYPE_INTEGER;
+#undef _nc_TYPE_INTEGER
+FIELDTYPE *_nc_TYPE_INTEGER(void)
+ { return(*(FIELDTYPE **)0); }
+
/* ./fty_ipv4.c */
+
#undef TYPE_IPV4
FIELDTYPE *TYPE_IPV4;
+#undef _nc_TYPE_IPV4
+FIELDTYPE *_nc_TYPE_IPV4(void)
+ { return(*(FIELDTYPE **)0); }
+
/* ./fty_num.c */
#include <locale.h>
#undef TYPE_NUMERIC
FIELDTYPE *TYPE_NUMERIC;
+#undef _nc_TYPE_NUMERIC
+FIELDTYPE *_nc_TYPE_NUMERIC(void)
+ { return(*(FIELDTYPE **)0); }
+
/* ./fty_regex.c */
#include <regex.h>
#undef TYPE_REGEXP
FIELDTYPE *TYPE_REGEXP;
+
+#undef _nc_TYPE_REGEXP
+FIELDTYPE *_nc_TYPE_REGEXP(void)
+ { return(*(FIELDTYPE **)0); }
/****************************************************************************
- * Copyright (c) 2002-2010,2013 Free Software Foundation, Inc. *
+ * Copyright (c) 2002-2013,2015 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 *
****************************************************************************/
/****************************************************************************
- * Author: Thomas E. Dickey 2002-on *
+ * Author: Thomas E. Dickey 2002-on *
****************************************************************************/
/* LINTLIBRARY */
#undef TYPE_ALNUM
FIELDTYPE *TYPE_ALNUM;
+#undef _nc_TYPE_ALNUM
+FIELDTYPE *_nc_TYPE_ALNUM(void)
+ { return(*(FIELDTYPE **)0); }
+
/* ./fty_alpha.c */
typedef struct
#undef TYPE_ALPHA
FIELDTYPE *TYPE_ALPHA;
+#undef _nc_TYPE_ALPHA
+FIELDTYPE *_nc_TYPE_ALPHA(void)
+ { return(*(FIELDTYPE **)0); }
+
/* ./fty_enum.c */
typedef struct
#undef TYPE_ENUM
FIELDTYPE *TYPE_ENUM;
+#undef _nc_TYPE_ENUM
+FIELDTYPE *_nc_TYPE_ENUM(void)
+ { return(*(FIELDTYPE **)0); }
+
/* ./fty_generic.c */
-#undef _nc_fty_generic
-void _nc_fty_generic(void)
- { /* void */ }
+#undef _nc_generic_fieldtype
+FIELDTYPE *_nc_generic_fieldtype(
+ NCURSES_BOOL (*const field_check)(
+ FORM *p1,
+ FIELD *p2,
+ const void *p3),
+ NCURSES_BOOL (*const char_check)(
+ int p1,
+ FORM *p2,
+ FIELD *p3,
+ const void *p4),
+ NCURSES_BOOL (*const next)(
+ FORM *p1,
+ FIELD *p2,
+ const void *p3),
+ NCURSES_BOOL (*const prev)(
+ FORM *p1,
+ FIELD *p2,
+ const void *p3),
+ void (*freecallback)(
+ void *p1))
+ { return(*(FIELDTYPE **)0); }
+
+#undef _nc_set_generic_fieldtype
+int _nc_set_generic_fieldtype(
+ FIELD *field,
+ FIELDTYPE *ftyp,
+ int (*argiterator)(
+ void **p1))
+ { return(*(int *)0); }
+
+#undef _nc_form_cursor
+WINDOW *_nc_form_cursor(
+ const FORM *form,
+ int *pRow,
+ int *pCol)
+ { return(*(WINDOW **)0); }
/* ./fty_int.c */
#undef TYPE_INTEGER
FIELDTYPE *TYPE_INTEGER;
+#undef _nc_TYPE_INTEGER
+FIELDTYPE *_nc_TYPE_INTEGER(void)
+ { return(*(FIELDTYPE **)0); }
+
/* ./fty_ipv4.c */
+
#undef TYPE_IPV4
FIELDTYPE *TYPE_IPV4;
+#undef _nc_TYPE_IPV4
+FIELDTYPE *_nc_TYPE_IPV4(void)
+ { return(*(FIELDTYPE **)0); }
+
/* ./fty_num.c */
#include <locale.h>
#undef TYPE_NUMERIC
FIELDTYPE *TYPE_NUMERIC;
+#undef _nc_TYPE_NUMERIC
+FIELDTYPE *_nc_TYPE_NUMERIC(void)
+ { return(*(FIELDTYPE **)0); }
+
/* ./fty_regex.c */
#include <regex.h>
#undef TYPE_REGEXP
FIELDTYPE *TYPE_REGEXP;
+
+#undef _nc_TYPE_REGEXP
+FIELDTYPE *_nc_TYPE_REGEXP(void)
+ { return(*(FIELDTYPE **)0); }
.\"***************************************************************************
-.\" Copyright (c) 2001-2011,2012 Free Software Foundation, Inc. *
+.\" Copyright (c) 2001-2012,2015 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_add_wch.3x,v 1.15 2012/11/03 23:03:59 tom Exp $
+.\" $Id: curs_add_wch.3x,v 1.16 2015/07/20 23:44:56 tom Exp $
.TH curs_add_wch 3X ""
.de bP
.IP \(bu 4
.B "int wecho_wchar( WINDOW *\fIwin\fP, const cchar_t *\fIwch\fB );"
.br
.SH DESCRIPTION
+.SS add_wch
.PP
The
\fBadd_wch\fP,
If the character part of \fIwch\fP is
a tab, newline, backspace or other control character,
the window is updated and the cursor moves as if \fBaddch\fR were called.
+.SS echo_wchar
.PP
The \fBecho_wchar\fP
function is functionally equivalent to a call to
This implementation extends those symbols, providing new definitions
which are not in the SVr4 implementations.
.SH SEE ALSO
+.na
.PP
\fBcurses\fR(3X),
\fBcurs_addch\fR(3X),
'\" t
.\"***************************************************************************
-.\" Copyright (c) 1998-2010,2013 Free Software Foundation, Inc. *
+.\" Copyright (c) 1998-2013,2015 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_attr.3x,v 1.39 2013/09/21 20:39:49 Sven.Joachim Exp $
+.\" $Id: curs_attr.3x,v 1.40 2015/07/20 23:35:38 tom Exp $
.TH curs_attr 3X ""
.na
.hy 0
.SH SYNOPSIS
\fB#include <curses.h>\fR
.br
-\fBint attroff(int attrs);\fR
+\fBint attroff(int \fP\fIattrs);\fR
.br
-\fBint wattroff(WINDOW *win, int attrs);\fR
+\fBint wattroff(WINDOW *\fP\fIwin\fP\fB, int \fP\fIattrs\fP\fB);\fR
.br
-\fBint attron(int attrs);\fR
+\fBint attron(int \fP\fIattrs\fP\fB);\fR
.br
-\fBint wattron(WINDOW *win, int attrs);\fR
+\fBint wattron(WINDOW *\fP\fIwin\fP\fB, int \fP\fIattrs\fP\fB);\fR
.br
-\fBint attrset(int attrs);\fR
+\fBint attrset(int \fP\fIattrs\fP\fB);\fR
.br
-\fBint wattrset(WINDOW *win, int attrs);\fR
+\fBint wattrset(WINDOW *\fP\fIwin\fP\fB, int \fP\fIattrs\fP\fB);\fR
.br
-\fBint color_set(short color_pair_number, void* opts);\fR
+\fBint color_set(short \fP\fIcolor_pair_number\fP\fB, void* \fP\fIopts\fP\fB);\fR
.br
-\fBint wcolor_set(WINDOW *win, short color_pair_number,\fR
- \fBvoid* opts);\fR
+\fBint wcolor_set(WINDOW *\fP\fIwin\fP\fB, short \fP\fIcolor_pair_number\fP\fB,\fR
+ \fBvoid* \fP\fIopts);\fR
.br
\fBint standend(void);\fR
.br
-\fBint wstandend(WINDOW *win);\fR
+\fBint wstandend(WINDOW *\fP\fIwin\fP\fB);\fR
.br
\fBint standout(void);\fR
.br
-\fBint wstandout(WINDOW *win);\fR
+\fBint wstandout(WINDOW *\fP\fIwin\fP\fB);\fR
.br
-\fBint attr_get(attr_t *attrs, short *pair, void *opts);\fR
+\fBint attr_get(attr_t *\fP\fIattrs\fP\fB, short *\fP\fIpair\fP\fB, void *\fP\fIopts\fP\fB);\fR
.br
-\fBint wattr_get(WINDOW *win, attr_t *attrs, short *pair,\fR
- \fBvoid *opts);\fR
+\fBint wattr_get(WINDOW *\fP\fIwin\fP\fB, attr_t *\fP\fIattrs\fP\fB, short *\fP\fIpair\fP\fB,\fR
+ \fBvoid *\fP\fIopts\fP\fB);\fR
.br
-\fBint attr_off(attr_t attrs, void *opts);\fR
+\fBint attr_off(attr_t \fP\fIattrs\fP\fB, void *\fP\fIopts\fP\fB);\fR
.br
-\fBint wattr_off(WINDOW *win, attr_t attrs, void *opts);\fR
+\fBint wattr_off(WINDOW *\fP\fIwin\fP\fB, attr_t \fP\fIattrs\fP\fB, void *\fP\fIopts\fP\fB);\fR
.br
-\fBint attr_on(attr_t attrs, void *opts);\fR
+\fBint attr_on(attr_t \fP\fIattrs\fP\fB, void *\fP\fIopts\fP\fB);\fR
.br
-\fBint wattr_on(WINDOW *win, attr_t attrs, void *opts);\fR
+\fBint wattr_on(WINDOW *\fP\fIwin\fP\fB, attr_t \fP\fIattrs\fP\fB, void *\fP\fIopts\fP\fB);\fR
.br
-\fBint attr_set(attr_t attrs, short pair, void *opts);\fR
+\fBint attr_set(attr_t \fP\fIattrs\fP\fB, short \fP\fIpair\fP\fB, void *\fP\fIopts\fP\fB);\fR
.br
-\fBint wattr_set(WINDOW *win, attr_t attrs, short pair, void *opts);\fR
+\fBint wattr_set(WINDOW *\fP\fIwin\fP\fB, attr_t \fP\fIattrs\fP\fB, short \fP\fIpair\fP\fB, void *\fP\fIopts\fP\fB);\fR
.br
-\fBint chgat(int n, attr_t attr, short color,\fR
- \fBconst void *opts)\fR
+\fBint chgat(int \fP\fIn\fP\fB, attr_t \fP\fIattr\fP\fB, short \fP\fIcolor\fP\fB,\fR
+ \fBconst void *\fP\fIopts\fP\fB);\fR
.br
-\fBint wchgat(WINDOW *win, int n, attr_t attr,\fR
- \fBshort color, const void *opts)\fR
+\fBint wchgat(WINDOW *\fP\fIwin\fP\fB, int \fP\fIn\fP\fB, attr_t \fP\fIattr\fP\fB,\fR
+ \fBshort \fP\fIcolor\fP\fB, const void *\fP\fIopts\fP\fB);\fR
.br
-\fBint mvchgat(int y, int x, int n, attr_t attr,\fR
- \fBshort color, const void *opts)\fR
+\fBint mvchgat(int \fP\fIy\fP\fB, int \fP\fIx\fP\fB, int \fP\fIn\fP\fB, attr_t \fP\fIattr\fP\fB,\fR
+ \fBshort \fP\fIcolor\fP\fB, const void *\fP\fIopts\fP\fB);\fR
.br
-\fBint mvwchgat(WINDOW *win, int y, int x, int n,\fR
- \fBattr_t attr, short color, const void *opts)\fR
+\fBint mvwchgat(WINDOW *\fP\fIwin, int \fP\fIy, int \fP\fIx, int \fP\fIn,\fR
+ \fBattr_t \fP\fIattr\fP\fB, short \fP\fIcolor\fP\fB, const void *\fP\fIopts\fP\fB);\fR
.br
.SH DESCRIPTION
-These routines manipulate the current attributes of the named window. The
+These routines manipulate the current attributes of the named window.
+The
current attributes of a window apply to all characters that are written into
-the window with \fBwaddch\fR, \fBwaddstr\fR and \fBwprintw\fR. Attributes are
+the window with \fBwaddch\fR, \fBwaddstr\fR and \fBwprintw\fR.
+Attributes are
a property of the character, and move with the character through any scrolling
-and insert/delete line/character operations. To the extent possible, they are
+and insert/delete line/character operations.
+To the extent possible, they are
displayed as appropriate modifications to the graphic rendition of characters
put on the screen.
+.SS attrset
.PP
The routine \fBattrset\fR sets the current attributes of the given window to
-\fIattrs\fR. The routine \fBattroff\fR turns off the named attributes without
-turning any other attributes on or off. The routine \fBattron\fR turns on the
-named attributes without affecting any others. The routine \fBstandout\fR is
-the same as \fBattron(A_STANDOUT)\fR. The routine \fBstandend\fR is the same
+\fIattrs\fR.
+The routine \fBattroff\fR turns off the named attributes without
+turning any other attributes on or off.
+The routine \fBattron\fR turns on the
+named attributes without affecting any others.
+The routine \fBstandout\fR is
+the same as \fBattron(A_STANDOUT)\fR.
+The routine \fBstandend\fR is the same
as \fBattrset(A_NORMAL)\fR or \fBattrset(0)\fR, that is, it turns off all
attributes.
.PP
when erasing portions of the window.
See \fBcurs_bkgd\fR(3X) for functions which modify the attributes used for
erasing and clearing.
+.SS attr_set
+The \fBattrset\fP routine is actually a legacy feature predating SVr4 curses
+but kept in X/Open Curses for the same reason that SVr4 curses kept it:
+compatbility.
+The routine \fBattr_set\fP provides for passing a color-pair parameter.
+.PP
+The remaining \fBattr_\fR* functions operate exactly like the corresponding
+\fBattr\fR* functions, except that they take arguments of type \fBattr_t\fR
+rather than \fBint\fR.
+.SS color_set
.PP
The routine \fBcolor_set\fR sets the current color of the given window to the
-foreground/background combination described by the color_pair_number. The
+foreground/background combination described by the color_pair_number.
+The
parameter opts is reserved for future use, applications must supply a null
pointer.
+.SS attr_get
.PP
The routine \fBwattr_get\fR returns the current attribute and color pair for
the given window; \fBattr_get\fR returns the current attribute and color pair
for \fBstdscr\fR.
-The remaining \fBattr_\fR* functions operate exactly like the corresponding
-\fBattr\fR* functions, except that they take arguments of type \fBattr_t\fR
-rather than \fBint\fR.
+.PP
+There is no corresponding \fBattrget\fP function as such in X/Open Curses,
+although ncurses provides \fBgetattrs\fP (see curs_legacy(3x)).
+.SS chgat
.PP
The routine \fBchgat\fR changes the attributes of a given number of characters
-starting at the current cursor location of \fBstdscr\fR. It does not update
-the cursor and does not perform wrapping. A character count of \-1 or greater
+starting at the current cursor location of \fBstdscr\fR.
+It does not update
+the cursor and does not perform wrapping.
+A character count of \-1 or greater
than the remaining window width means to change attributes all the way to the
-end of the current line. The \fBwchgat\fR function generalizes this to any
-window; the \fBmvwchgat\fR function does a cursor move before acting. In these
+end of the current line.
+The \fBwchgat\fR function generalizes this to any
+window; the \fBmvwchgat\fR function does a cursor move before acting.
+In these
functions, the color argument is a color-pair index (as in the first argument
-of \fIinit_pair\fR, see \fBcurs_color\fR(3X)). The \fBopts\fR argument is not
+of \fIinit_pair\fR, see \fBcurs_color\fR(3X)).
+The \fBopts\fR argument is not
presently used, but is reserved for the future (leave it \fBNULL\fR).
.SS Attributes
The following video attributes, defined in \fB<curses.h>\fR, can be passed to
the routines \fBattron\fR, \fBattroff\fR, and \fBattrset\fR, or OR'd with the
-characters passed to \fBaddch\fR.
+characters passed to \fBaddch\fR (see curs_addch(3x)).
.PP
.RS
.TS
-l l
+l l
_ _ _
l l .
\fIName\fR \fIDescription\fR
(which also support the attributes recognized by \fBattron\fP, etc.):
.RS
.TS
-l l
+l l
_ _ _
l l .
\fIName\fR \fIDescription\fR
However, ncurses ABI 4 and 5 simply OR this value within the alternate functions.
You must use ncurses ABI 6 to support more than 256 color pairs.
.SH PORTABILITY
-These functions are supported in the XSI Curses standard, Issue 4. The
+These functions are supported in the XSI Curses standard, Issue 4.
+The
standard defined the dedicated type for highlights, \fBattr_t\fR, which is not
-defined in SVr4 curses. The functions taking \fBattr_t\fR arguments are
+defined in SVr4 curses.
+The functions taking \fBattr_t\fR arguments are
not supported under SVr4.
.PP
The XSI Curses standard states that whether the traditional functions
\fBattron\fR/\fBattroff\fR/\fBattrset\fR can manipulate attributes other than
\fBA_BLINK\fR, \fBA_BOLD\fR, \fBA_DIM\fR, \fBA_REVERSE\fR, \fBA_STANDOUT\fR, or
-\fBA_UNDERLINE\fR is "unspecified". Under this implementation as well as
+\fBA_UNDERLINE\fR is "unspecified".
+Under this implementation as well as
SVr4 curses, these functions correctly manipulate all other highlights
(specifically, \fBA_ALTCHARSET\fR, \fBA_PROTECT\fR, and \fBA_INVIS\fR).
.PP
.PP
XSI Curses added the new entry points, \fBattr_get\fR, \fBattr_on\fR,
\fBattr_off\fR, \fBattr_set\fR, \fBwattr_on\fR, \fBwattr_off\fR,
-\fBwattr_get\fR, \fBwattr_set\fR. These are intended to work with
+\fBwattr_get\fR, \fBwattr_set\fR.
+These are intended to work with
a new series of highlight macros prefixed with \fBWA_\fR.
The older macros have direct counterparts in the newer set of names:
.PP
.RS
.ne 9
.TS
-l l
+l l
_ _ _
l l .
\fIName\fR \fIDescription\fR
.TE
.RE
.PP
-Older versions of this library did not force an update of the screen
+Very old versions of this library did not force an update of the screen
when changing the attributes.
Use \fBtouchwin\fR to force the screen to match the updated attributes.
.PP
\fBwmove\fP, and return an error if the position is outside the window,
or if the window pointer is null.
.SH SEE ALSO
+.na
\fBcurses\fR(3X),
\fBcurs_addch\fR(3X),
\fBcurs_addstr\fR(3X),
.\"***************************************************************************
-.\" Copyright (c) 1998-2003,2010 Free Software Foundation, Inc. *
+.\" Copyright (c) 1998-2010,2015 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_bkgd.3x,v 1.22 2010/12/04 18:36:44 tom Exp $
+.\" $Id: curs_bkgd.3x,v 1.23 2015/07/21 00:11:05 tom Exp $
+.de bP
+.IP \(bu 4
+..
.TH curs_bkgd 3X ""
.SH NAME
\fBbkgdset\fR, \fBwbkgdset\fR,
.SH SYNOPSIS
\fB#include <curses.h>\fR
.PP
-\fBvoid bkgdset(chtype ch);\fR
+\fBvoid bkgdset(chtype \fP\fIch\fP\fB);\fR
.br
-\fBvoid wbkgdset(WINDOW *win, chtype ch);\fR
+\fBvoid wbkgdset(WINDOW *\fP\fIwin, chtype \fP\fIch\fP\fB);\fR
.br
-\fBint bkgd(chtype ch);\fR
+\fBint bkgd(chtype \fP\fIch\fP\fB);\fR
.br
-\fBint wbkgd(WINDOW *win, chtype ch);\fR
+\fBint wbkgd(WINDOW *\fP\fIwin\fP\fB, chtype \fP\fIch\fP\fB);\fR
.br
-\fBchtype getbkgd(WINDOW *win);\fR
+\fBchtype getbkgd(WINDOW *\fP\fIwin\fP\fB);\fR
.br
.SH DESCRIPTION
+.SS bkgdset
The \fBbkgdset\fR and \fBwbkgdset\fR routines manipulate the
background of the named window.
The window background is a \fBchtype\fR consisting of
To the extent possible on a particular terminal,
the attribute part of the background is displayed
as the graphic rendition of the character put on the screen.
+.SS bkgd
.PP
The \fBbkgd\fR and \fBwbkgd\fR functions
set the background property of the current or specified window
and then apply this setting to every character position in that window:
.PP
-.RS
+.bP
The rendition of every character on the screen is changed to
the new background rendition.
-.PP
+.bP
Wherever the former background character
appears, it is changed to the new background character.
.RE
+.SS getbkgd
.PP
The \fBgetbkgd\fR function returns the given window's current background
character/attribute pair.
.SH RETURN VALUE
+.PP
The routines \fBbkgd\fR and \fBwbkgd\fR return the integer \fBOK\fR.
The SVr4.0 manual says "or a non-negative integer if \fBimmedok\fR is set",
but this appears to be an error.
.SH NOTES
+.PP
Note that \fBbkgdset\fR and \fBbkgd\fR may be macros.
.SH PORTABILITY
+.PP
These functions are described in the XSI Curses standard, Issue 4.
It specifies that \fBbkgd\fR and \fBwbkgd\fR return \fBERR\fR on failure,
but gives no failure conditions.
.SH SEE ALSO
+.na
+.PP
\fBcurses\fR(3X),
\fBcurs_addch\fR(3X),
\fBcurs_attr\fR(3X),
.\"***************************************************************************
-.\" Copyright (c) 2002-2010,2012 Free Software Foundation, Inc. *
+.\" Copyright (c) 2002-2012,2015 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_bkgrnd.3x,v 1.5 2012/11/03 23:03:59 tom Exp $
+.\" $Id: curs_bkgrnd.3x,v 1.6 2015/07/21 00:18:42 tom Exp $
+.de bP
+.IP \(bu 4
+..
.TH curs_bkgrnd 3X ""
.SH NAME
\fBbkgrnd\fR,
\fBint wgetbkgrnd(WINDOW *\fR\fIwin\fR\fB, cchar_t *\fR\fIwch\fR\fB);\fR
.br
.SH DESCRIPTION
+.SS bkgrndset
+.PP
The \fBbkgrndset\fR and \fBwbkgrndset\fR routines manipulate the
background of the named window.
The window background is a \fBcchar_t\fR consisting of
To the extent possible on a
particular terminal, the attribute part of the background is displayed
as the graphic rendition of the character put on the screen.
+.SS bkgrnd
.PP
The \fBbkgrnd\fR and \fBwbkgrnd\fR functions
set the background property of the current or specified window
and then apply this setting to every character position in that window:
-.RS
-.PP
+.bP
The rendition of every character on the screen is changed to
the new background rendition.
-.PP
+.bP
Wherever the former background character
appears, it is changed to the new background character.
-.RE
+.SS getbkgrnd
.PP
The \fBgetbkgrnd\fR function returns the given window's current background
character/attribute pair via the \fBwch\fR pointer.
-.
.SH NOTES
Note that
\fBbkgrnd\fR,
\fBgetbkgrnd\fR
may be macros.
.SH RETURN VALUE
+.PP
The \fBbkgrndset\fR and \fBwbkgrndset\fR routines do not return a value.
.PP
Upon successful completion, the other functions return \fBOK\fR.
.\"***************************************************************************
-.\" Copyright (c) 2001-2010,2012 Free Software Foundation, Inc. *
+.\" Copyright (c) 2001-2012,2015 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_getcchar.3x,v 1.16 2012/11/03 23:03:59 tom Exp $
+.\" $Id: curs_getcchar.3x,v 1.17 2015/07/21 09:30:38 tom Exp $
.TH curs_getcchar 3X ""
.de bP
.IP \(bu 4
.br
.B " void *\fIopts\fP );"
.SH DESCRIPTION
+.SS getcchar
.PP
The \fBgetcchar\fP function gets a wide-character string
and rendition from a \fBcchar_t\fP argument.
\fIattrs\fP
or
\fIcolor_pair\fP
+.SS setcchar
.PP
The \fBsetcchar\fP function initializes the location pointed to by \fIwcval\fP
by using:
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: curs_getch.3x,v 1.41 2015/07/16 09:29:33 tom Exp $
+.\" $Id: curs_getch.3x,v 1.42 2015/07/21 08:44:04 tom Exp $
.TH curs_getch 3X ""
.na
.hy 0
.PP
\fBint getch(void);\fR
.br
-\fBint wgetch(WINDOW *win);\fR
+\fBint wgetch(WINDOW *\fP\fIwin);\fR
.br
-\fBint mvgetch(int y, int x);\fR
+\fBint mvgetch(int \fP\fIy\fP\fB, int \fP\fIx\fP\fB);\fR
.br
-\fBint mvwgetch(WINDOW *win, int y, int x);\fR
+\fBint mvwgetch(WINDOW *\fP\fIwin\fP\fB, int \fP\fIy\fP\fB, int \fP\fIx\fP\fB);\fR
.br
-\fBint ungetch(int ch);\fR
+\fBint ungetch(int \fP\fIch\fP\fB);\fR
.br
-\fBint has_key(int ch);\fR
+\fBint has_key(int \fP\fIch\fP\fB);\fR
.br
.SH DESCRIPTION
.SS Reading characters
returned by the next call to \fBwgetch\fR.
There is just one input queue for all windows.
.PP
-.SS Function Keys
-The following function keys, defined in \fB<curses.h>\fR, might be returned by
+.SS Predefined key-codes
+The following special keys, defined in \fB<curses.h>\fR, may be returned by
\fBgetch\fR if \fBkeypad\fR has been enabled.
-Note that not all of these are
-necessarily supported on any particular terminal.
+Not all of these are necessarily supported on any particular terminal.
.PP
.TS
center tab(/) ;
.TE
.PP
Keypad is arranged like this:
-.sp
+.br
.TS
center allbox tab(/) ;
c c c .
\fBC1\fR/\fBdown\fR/\fBC3\fR
.TE
.sp
-The \fBhas_key\fR routine takes a key value from the above list, and
+A few of these predefined values do \fInot\fP correspond to a real key:
+.bP
+.B KEY_RESIZE
+is returned when the \fBSIGWINCH\fP signal has been detected
+(see \fBinitscr\fP(3X) and \fBresizeterm\fR(3X)).
+.bP
+.B KEY_MOUSE
+is returned for mouse-events (see \fBcurs_mouse\fR(3X)).
+.SS Testing key-codes
+.PP
+The \fBhas_key\fR routine takes a key-code value from the above list, and
returns \fBTRUE\fP or \fBFALSE\fP according to whether
the current terminal type recognizes a key with that value.
-Note that a few values do not correspond to a real key,
-e.g., \fBKEY_RESIZE\fP and \fBKEY_MOUSE\fP.
-See \fBinitscr\fP(3X) and \fBresizeterm\fR(3X) for more details about \fBKEY_RESIZE\fP, and
-\fBcurs_mouse\fR(3X) for a discussion of \fBKEY_MOUSE\fP.
+.PP
+The library also supports these extensions:
+.RS 3
+.TP 5
+.B define_key
+defines a key-code for a given string (see \fBdefine_key\fP(3X)).
+.TP 5
+.B key_defined
+checks if there is a key-code defined for a given
+string (see \fBkey_defined\fP(3X)).
+.RE
.PP
.SH RETURN VALUE
All routines return the integer \fBERR\fR upon failure and an integer value
discouraged, as it will cause a delay of up to one second while the
keypad code looks for a following function-key sequence.
.PP
-Note that some keys may be the same as commonly used control
+Some keys may be the same as commonly used control
keys, e.g., \fBKEY_ENTER\fP versus control/M, \fBKEY_BACKSPACE\fP versus control/H.
Some curses implementations may differ according to whether they
treat these control keys specially (and ignore the terminfo), or
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: curs_initscr.3x,v 1.23 2015/07/16 09:23:42 tom Exp $
+.\" $Id: curs_initscr.3x,v 1.24 2015/07/21 23:01:38 tom Exp $
.TH curs_initscr 3X ""
.de bP
.IP \(bu 4
.br
\fBbool isendwin(void);\fR
.br
-\fBSCREEN *newterm(char *type, FILE *outfd, FILE *infd);\fR
+\fBSCREEN *newterm(char *\fP\fItype\fP\fB, FILE *\fP\fIoutfd\fP\fB, FILE *\fP\fIinfd\fP\fB);\fR
.br
-\fBSCREEN *set_term(SCREEN *new);\fR
+\fBSCREEN *set_term(SCREEN *\fP\fInew\fP\fB);\fR
.br
-\fBvoid delscreen(SCREEN* sp);\fR
+\fBvoid delscreen(SCREEN* \fP\fIsp\fP\fB);\fR
.br
.SH DESCRIPTION
.SS initscr
.\"***************************************************************************
-.\" Copyright (c) 1998-2005,2010 Free Software Foundation, Inc. *
+.\" Copyright (c) 1998-2010,2015 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_kernel.3x,v 1.19 2010/12/04 18:38:55 tom Exp $
+.\" $Id: curs_kernel.3x,v 1.20 2015/07/21 01:10:11 tom Exp $
+.de bP
+.IP \(bu 4
+..
.TH curs_kernel 3X ""
.na
.hy 0
.br
\fBint savetty(void);\fR
.br
-\fBvoid getsyx(int y, int x);\fR
+\fBvoid getsyx(int \fP\fIy\fP\fB, int \fP\fIx\fP\fB);\fR
.br
-\fBvoid setsyx(int y, int x);\fR
+\fBvoid setsyx(int \fP\fIy\fP\fB, int \fP\fIx\fP\fB);\fR
.br
-\fBint ripoffline(int line, int (*init)(WINDOW *, int));\fR
+\fBint ripoffline(int \fP\fIline\fP\fB, int (*\fP\fIinit\fP\fB)(WINDOW *, int));\fR
.br
-\fBint curs_set(int visibility);\fR
+\fBint curs_set(int \fP\fIvisibility\fP\fB);\fR
.br
-\fBint napms(int ms);\fR
+\fBint napms(int \fP\fIms\fP\fB);\fR
.br
.SH DESCRIPTION
The following routines give low-level access to various \fBcurses\fR
capabilities. These routines typically are used inside library
routines.
+.SS def_prog_mode, def_shell_mode
.PP
The \fBdef_prog_mode\fR and \fBdef_shell_mode\fR routines save the
current terminal modes as the "program" (in \fBcurses\fR) or "shell"
\fBreset_shell_mode\fR routines. This is done automatically by
\fBinitscr\fR. There is one such save area for each screen context
allocated by \fBnewterm()\fR.
+.SS reset_prog_mode, reset_shell_mode
.PP
The \fBreset_prog_mode\fR and \fBreset_shell_mode\fR routines restore
the terminal to "program" (in \fBcurses\fR) or "shell" (out of
\fBcurses\fR) state. These are done automatically by \fBendwin\fR
and, after an \fBendwin\fR, by \fBdoupdate\fR, so they normally are
not called.
+.SS resetty, savetty
.PP
The \fBresetty\fR and \fBsavetty\fR routines save and restore the
state of the terminal modes. \fBsavetty\fR saves the current state in
a buffer and \fBresetty\fR restores the state to what it was at the
last call to \fBsavetty\fR.
+.SS getsyx
.PP
The \fBgetsyx\fR routine returns the current coordinates of the virtual screen
cursor in \fIy\fR and \fIx\fR. If \fBleaveok\fR is currently \fBTRUE\fR, then
screen, using \fBripoffline\fR, \fIy\fR and \fIx\fR include these lines;
therefore, \fIy\fR and \fIx\fR should be used only as arguments for
\fBsetsyx\fR.
+.SS setsyx
.PP
The \fBsetsyx\fR routine sets the virtual screen cursor to
\fIy\fR, \fIx\fR. If \fIy\fR and \fIx\fR are both \fB\-1\fR, then
at the beginning, do its manipulation of its own windows, do a
\fBwnoutrefresh\fR on its windows, call \fBsetsyx\fR, and then call
\fBdoupdate\fR.
+.SS ripoffline
.PP
The \fBripoffline\fR routine provides access to the same facility that
\fBslk_init\fR [see \fBcurs_slk\fR(3X)] uses to reduce the size of the
screen. \fBripoffline\fR must be called before \fBinitscr\fR or
-\fBnewterm\fR is called. If \fIline\fR is positive, a line is removed
-from the top of \fBstdscr\fR; if \fIline\fR is negative, a line is
-removed from the bottom. When this is done inside \fBinitscr\fR, the
+\fBnewterm\fR is called, to prepare these initial actions:
+.bP
+If \fIline\fR is positive, a line is removed from the top of \fBstdscr\fR.
+.bP
+if \fIline\fR is negative, a line is removed from the bottom.
+.PP
+When the resulting initialization is done inside \fBinitscr\fR, the
routine \fBinit\fR (supplied by the user) is called with two
-arguments: a window pointer to the one-line window that has been
-allocated and an integer with the number of columns in the window.
+arguments:
+.bP
+a window pointer to the one-line window that has been
+allocated and
+.bP
+an integer with the number of columns in the window.
+.PP
Inside this initialization routine, the integer variables \fBLINES\fR
and \fBCOLS\fR (defined in \fB<curses.h>\fR) are not guaranteed to be
accurate and \fBwrefresh\fR or \fBdoupdate\fR must not be called. It
.PP
\fBripoffline\fR can be called up to five times before calling \fBinitscr\fR or
\fBnewterm\fR.
+.SS curs_set
.PP
The \fBcurs_set\fR routine sets the cursor state to invisible,
normal, or very visible for \fBvisibility\fR equal to \fB0\fR,
\fB1\fR, or \fB2\fR respectively. If the terminal supports the
\fIvisibility\fR requested, the previous \fIcursor\fR state is
returned; otherwise, \fBERR\fR is returned.
+.SS napms
.PP
The \fBnapms\fR routine is used to sleep for \fIms\fR milliseconds.
.SH RETURN VALUE
.PP
X/Open defines no error conditions.
In this implementation
-.RS
.TP 5
+.na
+.hy 0
\fBdef_prog_mode\fR, \fBdef_shell_mode\fR, \fBreset_prog_mode\fR, \fBreset_shell_mode\fR
+.hy
+.ad
return an error
if the terminal was not initialized, or
if the I/O call to obtain the terminal settings fails.
\fBripoffline\fP
returns an error if the maximum number of ripped-off lines
exceeds the maximum (NRIPS = 5).
-.RE
.SH NOTES
Note that \fBgetsyx\fR is a macro, so \fB&\fR is not necessary before
the variables \fIy\fR and \fIx\fR.
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: curs_mouse.3x,v 1.41 2015/04/11 10:23:49 tom Exp $
+.\" $Id: curs_mouse.3x,v 1.42 2015/07/21 09:27:39 tom Exp $
+.de bP
+.IP \(bu 4
+..
.TH curs_mouse 3X ""
.na
.hy 0
.PP
\fBbool has_mouse(void);\fR
.br
-\fBint getmouse(MEVENT *event);\fR
+\fBint getmouse(MEVENT *\fP\fIevent\fP\fB);\fR
.br
-\fBint ungetmouse(MEVENT *event);\fR
+\fBint ungetmouse(MEVENT *\fP\fIevent\fP\fB);\fR
.br
-\fBmmask_t mousemask(mmask_t newmask, mmask_t *oldmask);\fR
+\fBmmask_t mousemask(mmask_t \fP\fInewmask\fP\fB, mmask_t *\fP\fIoldmask\fP\fB);\fR
.br
-\fBbool wenclose(const WINDOW *win, int y, int x);\fR
+\fBbool wenclose(const WINDOW *\fP\fIwin\fP\fB, int \fP\fIy\fP\fB, int \fP\fIx\fP\fB);\fR
.br
-\fBbool mouse_trafo(int* pY, int* pX, bool to_screen);\fR
+\fBbool mouse_trafo(int* \fP\fIpY\fP\fB, int* \fP\fIpX\fP\fB, bool \fP\fIto_screen\fP\fB);\fR
.br
-\fBbool wmouse_trafo(const WINDOW* win, int* pY, int* pX,\fR
+\fBbool wmouse_trafo(const WINDOW* \fP\fIwin\fP\fB, int* \fP\fIpY\fP\fB, int* \fP\fIpX\fP\fB,\fR
.br
- \fBbool to_screen);\fR
+ \fBbool \fP\fIto_screen\fP\fB);\fR
.br
-\fBint mouseinterval(int erval);\fR
+\fBint mouseinterval(int \fP\fIerval\fP\fB);\fR
.br
.SH DESCRIPTION
These functions provide an interface to mouse events from
\fBncurses\fR(3X).
Mouse events are represented by \fBKEY_MOUSE\fR
pseudo-key values in the \fBwgetch\fR input stream.
+.SS mousemask
.PP
To make mouse events visible, use the \fBmousemask\fR function.
This will set
As a side effect, setting a zero mousemask may turn off the mouse pointer;
setting a nonzero mask may turn it on.
Whether this happens is device-dependent.
+.SS Mouse events
.PP
Here are the mouse event type masks which may be defined:
.PP
REPORT_MOUSE_POSITION report mouse movement
_
.TE
+.SS getmouse
.PP
Once a class of mouse events has been made visible in a window,
calling the \fBwgetch\fR function on that window may return
The corresponding data in the queue is marked invalid.
A subsequent call to \fBgetmouse\fP will retrieve the next older
item from the queue.
+.SS ungetmouse
.PP
The \fBungetmouse\fR function behaves analogously to \fBungetch\fR.
It pushes
a \fBKEY_MOUSE\fR event onto the input queue, and associates with that event
the given state data and screen-relative character-cell coordinates.
+.SS wenclose
.PP
The \fBwenclose\fR function tests whether a given pair of screen-relative
character-cell coordinates is enclosed by a given window, returning \fBTRUE\fP
if it is and \fBFALSE\fP otherwise.
It is useful for determining what subset of
the screen windows enclose the location of a mouse event.
+.SS wmouse_trafo
.PP
The \fBwmouse_trafo\fR function transforms a given pair of coordinates
from stdscr-relative coordinates
to coordinates relative to the given window or vice versa.
-Please remember, that stdscr-relative coordinates are not always identical
+The resulting stdscr-relative coordinates are not always identical
to window-relative coordinates due to the mechanism to reserve lines on top
or bottom of the screen for other purposes
-(see the \fBripoffline()\fP and \fBslk_init\fR calls, for example).
+(see the \fBripoffline\fP and \fBslk_init\fR calls, for example).
+.bP
If the parameter \fBto_screen\fR is \fBTRUE\fR, the pointers
\fBpY, pX\fR must reference the coordinates of a location
inside the window \fBwin\fR.
They are converted to window-relative coordinates and returned
through the pointers.
If the conversion was successful, the function returns \fBTRUE\fR.
+.bP
If one of the parameters was NULL or the location is
not inside the window, \fBFALSE\fR is returned.
+.bP
If \fBto_screen\fR is
\fBFALSE\fR, the pointers \fBpY, pX\fR must reference window-relative
coordinates.
They are converted to stdscr-relative coordinates if the
window \fBwin\fR encloses this point.
In this case the function returns \fBTRUE\fR.
+.bP
If one of the parameters is NULL or the point is not inside the
window, \fBFALSE\fR is returned.
-Please notice, that the referenced coordinates
+The referenced coordinates
are only replaced by the converted coordinates if the transformation was
successful.
+.SS mouse_trafo
.PP
The \fBmouse_trafo\fR function performs the same translation
as \fBwmouse_trafo\fR,
using stdscr for \fBwin\fR.
+.SS mouseinterval
.PP
The \fBmouseinterval\fR function sets the maximum time (in thousands of a
second) that can elapse between press and release events for them to
This function returns the previous interval value.
Use \fBmouseinterval(\-1)\fR to obtain the interval without altering it.
The default is one sixth of a second.
+.SS has_mouse
.PP
The \fBhas_mouse\fP function returns \fBTRUE\fP if the mouse driver has been
successfully initialized.
.SH RETURN VALUE
\fBgetmouse\fR and \fBungetmouse\fR
return the integer \fBERR\fR upon failure or \fBOK\fR
-upon successful completion.
-.RS
+upon successful completion:
+.RS 3
.TP 5
\fBgetmouse\fP
returns an error.
+.bP
If no mouse driver was initialized, or
if the mask parameter is zero,
-it also returns an error if no more events remain in the queue.
+.bP
+It also returns an error if no more events remain in the queue.
.TP 5
\fBungetmouse\fP
returns an error if the FIFO is full.
incremented.
These values for \fBNCURSES_MOUSE_VERSION\fR may be
specified when configuring ncurses:
-.RS
+.RS 3
.TP 3
1
has definitions for reserved events.
Under \fBncurses\fR(3X), these calls are implemented using either
xterm's built-in mouse-tracking API or
platform-specific drivers including
-.RS
+.RS 3
+.bP
Alessandro Rubini's gpm server
-.br
+.bP
FreeBSD sysmouse
-.br
+.bP
OS/2 EMX
.RE
+.PP
If you are using an unsupported configuration,
mouse events will not be visible to
\fBncurses\fR(3X) (and the \fBmousemask\fR function will always
way the terminal is initialized for mouse operation.
The default, if \fBXM\fR is not found,
corresponds to private mode 1000 of xterm:
-.RS
+.PP
+.RS 3
\\E[?1000%?%p1%{1}%=%th%el%;
.RE
.PP
-The z member in the event structure is not presently used.
+The \fIz\fP member in the event structure is not presently used.
It is intended
for use with touch screens (which may be pressure-sensitive) or with
3D-mice/trackballs/power gloves.
.\"***************************************************************************
-.\" Copyright (c) 1998-2007,2010 Free Software Foundation, Inc. *
+.\" Copyright (c) 1998-2010,2015 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_outopts.3x,v 1.25 2010/12/04 18:38:55 tom Exp $
+.\" $Id: curs_outopts.3x,v 1.26 2015/07/21 00:23:43 tom Exp $
.TH curs_outopts 3X ""
.na
.hy 0
.SH SYNOPSIS
\fB#include <curses.h>\fR
.sp
-\fBint clearok(WINDOW *win, bool bf);\fR
+\fBint clearok(WINDOW *\fP\fIwin\fP\fB, bool \fP\fIbf\fP\fB);\fR
.br
-\fBint idlok(WINDOW *win, bool bf);\fR
+\fBint idlok(WINDOW *\fP\fIwin\fP\fB, bool \fP\fIbf\fP\fB);\fR
.br
-\fBvoid idcok(WINDOW *win, bool bf);\fR
+\fBvoid idcok(WINDOW *\fP\fIwin\fP\fB, bool \fP\fIbf\fP\fB);\fR
.br
-\fBvoid immedok(WINDOW *win, bool bf);\fR
+\fBvoid immedok(WINDOW *\fP\fIwin\fP\fB, bool \fP\fIbf\fP\fB);\fR
.br
-\fBint leaveok(WINDOW *win, bool bf);\fR
+\fBint leaveok(WINDOW *\fP\fIwin\fP\fB, bool \fP\fIbf\fP\fB);\fR
.br
-\fBint setscrreg(int top, int bot);\fR
+\fBint setscrreg(int \fP\fItop\fP\fB, int \fP\fIbot\fP\fB);\fR
.br
-\fBint wsetscrreg(WINDOW *win, int top, int bot);\fR
+\fBint wsetscrreg(WINDOW *\fP\fIwin\fP\fB, int \fP\fItop\fP\fB, int \fP\fIbot\fP\fB);\fR
.br
-\fBint scrollok(WINDOW *win, bool bf);\fR
+\fBint scrollok(WINDOW *\fP\fIwin\fP\fB, bool \fP\fIbf\fP\fB);\fR
.br
\fBint nl(void);\fR
.br
\fBcurses\fR.
All options are initially \fBFALSE\fR, unless otherwise stated.
It is not necessary to turn these options off before calling \fBendwin\fR.
+.SS clearok
.PP
If \fBclearok\fR is called with \fBTRUE\fR as argument, the next
call to \fBwrefresh\fR with this window will clear the screen completely and
the \fIwin\fR argument to \fBclearok\fR is the global variable \fBcurscr\fR,
the next call to \fBwrefresh\fR with any window causes the screen to be cleared
and repainted from scratch.
+.SS idlok
.PP
If \fBidlok\fR is called with \fBTRUE\fR as second argument, \fBcurses\fR
considers using the hardware insert/delete line feature of terminals so
when used in applications where it is not really needed.
If insert/delete line
cannot be used, \fBcurses\fR redraws the changed portions of all lines.
+.SS idcok
.PP
If \fBidcok\fR is called with \fBFALSE\fR as second argument, \fBcurses\fR
no longer considers using the hardware insert/delete character feature of
Use of character insert/delete is enabled by default.
Calling \fBidcok\fR with \fBTRUE\fR as second argument re-enables use
of character insertion and deletion.
+.SS immedok
.PP
If \fBimmedok\fR is called with \fBTRUE as argument\fR, any change
in the window image, such as the ones caused by \fBwaddch, wclrtobot, wscrl\fR,
However, it may
degrade performance considerably, due to repeated calls to \fBwrefresh\fR.
It is disabled by default.
+.SS leaveok
.PP
Normally, the hardware cursor is left at the location of the window cursor
being refreshed.
wherever the update happens to leave it.
It is useful for applications where
the cursor is not used, since it reduces the need for cursor motions.
+.SS setscrreg
.PP
The \fBsetscrreg\fR and \fBwsetscrreg\fR routines allow the application
programmer to set a software scrolling region in a window.
If \fBidlok\fR is enabled and the terminal
has either a scrolling region or insert/delete line capability, they will
probably be used by the output routines.)
+.SS scrollok
.PP
The \fBscrollok\fR option controls what happens when the cursor of a window is
moved off the edge of the window or scrolling region, either as a result of a
If enabled, (\fIbf\fR is \fBTRUE\fR), the window is scrolled up one line
(Note that to get the physical scrolling effect on the terminal, it is
also necessary to call \fBidlok\fR).
+.SS nl, nonl
.PP
The \fBnl\fR and \fBnonl\fR routines control whether the underlying display
device translates the return key into newline on input, and whether it
All other routines that return an integer always
return \fBOK\fR.
.PP
-X/Open does not define any error conditions.
+X/Open Curses does not define any error conditions.
.PP
In this implementation, those functions that have a window pointer
will return an error if the window pointer is null.
The \fBimmedok\fR routine is useful for windows that are used as terminal
emulators.
.SH SEE ALSO
+.na
\fBcurses\fR(3X),
\fBcurs_addch\fR(3X),
\fBcurs_clear\fR(3X),
.\"***************************************************************************
-.\" Copyright (c) 1998-2010,2013 Free Software Foundation, Inc. *
+.\" Copyright (c) 1998-2013,2015 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_overlay.3x,v 1.17 2013/04/06 23:48:51 tom Exp $
+.\" $Id: curs_overlay.3x,v 1.18 2015/07/21 00:51:31 tom Exp $
.TH curs_overlay 3X ""
.na
.hy 0
.SH SYNOPSIS
\fB#include <curses.h>\fR
.sp
-\fBint overlay(const WINDOW *srcwin, WINDOW *dstwin);\fR
+\fBint overlay(const WINDOW *\fP\fIsrcwin\fP\fB, WINDOW *\fP\fIdstwin\fP\fB);\fR
.br
-\fBint overwrite(const WINDOW *srcwin, WINDOW *dstwin);\fR
+\fBint overwrite(const WINDOW *\fP\fIsrcwin\fP\fB, WINDOW *\fP\fIdstwin\fP\fB);\fR
.br
-\fBint copywin(const WINDOW *srcwin, WINDOW *dstwin, int sminrow,\fR
- \fBint smincol, int dminrow, int dmincol, int dmaxrow,\fR
- \fBint dmaxcol, int overlay);\fR
+\fBint copywin(const WINDOW *\fP\fIsrcwin\fP\fB, WINDOW *\fP\fIdstwin\fP\fB, int \fP\fIsminrow\fP\fB,\fR
+ \fBint \fP\fIsmincol\fP\fB, int \fP\fIdminrow\fP\fB, int \fP\fIdmincol\fP\fB, int \fP\fIdmaxrow\fP\fB,\fR
+ \fBint \fP\fIdmaxcol\fP\fB, int \fP\fIoverlay\fP\fB);\fR
.SH DESCRIPTION
+.SS overlay, overwrite
The \fBoverlay\fR and \fBoverwrite\fR routines overlay \fIsrcwin\fR on
top of \fIdstwin\fR.
\fIscrwin\fR and \fIdstwin\fR are not required
to be the same size; only text where the two windows overlap is copied.
The difference is that \fBoverlay\fR is non-destructive
(blanks are not copied) whereas \fBoverwrite\fR is destructive.
+.SS copywin
.PP
The \fBcopywin\fR routine provides a finer granularity of control over the
\fBoverlay\fR and \fBoverwrite\fR routines.
.\"***************************************************************************
-.\" Copyright (c) 1998-2005,2010 Free Software Foundation, Inc. *
+.\" Copyright (c) 1998-2010,2015 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_pad.3x,v 1.17 2010/12/04 18:41:07 tom Exp $
+.\" $Id: curs_pad.3x,v 1.18 2015/07/21 08:58:44 tom Exp $
.TH curs_pad 3X ""
.na
.hy 0
.SH SYNOPSIS
\fB#include <curses.h>\fR
.sp
-\fBWINDOW *newpad(int nlines, int ncols);\fR
+\fBWINDOW *newpad(int \fP\fInlines\fP\fB, int \fP\fIncols\fP\fB);\fR
.br
-\fBWINDOW *subpad(WINDOW *orig, int nlines, int ncols,\fR
- \fBint begin_y, int begin_x);\fR
+\fBWINDOW *subpad(WINDOW *\fP\fIorig\fP\fB, int \fP\fInlines\fP\fB, int \fP\fIncols\fP\fB,\fR
+ \fBint \fP\fIbegin_y\fP\fB, int \fP\fIbegin_x\fP\fB);\fR
.br
-\fBint prefresh(WINDOW *pad, int pminrow, int pmincol,\fR
- \fBint sminrow, int smincol, int smaxrow, int smaxcol);\fR
+\fBint prefresh(WINDOW *\fP\fIpad\fP\fB, int \fP\fIpminrow\fP\fB, int \fP\fIpmincol\fP\fB,\fR
+ \fBint \fP\fIsminrow\fP\fB, int \fP\fIsmincol\fP\fB, int \fP\fIsmaxrow\fP\fB, int \fP\fIsmaxcol\fP\fB);\fR
.br
-\fBint pnoutrefresh(WINDOW *pad, int pminrow, int pmincol,\fR
- \fBint sminrow, int smincol, int smaxrow, int smaxcol);\fR
+\fBint pnoutrefresh(WINDOW *\fP\fIpad\fP\fB, int \fP\fIpminrow\fP\fB, int \fP\fIpmincol\fP\fB,\fR
+ \fBint \fP\fIsminrow\fP\fB, int \fP\fIsmincol\fP\fB, int \fP\fIsmaxrow\fP\fB, int \fP\fIsmaxcol\fP\fB);\fR
.br
-\fBint pechochar(WINDOW *pad, chtype ch);\fR
+\fBint pechochar(WINDOW *\fP\fIpad\fP\fB, chtype \fP\fIch\fP\fB);\fR
.br
-\fBint pecho_wchar(WINDOW *pad, const cchar_t *wch);\fR
+\fBint pecho_wchar(WINDOW *\fP\fIpad\fP\fB, const cchar_t *\fP\fIwch\fP\fB);\fR
.SH DESCRIPTION
+.SS newpad
The \fBnewpad\fR routine creates and returns a pointer to a new pad data
structure with the given number of lines, \fInlines\fR, and columns,
\fIncols\fR.
Note that these
routines require additional parameters to specify the part of the pad to be
displayed and the location on the screen to be used for the display.
+.SS subpad
.PP
The \fBsubpad\fR routine creates and returns a pointer to a subwindow within a
pad with the given number of lines, \fInlines\fR, and columns, \fIncols\fR.
During the use of this routine, it will often be
necessary to call \fBtouchwin\fR or \fBtouchline\fR on \fIorig\fR before
calling \fBprefresh\fR.
+.SS prefresh, pnoutrefresh
.PP
The \fBprefresh\fR and \fBpnoutrefresh\fR routines are analogous to
\fBwrefresh\fR and \fBwnoutrefresh\fR except that they relate to pads instead
Negative values of
\fIpminrow\fR, \fIpmincol\fR, \fIsminrow\fR, or \fIsmincol\fR are treated as if
they were zero.
+.SS pechochar
.PP
The \fBpechochar\fR routine is functionally equivalent to a call to \fBaddch\fR
followed by a call to \fBrefresh\fR, a call to \fBwaddch\fR followed by a call
equivalents.
In the case of \fBpechochar\fR, the last location of the pad on
the screen is reused for the arguments to \fBprefresh\fR.
+.SS pecho_wchar
.PP
The \fBpecho_wchar\fR function is the analogous wide-character
form of \fBpechochar\fR.
.PP
X/Open does not define any error conditions.
In this implementation
-.RS
+.RS 3
.TP 5
\fBprefresh\fP and \fBpnoutrefresh\fP
return an error
.\"***************************************************************************
-.\" Copyright (c) 1998-2007,2010 Free Software Foundation, Inc. *
+.\" Copyright (c) 1998-2010,2015 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_termattrs.3x,v 1.12 2010/12/04 18:40:45 tom Exp $
+.\" $Id: curs_termattrs.3x,v 1.13 2015/07/21 00:03:34 tom Exp $
.TH curs_termattrs 3X ""
.SH NAME
\fBbaudrate\fR,
\fBchar *termname(void);\fR
.br
.SH DESCRIPTION
+.SS baudrate
The \fBbaudrate\fR routine returns the output speed of the terminal. The
number returned is in bits per second, for example \fB9600\fR, and is an
integer.
+.SS erasechar, erasewchar
.PP
The \fBerasechar\fR routine returns the user's current erase character.
.PP
in the location referenced by \fIch\fR.
If no erase character has been defined, the routine fails
and the location referenced by \fIch\fR is not changed.
+.SS has_is, has_il
.PP
The \fBhas_ic\fR routine is true if the terminal has insert- and delete-
character capabilities.
capabilities, or can simulate them using scrolling regions. This might
be used to determine if it would be appropriate to turn on physical
scrolling using \fBscrollok\fR.
+.SS killchar, killwchar
.PP
The \fBkillchar\fR routine returns the user's current line kill character.
.PP
in the location referenced by \fIch\fR.
If no line-kill character has been defined,
the routine fails and the location referenced by \fIch\fR is not changed.
+.SS longname
.PP
The \fBlongname\fR routine returns a pointer to a static area
containing a verbose description of the current terminal. The maximum
\fBset_term\fR, so the value should be saved between calls to
\fBnewterm\fR if \fBlongname\fR is going to be used with multiple
terminals.
+.SS termattrs, term_attrs
.PP
If a given terminal does not support a video attribute that an
application program is trying to use, \fBcurses\fR may substitute a
terminal using \fIA_\fR and \fIWA_\fR constants respectively.
This information is useful when a \fBcurses\fR program
needs complete control over the appearance of the screen.
+.SS termname
.PP
The \fBtermname\fR routine returns the terminal name used by \fBsetupterm\fR.
.SH RETURN VALUE
.\"***************************************************************************
-.\" Copyright (c) 2000-2009,2010 Free Software Foundation, Inc. *
+.\" Copyright (c) 2000-2010,2015 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_trace.3x,v 1.12 2010/12/04 18:40:45 tom Exp $
+.\" $Id: curs_trace.3x,v 1.13 2015/07/20 22:54:44 tom Exp $
+.de bP
+.IP \(bu 4
+..
.TH curs_trace 3X ""
.na
.hy 0
.SH SYNOPSIS
\fB#include <curses.h>\fR
.sp
-\fBvoid _tracef(const char *format, ...);\fR
+\fBvoid _tracef(const char *\fP\fIformat\fP\fB, ...);\fR
.br
-\fBvoid _tracedump(const char *label, WINDOW *win);\fR
+\fBvoid _tracedump(const char *\fP\fIlabel\fP\fB, WINDOW *\fP\fIwin\fP\fB);\fR
.br
-\fBchar *_traceattr(attr_t attr);\fR
+\fBchar *_traceattr(attr_t \fP\fIattr\fP\fB);\fR
.br
-\fBchar *_traceattr2(int buffer, chtype ch);\fR
+\fBchar *_traceattr2(int \fP\fIbuffer\fP\fB, chtype \fP\fIch\fP\fB);\fR
.br
\fBchar *_nc_tracebits(void);\fR
.br
-\fBchar * _tracecchar_t(const cchar_t *string);\fR
+\fBchar * _tracecchar_t(const cchar_t *\fP\fIstring\fP\fB);\fR
.br
-\fBchar * _tracecchar_t2(int buffer, const cchar_t *string);\fR
+\fBchar * _tracecchar_t2(int \fP\fIbuffer\fP\fB, const cchar_t *\fP\fIstring\fP\fB);\fR
.br
-\fBchar *_tracechar(int ch);\fR
+\fBchar *_tracechar(int \fP\fIch\fP\fB);\fR
.br
-\fBchar *_tracechtype(chtype ch);\fR
+\fBchar *_tracechtype(chtype \fP\fIch\fP\fB);\fR
.br
-\fBchar *_tracechtype2(int buffer, chtype ch);\fR
+\fBchar *_tracechtype2(int \fP\fIbuffer\fP\fB, chtype \fP\fIch\fP\fB);\fR
.br
-\fBchar *_tracemouse(const MEVENT *event);\fR
+\fBchar *_tracemouse(const MEVENT *\fP\fIevent\fP\fB);\fR
.br
-\fBvoid trace(const unsigned int param);\fR
+\fBvoid trace(const unsigned int \fP\fIparam\fP\fB);\fR
.SH DESCRIPTION
The \fBtrace\fR routines are used for debugging the ncurses libraries,
as well as applications which use the ncurses libraries.
These functions are normally available only with the debugging library
-\fIlibncurses_g.a\fR, but may be compiled into any model (shared, static,
+e.g., \fIlibncurses_g.a\fR, but may be compiled into any model (shared, static,
profile) by defining the symbol \fBTRACE\fR.
Additionally, some functions are only available with the wide-character
configuration of the libraries.
.PP
-The principal parts of this interface are the \fBtrace\fR routine which
-selectively enables different tracing features, and the \fB_tracef\fR
-routine which writes formatted data to the \fItrace\fR file.
+The principal parts of this interface are
+.bP
+\fBtrace\fR, which selectively enables different tracing features, and
+.bP
+\fB_tracef\fR, which writes formatted data to the \fItrace\fR file.
.PP
Calling \fBtrace\fR with a nonzero parameter opens the file \fBtrace\fR
-in the current directory for output. The parameter is formed by OR'ing
+in the current directory for output.
+The parameter is formed by OR'ing
values from the list of \fBTRACE_\fP\fIxxx\fR definitions in \fB<curses.h>\fR.
These include:
.TP 5
-TRACE_DISABLE
+.B TRACE_DISABLE
turn off tracing.
.TP 5
-TRACE_TIMES
+.B TRACE_TIMES
trace user and system times of updates.
.TP 5
-TRACE_TPUTS
+.B TRACE_TPUTS
trace tputs calls.
.TP 5
-TRACE_UPDATE
+.B TRACE_UPDATE
trace update actions, old & new screens.
.TP 5
-TRACE_MOVE
+.B TRACE_MOVE
trace cursor movement and scrolling.
.TP 5
-TRACE_CHARPUT
+.B TRACE_CHARPUT
trace all character outputs.
.TP 5
-TRACE_ORDINARY
+.B TRACE_ORDINARY
trace all update actions.
The old and new screen contents are written to the trace file
for each refresh.
.TP 5
-TRACE_CALLS
+.B TRACE_CALLS
trace all curses calls.
The parameters for each call are traced, as well as return values.
.TP 5
-TRACE_VIRTPUT
+.B TRACE_VIRTPUT
trace virtual character puts, i.e., calls to \fBaddch\fR.
.TP 5
-TRACE_IEVENT
+.B TRACE_IEVENT
trace low-level input processing, including timeouts.
.TP 5
-TRACE_BITS
+.B TRACE_BITS
trace state of TTY control bits.
.TP 5
-TRACE_ICALLS
+.B TRACE_ICALLS
trace internal/nested calls.
.TP 5
-TRACE_CCALLS
+.B TRACE_CCALLS
trace per-character calls.
.TP 5
-TRACE_DATABASE
+.B TRACE_DATABASE
trace read/write of terminfo/termcap data.
.TP 5
-TRACE_ATTRS
+.B TRACE_ATTRS
trace changes to video attributes and colors.
.TP 5
-TRACE_MAXIMUM
+.B TRACE_MAXIMUM
maximum trace level, enables all of the separate trace features.
.PP
Some tracing features are enabled whenever the \fBtrace\fR parameter
-is nonzero. Some features overlap.
+is nonzero.
+Some features overlap.
The specific names are used as a guideline.
.PP
+The other functions either return a pointer to a string-area
+(allocated by the corresponding function),
+or return no value (such as \fB_tracedump\fP, which implements the
+screen dump for \fBTRACE_UPDATE\fP).
+The caller should not free these
+strings, since the allocation is reused on successive calls.
+To work around the problem of a single string-area per function,
+some use a buffer-number parameter, telling the library to allocate
+additional string-areas.
+.PP
These functions check the \fBNCURSES_TRACE\fP environment variable,
to set the tracing feature as if \fBtrace\fP was called:
.RS
+.PP
+.na
filter,
initscr,
new_prescr,
newterm,
nofilter,
+restartterm,
ripoffline,
setupterm,
slk_init,
-tgetent
+tgetent,
+use_env,
+use_extended_names,
+use_tioctl
+.ad
.RE
-
.SH RETURN VALUE
Routines which return a value are designed to be used as parameters
to the \fB_tracef\fR routine.
.\"***************************************************************************
-.\" Copyright (c) 1998-2010,2014 Free Software Foundation, Inc. *
+.\" Copyright (c) 1998-2014,2015 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_window.3x,v 1.18 2014/03/01 23:36:38 tom Exp $
+.\" $Id: curs_window.3x,v 1.19 2015/07/21 08:25:23 tom Exp $
.TH curs_window 3X ""
.na
.hy 0
\fB#include <curses.h>\fR
.sp
\fBWINDOW *newwin(\fR
- \fBint nlines, int ncols,\fR
- \fBint begin_y, int begin_x);\fR
+ \fBint \fP\fInlines\fP\fB, int \fP\fIncols\fP\fB,\fR
+ \fBint \fP\fIbegin_y\fP\fB, int \fP\fIbegin_x\fP\fB);\fR
.br
-\fBint delwin(WINDOW *win);\fR
+\fBint delwin(WINDOW *\fP\fIwin\fP\fB);\fR
.br
-\fBint mvwin(WINDOW *win, int y, int x);\fR
+\fBint mvwin(WINDOW *\fP\fIwin\fP\fB, int \fP\fIy\fP\fB, int \fP\fIx\fP\fB);\fR
.br
-\fBWINDOW *subwin(WINDOW *orig,\fR
- \fBint nlines, int ncols,\fR
- \fBint begin_y, int begin_x);\fR
+\fBWINDOW *subwin(WINDOW *\fP\fIorig\fP\fB,\fR
+ \fBint \fP\fInlines\fP\fB, int \fP\fIncols\fP\fB,\fR
+ \fBint \fP\fIbegin_y\fP\fB, int \fP\fIbegin_x\fP\fB);\fR
.br
-\fBWINDOW *derwin(WINDOW *orig,\fR
- \fBint nlines, int ncols,\fR
- \fBint begin_y, int begin_x);\fR
+\fBWINDOW *derwin(WINDOW *\fP\fIorig\fP\fB,\fR
+ \fBint \fP\fInlines\fP\fB, int \fP\fIncols\fP\fB,\fR
+ \fBint \fP\fIbegin_y\fP\fB, int \fP\fIbegin_x\fP\fB);\fR
.br
-\fBint mvderwin(WINDOW *win, int par_y, int par_x);\fR
+\fBint mvderwin(WINDOW *\fP\fIwin\fP\fB, int \fP\fIpar_y\fP\fB, int \fP\fIpar_x\fP\fB);\fR
.br
-\fBWINDOW *dupwin(WINDOW *win);\fR
+\fBWINDOW *dupwin(WINDOW *\fP\fIwin\fP\fB);\fR
.br
-\fBvoid wsyncup(WINDOW *win);\fR
+\fBvoid wsyncup(WINDOW *\fP\fIwin\fP\fB);\fR
.br
-\fBint syncok(WINDOW *win, bool bf);\fR
+\fBint syncok(WINDOW *\fP\fIwin\fP\fB, bool \fP\fIbf\fP\fB);\fR
.br
-\fBvoid wcursyncup(WINDOW *win);\fR
+\fBvoid wcursyncup(WINDOW *\fP\fIwin\fP\fB);\fR
.br
-\fBvoid wsyncdown(WINDOW *win);\fR
+\fBvoid wsyncdown(WINDOW *\fP\fIwin\fP\fB);\fR
.br
.SH DESCRIPTION
+.SS newwin
Calling \fBnewwin\fR creates and returns a pointer to a new window with the
given number of lines and columns.
The upper left-hand corner of the window is
.RE
.PP
A new full-screen window is created by calling \fBnewwin(0,0,0,0)\fR.
+.SS delwin
.PP
Calling \fBdelwin\fR deletes the named window, freeing all memory
associated with it (it does not actually erase the window's screen
image).
Subwindows must be deleted before the main window can be deleted.
+.SS mvwin
.PP
Calling \fBmvwin\fR moves the window so that the upper left-hand
corner is at position (\fIx\fR, \fIy\fR).
If the move would cause the window to be off the screen,
it is an error and the window is not moved.
Moving subwindows is allowed, but should be avoided.
+.SS subwin
.PP
Calling \fBsubwin\fR creates and returns a pointer to a new window
with the given number of lines, \fInlines\fR, and columns, \fIncols\fR.
When using this routine, it is necessary to call
\fBtouchwin\fR or \fBtouchline\fR on \fIorig\fR before calling
\fBwrefresh\fR on the subwindow.
+.SS derwin
.PP
Calling \fBderwin\fR is the same as calling \fBsubwin,\fR except that
\fIbegin\fR_\fIy\fR and \fIbegin\fR_\fIx\fR are relative to the origin
This routine is used to display different
parts of the parent window at the same physical position on the
screen.
+.SS dupwin
.PP
Calling \fBdupwin\fR creates an exact duplicate of the window \fIwin\fR.
+.SS wsyncup
.PP
Calling \fBwsyncup\fR touches all locations in ancestors of \fIwin\fR that are
changed in \fIwin\fR.
If \fBsyncok\fR is called with second argument
\fBTRUE\fR then \fBwsyncup\fR is called automatically whenever there is a
change in the window.
+.SS wsyncdown
.PP
The \fBwsyncdown\fR routine touches each location in \fIwin\fR that has been
touched in any of its ancestor windows.
This routine is called by
\fBwrefresh\fR, so it should almost never be necessary to call it manually.
+.SS wcursyncup
.PP
The routine \fBwcursyncup\fR updates the current cursor position of all the
ancestors of the window to reflect the current cursor position of the
'\" t
.\"***************************************************************************
-.\" Copyright (c) 1998-2013,2014 Free Software Foundation, Inc. *
+.\" Copyright (c) 1998-2014,2015 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: ncurses.3x,v 1.119 2014/08/09 20:54:30 tom Exp $
+.\" $Id: ncurses.3x,v 1.121 2015/07/21 23:49:19 tom Exp $
.hy 0
.TH ncurses 3X ""
.ie \n(.g .ds `` \(lq
terminal and \fBcurses\fR input and output options; environment query
routines; color manipulation; use of soft label keys; terminfo capabilities;
and access to low-level terminal-manipulation routines.
+.SS Initialization
.PP
The library uses the locale which the calling program has initialized.
That is normally done with \fBsetlocale\fP:
after the shell environment variable \fBTERM\fR has been exported.
\fB@TSET@(1)\fR is usually responsible for doing this.
[See \fBterminfo\fR(\*n) for further details.]
+.SS Datatypes
.PP
The \fBncurses\fR library permits manipulation of data structures,
called \fIwindows\fR, which can be thought of as two-dimensional
The video attributes, line
drawing characters, and input values use names, defined in \fB<curses.h>\fR,
such as \fBA_REVERSE\fR, \fBACS_HLINE\fR, and \fBKEY_LEFT\fR.
+.SS Environment variables
.PP
If the environment variables \fBLINES\fR and \fBCOLUMNS\fR are set, or if the
program is executing in a window environment, line and column information in
This manual page describes functions which may appear in any configuration
of the library.
There are two common configurations of the library:
-.RS
+.RS 3
.TP 5
-ncurses
+.I ncurses
the "normal" library, which handles 8-bit characters.
The normal (8-bit) library stores characters combined with attributes
in \fBchtype\fP data.
.IP
Each cell (row and column) in a \fBWINDOW\fP is stored as a \fBchtype\fP.
.TP 5
-ncursesw
+.I ncursesw
the so-called "wide" library, which handles multibyte characters
(see the section on \fBALTERNATE CONFIGURATIONS\fP).
The "wide" library includes all of the calls from the "normal" library.
It adds about one third more calls using data types which store
multibyte characters:
-.RS
+.RS 5
.TP 5
.B cchar_t
corresponds to \fBchtype\fP.
The following environment symbols are useful for customizing the
runtime behavior of the \fBncurses\fR library.
The most important ones have been already discussed in detail.
-.TP 5
-CC
+.SS CC
When set, change occurrences of the command_character
(i.e., the \fBcmdch\fP capability)
of the loaded terminfo entries to the value of this variable.
Very few terminfo entries provide this feature.
-.IP
+.PP
Because this name is also used in development environments to represent
the C compiler's name, \fBncurses\fR ignores it if it does not happen to
be a single character.
-.TP 5
-BAUDRATE
+.SS BAUDRATE
The debugging library checks this environment variable when the application
has redirected output to a file.
The variable's numeric value is used for the baudrate.
If no value is found, \fBncurses\fR uses 9600.
This allows testers to construct repeatable test-cases
that take into account costs that depend on baudrate.
-.TP 5
-COLUMNS
+.SS COLUMNS
Specify the width of the screen in characters.
Applications running in a windowing environment usually are able to
obtain the width of the window in which they are executing.
If neither the \fBCOLUMNS\fP value nor the terminal's screen size is available,
\fBncurses\fR uses the size which may be specified in the terminfo database
(i.e., the \fBcols\fR capability).
-.IP
+.PP
It is important that your application use a correct size for the screen.
This is not always possible because your application may be
running on a host which does not honor NAWS (Negotiations About Window
Size), or because you are temporarily running as another user.
However, setting \fBCOLUMNS\fP and/or \fBLINES\fP overrides the library's
use of the screen size obtained from the operating system.
-.IP
+.PP
Either \fBCOLUMNS\fP or \fBLINES\fP symbols may be specified independently.
This is mainly useful to circumvent legacy misfeatures of terminal descriptions,
e.g., xterm which commonly specifies a 65 line screen.
For best results, \fBlines\fR and \fBcols\fR should not be specified in
a terminal description for terminals which are run as emulations.
-.IP
+.PP
Use the \fBuse_env\fR function to disable all use of external environment
(but not including system calls) to determine the screen size.
Use the \fBuse_tioctl\fR function to update \fBCOLUMNS\fP or \fBLINES\fP
to match the screen size obtained from system calls or the terminal database.
-.TP 5
-ESCDELAY
+.SS ESCDELAY
Specifies the total time, in milliseconds, for which ncurses will
await a character sequence, e.g., a function key.
The default value, 1000 milliseconds, is enough for most uses.
However, it is made a variable to accommodate unusual applications.
-.IP
+.PP
The most common instance where you may wish to change this value
is to work with slow hosts, e.g., running on a network.
If the host cannot read characters rapidly enough, it will have the same
effect as if the terminal did not send characters rapidly enough.
The library will still see a timeout.
-.IP
+.PP
Note that xterm mouse events are built up from character sequences
received from the xterm.
If your application makes heavy use of multiple-clicking, you may
wish to lengthen this default value because the timeout applies
to the composed multi-click event as well as the individual clicks.
-.IP
+.PP
In addition to the environment variable,
this implementation provides a global variable with the same name.
Portable applications should not rely upon the presence of ESCDELAY
in either form,
but setting the environment variable rather than the global variable
does not create problems when compiling an application.
-.TP 5
-HOME
+.SS HOME
Tells \fBncurses\fR where your home directory is.
That is where it may read and write auxiliary terminal descriptions:
-.IP
+.PP
$HOME/.termcap
.br
$HOME/.terminfo
-.TP 5
-LINES
+.SS LINES
Like COLUMNS, specify the height of the screen in characters.
See COLUMNS for a detailed description.
-.TP 5
-MOUSE_BUTTONS_123
+.SS MOUSE_BUTTONS_123
This applies only to the OS/2 EMX port.
It specifies the order of buttons on the mouse.
OS/2 numbers a 3-button mouse inconsistently from other
This variable lets you customize the mouse.
The variable must be three numeric digits 1\-3 in any order, e.g., 123 or 321.
If it is not specified, \fBncurses\fR uses 132.
-.TP 5
-NCURSES_ASSUMED_COLORS
+.SS NCURSES_ASSUMED_COLORS
Override the compiled-in assumption that the
terminal's default colors are white-on-black
(see \fBdefault_colors\fR(3X)).
about the colors, set this to "\-1,\-1".
To make it green-on-black, set it to "2,0".
Any positive value from zero to the terminfo \fBmax_colors\fR value is allowed.
-.TP 5
-NCURSES_CONSOLE2
+.SS NCURSES_CONSOLE2
This applies only to the MinGW port of ncurses.
-.IP
+.PP
The \fBConsole2\fP program's handling of the Microsoft Console API call
\fBCreateConsoleScreenBuffer\fP is defective.
Applications which use this will hang.
mapping coordinates,
explicitly saving and restoring the original screen contents.
Setting the environment variable \fBNCGDB\fP has the same effect.
-.TP 5
-NCURSES_GPM_TERMS
+.SS NCURSES_GPM_TERMS
This applies only to ncurses configured to use the GPM interface.
-.IP
+.PP
If present,
the environment variable is a list of one or more terminal names
against which the TERM environment variable is matched.
Setting it to an empty value disables the GPM interface;
using the built-in support for xterm, etc.
-.IP
+.PP
If the environment variable is absent,
ncurses will attempt to open GPM if TERM contains "linux".
-.TP 5
-NCURSES_NO_HARD_TABS
+.SS NCURSES_NO_HARD_TABS
\fBNcurses\fP may use tabs as part of the cursor movement optimization.
In some cases,
your terminal driver may not handle these properly.
Set this environment variable to disable the feature.
You can also adjust your \fBstty\fP settings to avoid the problem.
-.TP 5
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 suppress the highlighting entirely for these terminals by
setting this environment variable.
-.TP 5
-NCURSES_NO_PADDING
+.SS NCURSES_NO_PADDING
Most of the terminal descriptions in the terminfo database are written
for real "hardware" terminals.
Many people use terminal emulators
The cheapest solution (no hardware cost)
is for your program to do this by pausing after
operations that the terminal does slowly, such as clearing the display.
-.IP
+.PP
As a result, many terminal descriptions (including the vt100)
have delay times embedded.
You may wish to use these descriptions,
but not want to pay the performance penalty.
-.IP
+.PP
Set the NCURSES_NO_PADDING environment variable to disable all but mandatory
padding.
Mandatory padding is used as a part of special control
sequences such as \fIflash\fR.
-.TP 5
-NCURSES_NO_SETBUF
+.SS NCURSES_NO_SETBUF
This setting is obsolete.
Before changes
-.RS
+.RS 3
.bP
-started with 5.9 patch 20120825
+started with 5.9 patch 20120825
and
.bP
continued
though 5.9 patch 20130126
.RE
-.IP
+.PP
\fBncurses\fR enabled buffered output during terminal initialization.
This was done (as in SVr4 curses) for performance reasons.
For testing purposes, both of \fBncurses\fR and certain applications,
Setting the NCURSES_NO_SETBUF variable
disabled output buffering, leaving the output in the original (usually
line buffered) mode.
-.IP
+.PP
In the current implementation,
ncurses performs its own buffering and does not require this workaround.
It does not modify the buffering of the standard output.
-.IP
+.PP
The reason for the change was to make the behavior for interrupts and
other signals more robust.
One drawback is that certain nonconventional programs would mix
As a special case, the low-level calls such as \fBputp\fP still use the
standard output.
But high-level curses calls do not.
-.TP 5
-NCURSES_NO_UTF8_ACS
+.SS NCURSES_NO_UTF8_ACS
During initialization, the \fBncurses\fR library
checks for special cases where VT100 line-drawing (and the corresponding
alternate character set capabilities) described in the terminfo are known
the VT100 line-drawing glyphs.
That works for the special cases cited,
and is likely to work for terminal emulators.
-.IP
+.PP
When setting this variable, you should set it to a nonzero value.
Setting it to zero (or to a nonnumber)
disables the special check for "linux" and "screen".
-.IP
+.PP
As an alternative to the environment variable,
ncurses checks for an extended terminfo capability \fBU8\fP.
This is a numeric capability which can be compiled using \fB@TIC@\ \-x\fP.
For example
-.RS 5
+.RS 3
.ft CW
.sp
.nf
.fi
.ft
.RE
-.IP
+.PP
The name "U8" is chosen to be two characters,
to permit it to be used by applications that use ncurses'
termcap interface.
-.TP 5
-NCURSES_TRACE
+.SS NCURSES_TRACE
During initialization, the \fBncurses\fR debugging library
checks the NCURSES_TRACE environment variable.
If it is defined, to a numeric value, \fBncurses\fR calls the \fBtrace\fR
function, using that value as the argument.
-.IP
+.PP
The argument values, which are defined in \fBcurses.h\fR, provide several
types of information.
When running with traces enabled, your application will write the
file \fBtrace\fR to the current directory.
-.TP 5
-TERM
+.PP
+See \fBcurs_trace\fP(3X) for more information.
+.SS TERM
Denotes your terminal type.
Each terminal type is distinct, though many are similar.
-.IP
+.PP
\fBTERM\fP 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 definitions.
-.IP
+.PP
If you set \fBTERM\fP in your environment,
it has no effect on the operation of the terminal emulator.
It only affects the way applications work within the terminal.
terminal emulators which allow you to
specify \fBTERM\fP as a parameter or configuration value do
not change their behavior to match that setting.
-.TP 5
-TERMCAP
+.SS TERMCAP
If the \fBncurses\fR library has been configured with \fItermcap\fR
support, \fBncurses\fR will check for a terminal's description in
termcap form if it is not available in the terminfo database.
-.IP
+.PP
The TERMCAP environment variable contains either a terminal description (with
newlines stripped out),
or a file name telling where the information denoted by
the TERM environment variable exists.
In either case, setting it directs \fBncurses\fR to ignore
the usual place for this information, e.g., /etc/termcap.
-.TP 5
-TERMINFO
+.SS TERMINFO
Overrides the directory in which \fBncurses\fR searches for your terminal
description.
This is the simplest, but not the only way to change the list of directories.
The complete list of directories in order follows:
-.RS
+.RS 3
.bP
the last directory to which \fBncurses\fR wrote, if any, is searched first
.bP
.bP
one or more directories whose names are configured and compiled into the
ncurses library, i.e.,
-.RS
+.RS 3
.bP
@TERMINFO_DIRS@ (corresponding to the TERMINFO_DIRS variable)
.bP
@TERMINFO@ (corresponding to the TERMINFO variable)
.RE
.RE
-.TP 5
-TERMINFO_DIRS
+.SS TERMINFO_DIRS
Specifies a list of directories to search for terminal descriptions.
The list is separated by colons (i.e., ":") on Unix, semicolons on OS/2 EMX.
-.IP
+.PP
All of the terminal descriptions are in terminfo form.
Normally these are stored in a directory tree,
using subdirectories named by the first letter of the terminal names therein.
-.IP
+.PP
If \fBncurses\fP is built with a hashed database,
then each entry in this list can also be the path of the corresponding
database file.
-.IP
+.PP
If \fBncurses\fP is built with a support for reading termcap files
directly, then an entry in this list may be the path of a termcap file.
-.TP 5
-TERMPATH
+.SS TERMPATH
If TERMCAP does not hold a file name then \fBncurses\fR checks
the TERMPATH environment variable.
This is a list of filenames separated by spaces or colons (i.e., ":") on Unix,
semicolons on OS/2 EMX.
-.IP
+.PP
If the TERMPATH environment variable is not set,
\fBncurses\fR looks in the files
/etc/termcap, /usr/share/misc/termcap and $HOME/.termcap, in that order.
The library may be configured to disregard the following variables when the
current user is the superuser (root), or if the application uses setuid or
setgid permissions:
-.IP
+.PP
$TERMINFO, $TERMINFO_DIRS, $TERMPATH, as well as $HOME.
.SH ALTERNATE CONFIGURATIONS
Several different configurations are possible,
.TP 5
\-\-disable\-overwrite
The standard include for \fBncurses\fP is as noted in \fBSYNOPSIS\fP:
-.RS
+.RS 3
.sp
\fB#include <curses.h>\fR
.RE
is not the main implementation of curses of the computer.
If \fBncurses\fP is installed disabling overwrite, it puts its headers in
a subdirectory, e.g.,
-.RS
+.RS 3
.sp
\fB#include <ncurses/curses.h>\fR
.RE
puts the header files in a different subdirectory.
All of the library names have a "w" appended to them,
i.e., instead of
-.RS
+.RS 3
.sp
\fB\-lncurses\fR
.RE
.IP
you link with
-.RS
+.RS 3
.sp
\fB\-lncursesw\fR
.RE
\fBterminfo\fR(\*n) and related pages whose names begin
"curs_" for detailed routine descriptions.
.br
-\fBcurs_variables\fR(3X)
+\fBcurs_variables\fR(3X)
.SH EXTENSIONS
The \fBncurses\fR library can be compiled with an option (\fB\-DUSE_GETCAP\fR)
that falls back to the old-style /etc/termcap file if the terminal setup code
# Report bugs and new terminal descriptions to
# bug-ncurses@gnu.org
#
-# $Revision: 1.546 $
-# $Date: 2015/06/27 18:57:21 $
+# $Revision: 1.549 $
+# $Date: 2015/07/25 19:27:20 $
#
# The original header is preserved below for reference. It is noted that there
# is a "newer" version which differs in some cosmetic details (but actually
# Rather, it acts like xterm - when the meta feature is disabled.
#
# Removed invis -TD
+# Added eo, removed ul -TD
+#
+# Reviewed st 0.5:
+# implements control-modifier, but not control-shift for special keys
+# implements alt-modifier, but not alt-shift for special keys
st|stterm| simpleterm 0.4.1,
- am, bce, hs, mir, msgr, ul, xenl,
+ am, bce, eo, hs, mir, msgr, xenl,
colors#8, cols#80, it#8, lines#24, ncv#3, pairs#64,
acsc=``aaffggiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~,
bel=^G, blink=\E[5m, bold=\E[1m, cbt=\E[Z, civis=\E[?25l,
# xterm cursor bits.
tmux|tmux terminal multiplexer,
ritm=\E[23m, rmso=\E[27m, sitm=\E[3m, smso=\E[7m, Ms@,
- use=xterm+tmux, use=screen,
+ use=xterm+sl, use=xterm+tmux, use=screen,
tmux-256color|tmux with 256 colors,
use=xterm+256setaf, use=tmux,
# + remove spurious "%;" from st entry (report by Daniel Pitts) -TD
# + add vte-2014, update vte to use that -TD
#
-# 2015-6-27
+# 2015-06-27
# + comment-out "screen.xterm" entry, and inherit screen.xterm-256color
# from xterm-new (report by Richard Birkett) -TD
#
+# 2015-07-25
+# + add status line to tmux via xterm+sl (patch by Nicholas Marriott).
+# + fixes for st 0.5 from testing with tack -TD
+#
######## SHANTIH! SHANTIH! SHANTIH!
#
# MKlib_gen.sh -- generate sources from curses.h macro definitions
#
-# ($Id: MKlib_gen.sh,v 1.47 2014/12/06 18:56:25 tom Exp $)
+# ($Id: MKlib_gen.sh,v 1.48 2015/07/25 19:02:45 tom Exp $)
#
##############################################################################
-# Copyright (c) 1998-2011,2014 Free Software Foundation, Inc. #
+# Copyright (c) 1998-2014,2015 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 "Software"), #
AWK="$2"
USE="$3"
+# A patch discussed here:
+# https://gcc.gnu.org/ml/gcc-patches/2014-06/msg02185.html
+# introduces spurious #line markers into the preprocessor output. The result
+# appears in gcc 5.0 and (with modification) in 5.1, making it necessary to
+# determine if we are using gcc, and if so, what version because the proposed
+# solution uses a nonstandard option.
+PRG=`echo "$1" | sed -e 's/[[:space:]].*$//'`
+FSF=`"$PRG" --version 2>/dev/null | fgrep "Free Software Foundation" | head -n 1`
+ALL=`"$PRG" -dumpversion 2>/dev/null `
+ONE=`echo "$ALL" | sed -e 's/\..*$//'`
+if test -n "$FSF" && test -n "$ALL" && test -n "$ONE" ; then
+ if test $ONE -ge 5 ; then
+ echo ".. adding -P option to work around $PRG $ALL" >&2
+ preprocessor="$preprocessor -P"
+ fi
+fi
+
PID=$$
ED1=sed1_${PID}.sed
ED2=sed2_${PID}.sed
-e 's/gen_$//' \
-e 's/ / /g' >>$TMP
-cat >$ED1 <<EOF
-s/ / /g
-s/^ //
-s/ $//
-s/P_NCURSES_BOOL/NCURSES_BOOL/g
-EOF
-
-# A patch discussed here:
-# https://gcc.gnu.org/ml/gcc-patches/2014-06/msg02185.html
-# introduces spurious #line markers. Work around that by ignoring the system's
-# attempt to define "bool" and using our own symbol here.
-sed -e 's/bool/P_NCURSES_BOOL/g' $TMP > $ED2
-cat $ED2 >$TMP
-
$preprocessor $TMP 2>/dev/null \
-| sed -f $ED1 \
+| sed \
+ -e 's/ / /g' \
+ -e 's/^ //' \
+ -e 's/_Bool/NCURSES_BOOL/g' \
| $AWK -f $AW2 \
| sed -f $ED3 \
| sed \
/****************************************************************************
- * Copyright (c) 1998-2011,2013 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-2013,2015 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 *
****************************************************************************/
/****************************************************************************
- * Author: Thomas E. Dickey 1996-on *
+ * Author: Thomas E. Dickey 1996-on *
****************************************************************************/
/* LINTLIBRARY */
#undef vw_scanw
int (vw_scanw)(
WINDOW *a1,
- char *a2,
+ const char *a2,
va_list z)
{ return(*(int *)0); }
const WINDOW *z)
{ return(*(NCURSES_BOOL *)0); }
+#undef wgetdelay
+int (wgetdelay)(
+ const WINDOW *z)
+ { return(*(int *)0); }
+
#undef wgetscrreg
int (wgetscrreg)(
const WINDOW *a1,
#undef newterm_sp
SCREEN *newterm_sp(
SCREEN *sp,
- char *name,
+ const char *name,
FILE *ofp,
FILE *ifp)
{ return(*(SCREEN **)0); }
#undef newterm
SCREEN *newterm(
- char *name,
+ const char *name,
FILE *ofp,
FILE *ifp)
{ return(*(SCREEN **)0); }
#undef restartterm_sp
int restartterm_sp(
SCREEN *sp,
- char *termp,
+ const char *termp,
int filenum,
int *errret)
{ return(*(int *)0); }
#undef restartterm
int restartterm(
- char *termp,
+ const char *termp,
int filenum,
int *errret)
{ return(*(int *)0); }
#undef vwscanw
int vwscanw(
WINDOW *win,
- char *fmt,
+ const char *fmt,
va_list argp)
{ return(*(int *)0); }
#undef scanw
int scanw(
- char *fmt,
+ const char *fmt,
...)
{ return(*(int *)0); }
#undef wscanw
int wscanw(
WINDOW *win,
- char *fmt,
+ const char *fmt,
...)
{ return(*(int *)0); }
int mvscanw(
int y,
int x,
- char *fmt,
+ const char *fmt,
...)
{ return(*(int *)0); }
WINDOW *win,
int y,
int x,
- char *fmt,
+ const char *fmt,
...)
{ return(*(int *)0); }
/* ./trace/lib_tracemse.c */
+#undef _nc_trace_mmask_t
+char *_nc_trace_mmask_t(
+ SCREEN *sp,
+ mmask_t code)
+ { return(*(char **)0); }
+
#undef _nc_tracemouse
char *_nc_tracemouse(
SCREEN *sp,
/* ./codes.c */
#undef boolcodes
-char *const boolcodes[] = {0};
+const char *const boolcodes[] = {0};
#undef numcodes
-char *const numcodes[] = {0};
+const char *const numcodes[] = {0};
#undef strcodes
-char *const strcodes[] = {0};
+const char *const strcodes[] = {0};
/* ./comp_captab.c */
/* ./tinfo/lib_baudrate.c */
struct speed {
- int s;
+ short s;
int sp;
};
struct kn { short offset; int code; };
#undef keyname_sp
-char *keyname_sp(
+const char *keyname_sp(
SCREEN *sp,
int c)
- { return(*(char **)0); }
+ { return(*(const char **)0); }
#undef keyname
-char *keyname(
+const char *keyname(
int c)
- { return(*(char **)0); }
+ { return(*(const char **)0); }
/* ./tinfo/lib_longname.c */
+#undef longname_sp
+char *longname_sp(
+ SCREEN *sp)
+ { return(*(char **)0); }
+
#undef longname
char *longname(void)
{ return(*(char **)0); }
#undef _nc_setupterm
int _nc_setupterm(
- char *tname,
+ const char *tname,
int Filedes,
int *errret,
int reuse)
#undef setupterm
int setupterm(
- char *tname,
+ const char *tname,
int Filedes,
int *errret)
{ return(*(int *)0); }
#undef tgetflag_sp
int tgetflag_sp(
SCREEN *sp,
- char *id)
+ const char *id)
{ return(*(int *)0); }
#undef tgetflag
int tgetflag(
- char *id)
+ const char *id)
{ return(*(int *)0); }
#undef tgetnum_sp
int tgetnum_sp(
SCREEN *sp,
- char *id)
+ const char *id)
{ return(*(int *)0); }
#undef tgetnum
int tgetnum(
- char *id)
+ const char *id)
{ return(*(int *)0); }
#undef tgetstr_sp
char *tgetstr_sp(
SCREEN *sp,
- char *id,
+ const char *id,
char **area)
{ return(*(char **)0); }
#undef tgetstr
char *tgetstr(
- char *id,
+ const char *id,
char **area)
{ return(*(char **)0); }
#undef tigetflag_sp
int tigetflag_sp(
SCREEN *sp,
- char *str)
+ const char *str)
{ return(*(int *)0); }
#undef tigetflag
int tigetflag(
- char *str)
+ const char *str)
{ return(*(int *)0); }
#undef tigetnum_sp
int tigetnum_sp(
SCREEN *sp,
- char *str)
+ const char *str)
{ return(*(int *)0); }
#undef tigetnum
int tigetnum(
- char *str)
+ const char *str)
{ return(*(int *)0); }
#undef tigetstr_sp
char *tigetstr_sp(
SCREEN *sp,
- char *str)
+ const char *str)
{ return(*(char **)0); }
#undef tigetstr
char *tigetstr(
- char *str)
+ const char *str)
{ return(*(char **)0); }
/* ./tinfo/lib_tparm.c */
#undef tparm
char *tparm(
- char *string,
+ const char *string,
...)
{ return(*(char **)0); }
{ return(*(const char **)0); }
#undef _nc_retrace_cvoid_ptr
-void *_nc_retrace_cvoid_ptr(
- void *code)
- { return(*(void **)0); }
+const void *_nc_retrace_cvoid_ptr(
+ const void *code)
+ { return(*(const void **)0); }
#undef _nc_retrace_void_ptr
void *_nc_retrace_void_ptr(
typedef struct {
unsigned int val;
- const char *name;
+ const char name[8];
} BITNAMES;
#undef _nc_trace_ttymode
/* ./names.c */
#undef boolnames
-char *const boolnames[] = {0};
+const char *const boolnames[] = {0};
#undef boolfnames
-char *const boolfnames[] = {0};
+const char *const boolfnames[] = {0};
#undef numnames
-char *const numnames[] = {0};
+const char *const numnames[] = {0};
#undef numfnames
-char *const numfnames[] = {0};
+const char *const numfnames[] = {0};
#undef strnames
-char *const strnames[] = {0};
+const char *const strnames[] = {0};
#undef strfnames
-char *const strfnames[] = {0};
+const char *const strfnames[] = {0};
/* ./tinfo/obsolete.c */
/* ./unctrl.c */
#undef unctrl_sp
-char *unctrl_sp(
+const char *unctrl_sp(
SCREEN *sp,
chtype ch)
- { return(*(char **)0); }
+ { return(*(const char **)0); }
#undef unctrl
-char *unctrl(
+const char *unctrl(
chtype ch)
- { return(*(char **)0); }
+ { return(*(const char **)0); }
/* ./trace/visbuf.c */
{ return(*(int *)0); }
typedef struct {
- const char *from;
- const char *to;
+ const char from[3];
+ const char to[6];
} assoc;
/* ./tinfo/write_entry.c */
#undef _nc_set_writedir
void _nc_set_writedir(
- char *dir)
+ const char *dir)
{ /* void */ }
#undef _nc_write_entry
/****************************************************************************
- * Copyright (c) 2008-2011,2013 Free Software Foundation, Inc. *
+ * Copyright (c) 2008-2013,2015 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 *
****************************************************************************/
/****************************************************************************
- * Author: Thomas E. Dickey 2008-on *
+ * Author: Thomas E. Dickey 2008-on *
****************************************************************************/
/* LINTLIBRARY */
/* ./base/lib_addch.c */
-#include <ctype.h>
-
#undef _nc_render
chtype _nc_render(
WINDOW *win,
/* ./base/lib_color.c */
-#include <tic.h>
-
#undef _nc_COLOR_PAIRS
int _nc_COLOR_PAIRS(void)
{ return(*(int *)0); }
/* ./lib_gen.c */
-#include <ncurses_cfg.h>
-
#undef addch
int (addch)(
const chtype z)
#undef attroff
int (attroff)(
- int z)
+ NCURSES_ATTR_T z)
{ return(*(int *)0); }
#undef attron
int (attron)(
- int z)
+ NCURSES_ATTR_T z)
{ return(*(int *)0); }
#undef attrset
int (attrset)(
- int z)
+ NCURSES_ATTR_T z)
{ return(*(int *)0); }
#undef attr_get
#undef vw_scanw
int (vw_scanw)(
WINDOW *a1,
- char *a2,
+ const char *a2,
va_list z)
{ return(*(int *)0); }
const WINDOW *z)
{ return(*(NCURSES_BOOL *)0); }
+#undef wgetdelay
+int (wgetdelay)(
+ const WINDOW *z)
+ { return(*(int *)0); }
+
#undef wgetscrreg
int (wgetscrreg)(
const WINDOW *a1,
/* ./base/lib_getch.c */
-#include <fifo_defs.h>
-
#undef _nc_ESCDELAY
int _nc_ESCDELAY(void)
{ return(*(int *)0); }
#undef newterm_sp
SCREEN *newterm_sp(
SCREEN *sp,
- char *name,
+ const char *name,
FILE *ofp,
FILE *ifp)
{ return(*(SCREEN **)0); }
#undef newterm
SCREEN *newterm(
- char *name,
+ const char *name,
FILE *ofp,
FILE *ifp)
{ return(*(SCREEN **)0); }
/* ./base/lib_newwin.c */
-#include "/usr/lib/gcc/x86_64-linux-gnu/4.4.5/include/stddef.h"
-
#undef _nc_freewin
int _nc_freewin(
WINDOW *win)
#undef restartterm_sp
int restartterm_sp(
SCREEN *sp,
- char *termp,
+ const char *termp,
int filenum,
int *errret)
{ return(*(int *)0); }
#undef restartterm
int restartterm(
- char *termp,
+ const char *termp,
int filenum,
int *errret)
{ return(*(int *)0); }
#undef vwscanw
int vwscanw(
WINDOW *win,
- char *fmt,
+ const char *fmt,
va_list argp)
{ return(*(int *)0); }
#undef scanw
int scanw(
- char *fmt,
+ const char *fmt,
...)
{ return(*(int *)0); }
#undef wscanw
int wscanw(
WINDOW *win,
- char *fmt,
+ const char *fmt,
...)
{ return(*(int *)0); }
int mvscanw(
int y,
int x,
- char *fmt,
+ const char *fmt,
...)
{ return(*(int *)0); }
WINDOW *win,
int y,
int x,
- char *fmt,
+ const char *fmt,
...)
{ return(*(int *)0); }
/* ./trace/lib_tracemse.c */
+#undef _nc_trace_mmask_t
+char *_nc_trace_mmask_t(
+ SCREEN *sp,
+ mmask_t code)
+ { return(*(char **)0); }
+
#undef _nc_tracemouse
char *_nc_tracemouse(
SCREEN *sp,
/* ./tty/lib_tstp.c */
-#include <SigAction.h>
-
#undef _nc_signal_handler
void _nc_signal_handler(
int enable)
/* ./tty/tty_update.c */
-#include <sys/time.h>
-#include <sys/times.h>
-
#undef doupdate_sp
int doupdate_sp(
SCREEN *sp)
/* ./codes.c */
#undef _nc_boolcodes
-char *const *_nc_boolcodes(void)
- { return(*(char **)0); }
+const char *const *_nc_boolcodes(void)
+ { return(*(const char **)0); }
#undef _nc_numcodes
-char *const *_nc_numcodes(void)
- { return(*(char **)0); }
+const char *const *_nc_numcodes(void)
+ { return(*(const char **)0); }
#undef _nc_strcodes
-char *const *_nc_strcodes(void)
- { return(*(char **)0); }
+const char *const *_nc_strcodes(void)
+ { return(*(const char **)0); }
/* ./comp_captab.c */
-#include <hashsize.h>
-
#undef _nc_get_table
const struct name_table_entry *_nc_get_table(
NCURSES_BOOL termcap)
/* ./tinfo/db_iterator.c */
-#include <time.h>
-
#undef _nc_tic_dir
const char *_nc_tic_dir(
const char *path)
/* ./tinfo/init_keytry.c */
-#if 0
-
-#include <init_keytry.h>
-
-#undef _nc_tinfo_fkeys
-const struct tinfo_fkeys _nc_tinfo_fkeys[] = {0};
-
-#endif
-
#undef _nc_init_keytry
void _nc_init_keytry(
SCREEN *sp)
/* ./tinfo/lib_baudrate.c */
-#include <termcap.h>
-
struct speed {
- int s;
+ short s;
int sp;
};
struct kn { short offset; int code; };
#undef keyname_sp
-char *keyname_sp(
+const char *keyname_sp(
SCREEN *sp,
int c)
- { return(*(char **)0); }
+ { return(*(const char **)0); }
#undef keyname
-char *keyname(
+const char *keyname(
int c)
- { return(*(char **)0); }
+ { return(*(const char **)0); }
/* ./tinfo/lib_longname.c */
/* ./tinfo/lib_setup.c */
-#include <locale.h>
-#include <sys/ioctl.h>
-#include <langinfo.h>
-
#undef _nc_ttytype
char *_nc_ttytype(void)
{ return(*(char **)0); }
#undef _nc_setupterm
int _nc_setupterm(
- char *tname,
+ const char *tname,
int Filedes,
int *errret,
int reuse)
#undef setupterm
int setupterm(
- char *tname,
+ const char *tname,
int Filedes,
int *errret)
{ return(*(int *)0); }
const char *name)
{ return(*(int *)0); }
-#if 0
-
-#include <capdefaults.c>
-
-#endif
-
#undef tgetent
int tgetent(
char *bufp,
#undef tgetflag_sp
int tgetflag_sp(
SCREEN *sp,
- char *id)
+ const char *id)
{ return(*(int *)0); }
#undef tgetflag
int tgetflag(
- char *id)
+ const char *id)
{ return(*(int *)0); }
#undef tgetnum_sp
int tgetnum_sp(
SCREEN *sp,
- char *id)
+ const char *id)
{ return(*(int *)0); }
#undef tgetnum
int tgetnum(
- char *id)
+ const char *id)
{ return(*(int *)0); }
#undef tgetstr_sp
char *tgetstr_sp(
SCREEN *sp,
- char *id,
+ const char *id,
char **area)
{ return(*(char **)0); }
#undef tgetstr
char *tgetstr(
- char *id,
+ const char *id,
char **area)
{ return(*(char **)0); }
#undef tigetflag_sp
int tigetflag_sp(
SCREEN *sp,
- char *str)
+ const char *str)
{ return(*(int *)0); }
#undef tigetflag
int tigetflag(
- char *str)
+ const char *str)
{ return(*(int *)0); }
#undef tigetnum_sp
int tigetnum_sp(
SCREEN *sp,
- char *str)
+ const char *str)
{ return(*(int *)0); }
#undef tigetnum
int tigetnum(
- char *str)
+ const char *str)
{ return(*(int *)0); }
#undef tigetstr_sp
char *tigetstr_sp(
SCREEN *sp,
- char *str)
+ const char *str)
{ return(*(char **)0); }
#undef tigetstr
char *tigetstr(
- char *str)
+ const char *str)
{ return(*(char **)0); }
/* ./tinfo/lib_tparm.c */
#undef tparm
char *tparm(
- char *string,
+ const char *string,
...)
{ return(*(char **)0); }
{ return(*(const char **)0); }
#undef _nc_retrace_cvoid_ptr
-void *_nc_retrace_cvoid_ptr(
- void *code)
- { return(*(void **)0); }
+const void *_nc_retrace_cvoid_ptr(
+ const void *code)
+ { return(*(const void **)0); }
#undef _nc_retrace_void_ptr
void *_nc_retrace_void_ptr(
typedef struct {
unsigned int val;
- const char *name;
+ const char name[8];
} BITNAMES;
#undef _nc_trace_ttymode
/* ./names.c */
#undef _nc_boolnames
-char *const *_nc_boolnames(void)
- { return(*(char **)0); }
+const char *const *_nc_boolnames(void)
+ { return(*(const char **)0); }
#undef _nc_boolfnames
-char *const *_nc_boolfnames(void)
- { return(*(char **)0); }
+const char *const *_nc_boolfnames(void)
+ { return(*(const char **)0); }
#undef _nc_numnames
-char *const *_nc_numnames(void)
- { return(*(char **)0); }
+const char *const *_nc_numnames(void)
+ { return(*(const char **)0); }
#undef _nc_numfnames
-char *const *_nc_numfnames(void)
- { return(*(char **)0); }
+const char *const *_nc_numfnames(void)
+ { return(*(const char **)0); }
#undef _nc_strnames
-char *const *_nc_strnames(void)
- { return(*(char **)0); }
+const char *const *_nc_strnames(void)
+ { return(*(const char **)0); }
#undef _nc_strfnames
-char *const *_nc_strfnames(void)
- { return(*(char **)0); }
+const char *const *_nc_strfnames(void)
+ { return(*(const char **)0); }
/* ./tinfo/obsolete.c */
/* ./tinfo/read_entry.c */
-#include <hashed_db.h>
-
#undef _nc_init_termtype
void _nc_init_termtype(
TERMTYPE *const tp)
/* ./tinfo/read_termcap.c */
-#include <sys/types.h>
-
#undef _nc_read_termcap
void _nc_read_termcap(void)
{ /* void */ }
/* ./unctrl.c */
#undef unctrl_sp
-char *unctrl_sp(
+const char *unctrl_sp(
SCREEN *sp,
chtype ch)
- { return(*(char **)0); }
+ { return(*(const char **)0); }
#undef unctrl
-char *unctrl(
+const char *unctrl(
chtype ch)
- { return(*(char **)0); }
+ { return(*(const char **)0); }
/* ./trace/visbuf.c */
{ return(*(int *)0); }
typedef struct {
- const char *from;
- const char *to;
+ const char from[3];
+ const char to[6];
} assoc;
/* ./tinfo/write_entry.c */
#undef _nc_set_writedir
void _nc_set_writedir(
- char *dir)
+ const char *dir)
{ /* void */ }
#undef _nc_write_entry
/****************************************************************************
- * Copyright (c) 2009-2011,2013 Free Software Foundation, Inc. *
+ * Copyright (c) 2009-2013,2015 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 *
****************************************************************************/
/****************************************************************************
- * Author: Thomas E. Dickey 2009-on *
+ * Author: Thomas E. Dickey 2009-on *
****************************************************************************/
/* LINTLIBRARY */
/* ./base/lib_addch.c */
-#include <ctype.h>
-
#undef _nc_render
cchar_t _nc_render(
WINDOW *win,
/* ./base/lib_color.c */
-#include <tic.h>
-
#undef _nc_COLOR_PAIRS
int _nc_COLOR_PAIRS(void)
{ return(*(int *)0); }
/* ./lib_gen.c */
-#include <ncurses_cfg.h>
-
#undef addch
int (addch)(
const chtype z)
#undef attroff
int (attroff)(
- int z)
+ NCURSES_ATTR_T z)
{ return(*(int *)0); }
#undef attron
int (attron)(
- int z)
+ NCURSES_ATTR_T z)
{ return(*(int *)0); }
#undef attrset
int (attrset)(
- int z)
+ NCURSES_ATTR_T z)
{ return(*(int *)0); }
#undef attr_get
#undef vw_scanw
int (vw_scanw)(
WINDOW *a1,
- char *a2,
+ const char *a2,
va_list z)
{ return(*(int *)0); }
const WINDOW *z)
{ return(*(NCURSES_BOOL *)0); }
+#undef wgetdelay
+int (wgetdelay)(
+ const WINDOW *z)
+ { return(*(int *)0); }
+
#undef wgetscrreg
int (wgetscrreg)(
const WINDOW *a1,
/* ./base/lib_getch.c */
-#include <fifo_defs.h>
-
#undef _nc_ESCDELAY
int _nc_ESCDELAY(void)
{ return(*(int *)0); }
#undef newterm_sp
SCREEN *newterm_sp(
SCREEN *sp,
- char *name,
+ const char *name,
FILE *ofp,
FILE *ifp)
{ return(*(SCREEN **)0); }
#undef newterm
SCREEN *newterm(
- char *name,
+ const char *name,
FILE *ofp,
FILE *ifp)
{ return(*(SCREEN **)0); }
/* ./base/lib_newwin.c */
-#include "/usr/lib/gcc/x86_64-linux-gnu/4.4.5/include/stddef.h"
-
#undef _nc_freewin
int _nc_freewin(
WINDOW *win)
#undef restartterm_sp
int restartterm_sp(
SCREEN *sp,
- char *termp,
+ const char *termp,
int filenum,
int *errret)
{ return(*(int *)0); }
#undef restartterm
int restartterm(
- char *termp,
+ const char *termp,
int filenum,
int *errret)
{ return(*(int *)0); }
#undef vwscanw
int vwscanw(
WINDOW *win,
- char *fmt,
+ const char *fmt,
va_list argp)
{ return(*(int *)0); }
#undef scanw
int scanw(
- char *fmt,
+ const char *fmt,
...)
{ return(*(int *)0); }
#undef wscanw
int wscanw(
WINDOW *win,
- char *fmt,
+ const char *fmt,
...)
{ return(*(int *)0); }
int mvscanw(
int y,
int x,
- char *fmt,
+ const char *fmt,
...)
{ return(*(int *)0); }
WINDOW *win,
int y,
int x,
- char *fmt,
+ const char *fmt,
...)
{ return(*(int *)0); }
/* ./base/lib_slkset.c */
-#include <wctype.h>
-
#undef slk_set_sp
int slk_set_sp(
SCREEN *sp,
/* ./trace/lib_tracemse.c */
+#undef _nc_trace_mmask_t
+char *_nc_trace_mmask_t(
+ SCREEN *sp,
+ mmask_t code)
+ { return(*(char **)0); }
+
#undef _nc_tracemouse
char *_nc_tracemouse(
SCREEN *sp,
/* ./tty/lib_tstp.c */
-#include <SigAction.h>
-
#undef _nc_signal_handler
void _nc_signal_handler(
int enable)
/* ./tty/tty_update.c */
-#include <sys/time.h>
-#include <sys/times.h>
-
#undef doupdate_sp
int doupdate_sp(
SCREEN *sp)
/* ./widechar/lib_key_name.c */
#undef key_name
-char *key_name(
+const char *key_name(
wchar_t c)
- { return(*(char **)0); }
+ { return(*(const char **)0); }
/* ./widechar/lib_pecho_wchar.c */
/* ./codes.c */
#undef _nc_boolcodes
-char *const *_nc_boolcodes(void)
- { return(*(char **)0); }
+const char *const *_nc_boolcodes(void)
+ { return(*(const char **)0); }
#undef _nc_numcodes
-char *const *_nc_numcodes(void)
- { return(*(char **)0); }
+const char *const *_nc_numcodes(void)
+ { return(*(const char **)0); }
#undef _nc_strcodes
-char *const *_nc_strcodes(void)
- { return(*(char **)0); }
+const char *const *_nc_strcodes(void)
+ { return(*(const char **)0); }
/* ./comp_captab.c */
-#include <hashsize.h>
-
#undef _nc_get_table
const struct name_table_entry *_nc_get_table(
NCURSES_BOOL termcap)
/* ./tinfo/db_iterator.c */
-#include <time.h>
-
#undef _nc_tic_dir
const char *_nc_tic_dir(
const char *path)
/* ./tinfo/init_keytry.c */
-#if 0
-
-#include <init_keytry.h>
-
-#undef _nc_tinfo_fkeys
-const struct tinfo_fkeys _nc_tinfo_fkeys[] = {0};
-
-#endif
-
#undef _nc_init_keytry
void _nc_init_keytry(
SCREEN *sp)
/* ./tinfo/lib_baudrate.c */
-#include <termcap.h>
-
struct speed {
- int s;
+ short s;
int sp;
};
struct kn { short offset; int code; };
#undef keyname_sp
-char *keyname_sp(
+const char *keyname_sp(
SCREEN *sp,
int c)
- { return(*(char **)0); }
+ { return(*(const char **)0); }
#undef keyname
-char *keyname(
+const char *keyname(
int c)
- { return(*(char **)0); }
+ { return(*(const char **)0); }
/* ./tinfo/lib_longname.c */
/* ./tinfo/lib_setup.c */
-#include <locale.h>
-#include <sys/ioctl.h>
-#include <langinfo.h>
-
#undef _nc_ttytype
char *_nc_ttytype(void)
{ return(*(char **)0); }
#undef _nc_setupterm
int _nc_setupterm(
- char *tname,
+ const char *tname,
int Filedes,
int *errret,
int reuse)
#undef setupterm
int setupterm(
- char *tname,
+ const char *tname,
int Filedes,
int *errret)
{ return(*(int *)0); }
const char *name)
{ return(*(int *)0); }
-#if 0
-
-#include <capdefaults.c>
-
-#endif
-
#undef tgetent
int tgetent(
char *bufp,
#undef tgetflag_sp
int tgetflag_sp(
SCREEN *sp,
- char *id)
+ const char *id)
{ return(*(int *)0); }
#undef tgetflag
int tgetflag(
- char *id)
+ const char *id)
{ return(*(int *)0); }
#undef tgetnum_sp
int tgetnum_sp(
SCREEN *sp,
- char *id)
+ const char *id)
{ return(*(int *)0); }
#undef tgetnum
int tgetnum(
- char *id)
+ const char *id)
{ return(*(int *)0); }
#undef tgetstr_sp
char *tgetstr_sp(
SCREEN *sp,
- char *id,
+ const char *id,
char **area)
{ return(*(char **)0); }
#undef tgetstr
char *tgetstr(
- char *id,
+ const char *id,
char **area)
{ return(*(char **)0); }
#undef tigetflag_sp
int tigetflag_sp(
SCREEN *sp,
- char *str)
+ const char *str)
{ return(*(int *)0); }
#undef tigetflag
int tigetflag(
- char *str)
+ const char *str)
{ return(*(int *)0); }
#undef tigetnum_sp
int tigetnum_sp(
SCREEN *sp,
- char *str)
+ const char *str)
{ return(*(int *)0); }
#undef tigetnum
int tigetnum(
- char *str)
+ const char *str)
{ return(*(int *)0); }
#undef tigetstr_sp
char *tigetstr_sp(
SCREEN *sp,
- char *str)
+ const char *str)
{ return(*(char **)0); }
#undef tigetstr
char *tigetstr(
- char *str)
+ const char *str)
{ return(*(char **)0); }
/* ./tinfo/lib_tparm.c */
#undef tparm
char *tparm(
- char *string,
+ const char *string,
...)
{ return(*(char **)0); }
{ return(*(const char **)0); }
#undef _nc_retrace_cvoid_ptr
-void *_nc_retrace_cvoid_ptr(
- void *code)
- { return(*(void **)0); }
+const void *_nc_retrace_cvoid_ptr(
+ const void *code)
+ { return(*(const void **)0); }
#undef _nc_retrace_void_ptr
void *_nc_retrace_void_ptr(
typedef struct {
unsigned int val;
- const char *name;
+ const char name[8];
} BITNAMES;
#undef _nc_trace_ttymode
/* ./names.c */
#undef _nc_boolnames
-char *const *_nc_boolnames(void)
- { return(*(char **)0); }
+const char *const *_nc_boolnames(void)
+ { return(*(const char **)0); }
#undef _nc_boolfnames
-char *const *_nc_boolfnames(void)
- { return(*(char **)0); }
+const char *const *_nc_boolfnames(void)
+ { return(*(const char **)0); }
#undef _nc_numnames
-char *const *_nc_numnames(void)
- { return(*(char **)0); }
+const char *const *_nc_numnames(void)
+ { return(*(const char **)0); }
#undef _nc_numfnames
-char *const *_nc_numfnames(void)
- { return(*(char **)0); }
+const char *const *_nc_numfnames(void)
+ { return(*(const char **)0); }
#undef _nc_strnames
-char *const *_nc_strnames(void)
- { return(*(char **)0); }
+const char *const *_nc_strnames(void)
+ { return(*(const char **)0); }
#undef _nc_strfnames
-char *const *_nc_strfnames(void)
- { return(*(char **)0); }
+const char *const *_nc_strfnames(void)
+ { return(*(const char **)0); }
/* ./tinfo/obsolete.c */
/* ./tinfo/read_entry.c */
-#include <hashed_db.h>
-
#undef _nc_init_termtype
void _nc_init_termtype(
TERMTYPE *const tp)
/* ./tinfo/read_termcap.c */
-#include <sys/types.h>
-
#undef _nc_read_termcap
void _nc_read_termcap(void)
{ /* void */ }
/* ./unctrl.c */
#undef unctrl_sp
-char *unctrl_sp(
+const char *unctrl_sp(
SCREEN *sp,
chtype ch)
- { return(*(char **)0); }
+ { return(*(const char **)0); }
#undef unctrl
-char *unctrl(
+const char *unctrl(
chtype ch)
- { return(*(char **)0); }
+ { return(*(const char **)0); }
/* ./trace/visbuf.c */
{ return(*(int *)0); }
typedef struct {
- const char *from;
- const char *to;
+ const char from[3];
+ const char to[6];
} assoc;
/* ./tinfo/write_entry.c */
#undef _nc_set_writedir
void _nc_set_writedir(
- char *dir)
+ const char *dir)
{ /* void */ }
#undef _nc_write_entry
/****************************************************************************
- * Copyright (c) 2001-2011,2013 Free Software Foundation, Inc. *
+ * Copyright (c) 2001-2013,2015 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 *
****************************************************************************/
/****************************************************************************
- * Author: Thomas E. Dickey 2001-on *
+ * Author: Thomas E. Dickey 2001-on *
****************************************************************************/
/* LINTLIBRARY */
/* ./base/lib_addch.c */
-#include <ctype.h>
-
#undef _nc_render
cchar_t _nc_render(
WINDOW *win,
/* ./base/lib_color.c */
-#include <tic.h>
-
#undef COLOR_PAIRS
int COLOR_PAIRS;
#undef COLORS
/* ./lib_gen.c */
-#include <ncurses_cfg.h>
-
#undef addch
int (addch)(
const chtype z)
#undef attroff
int (attroff)(
- int z)
+ NCURSES_ATTR_T z)
{ return(*(int *)0); }
#undef attron
int (attron)(
- int z)
+ NCURSES_ATTR_T z)
{ return(*(int *)0); }
#undef attrset
int (attrset)(
- int z)
+ NCURSES_ATTR_T z)
{ return(*(int *)0); }
#undef attr_get
#undef vw_scanw
int (vw_scanw)(
WINDOW *a1,
- char *a2,
+ const char *a2,
va_list z)
{ return(*(int *)0); }
const WINDOW *z)
{ return(*(NCURSES_BOOL *)0); }
+#undef wgetdelay
+int (wgetdelay)(
+ const WINDOW *z)
+ { return(*(int *)0); }
+
#undef wgetscrreg
int (wgetscrreg)(
const WINDOW *a1,
/* ./base/lib_getch.c */
-#include <fifo_defs.h>
-
#undef ESCDELAY
int ESCDELAY;
/* ./base/lib_mouse.c */
+typedef struct {
+ int nerror;
+ int nparam;
+ int params[9];
+ int final;
+} SGR_DATA;
+
#undef getmouse_sp
int getmouse_sp(
SCREEN *sp,
#undef newterm_sp
SCREEN *newterm_sp(
SCREEN *sp,
- char *name,
+ const char *name,
FILE *ofp,
FILE *ifp)
{ return(*(SCREEN **)0); }
#undef newterm
SCREEN *newterm(
- char *name,
+ const char *name,
FILE *ofp,
FILE *ifp)
{ return(*(SCREEN **)0); }
/* ./base/lib_newwin.c */
-#include "/usr/lib/gcc/x86_64-linux-gnu/4.4.5/include/stddef.h"
-
#undef _nc_freewin
int _nc_freewin(
WINDOW *win)
#undef restartterm_sp
int restartterm_sp(
SCREEN *sp,
- char *termp,
+ const char *termp,
int filenum,
int *errret)
{ return(*(int *)0); }
#undef restartterm
int restartterm(
- char *termp,
+ const char *termp,
int filenum,
int *errret)
{ return(*(int *)0); }
#undef vwscanw
int vwscanw(
WINDOW *win,
- char *fmt,
+ const char *fmt,
va_list argp)
{ return(*(int *)0); }
#undef scanw
int scanw(
- char *fmt,
+ const char *fmt,
...)
{ return(*(int *)0); }
#undef wscanw
int wscanw(
WINDOW *win,
- char *fmt,
+ const char *fmt,
...)
{ return(*(int *)0); }
int mvscanw(
int y,
int x,
- char *fmt,
+ const char *fmt,
...)
{ return(*(int *)0); }
WINDOW *win,
int y,
int x,
- char *fmt,
+ const char *fmt,
...)
{ return(*(int *)0); }
/* ./base/lib_screen.c */
+typedef enum {
+ pINT
+ ,pSHORT
+ ,pBOOL
+ ,pATTR
+ ,pCHAR
+ ,pSIZE
+ ,pCCHAR
+} PARAM_TYPE;
+
+typedef struct {
+ const char name[11];
+ attr_t attr;
+} SCR_ATTRS;
+
+typedef struct {
+ const char name[17];
+ PARAM_TYPE type;
+ size_t size;
+ size_t offset;
+} SCR_PARAMS;
+
#undef getwin_sp
WINDOW *getwin_sp(
SCREEN *sp,
/* ./base/lib_slkset.c */
-#include <wctype.h>
-
#undef slk_set_sp
int slk_set_sp(
SCREEN *sp,
/* ./trace/lib_tracemse.c */
+#undef _nc_trace_mmask_t
+char *_nc_trace_mmask_t(
+ SCREEN *sp,
+ mmask_t code)
+ { return(*(char **)0); }
+
#undef _nc_tracemouse
char *_nc_tracemouse(
SCREEN *sp,
/* ./tty/lib_tstp.c */
-#include <SigAction.h>
-
#undef _nc_signal_handler
void _nc_signal_handler(
int enable)
/* ./tty/tty_update.c */
-#include <sys/time.h>
-#include <sys/times.h>
-
#undef doupdate_sp
int doupdate_sp(
SCREEN *sp)
/* ./widechar/lib_key_name.c */
#undef key_name
-char *key_name(
+const char *key_name(
wchar_t c)
- { return(*(char **)0); }
+ { return(*(const char **)0); }
/* ./widechar/lib_pecho_wchar.c */
/* ./codes.c */
#undef boolcodes
-char *const boolcodes[] = {0};
+const char *const boolcodes[] = {0};
#undef numcodes
-char *const numcodes[] = {0};
+const char *const numcodes[] = {0};
#undef strcodes
-char *const strcodes[] = {0};
+const char *const strcodes[] = {0};
/* ./comp_captab.c */
-#include <hashsize.h>
-
#undef _nc_get_table
const struct name_table_entry *_nc_get_table(
NCURSES_BOOL termcap)
/* ./tinfo/db_iterator.c */
-#include <time.h>
-
#undef _nc_tic_dir
const char *_nc_tic_dir(
const char *path)
/* ./tinfo/init_keytry.c */
-#if 0
-
-#include <init_keytry.h>
-
-#undef _nc_tinfo_fkeys
-const struct tinfo_fkeys _nc_tinfo_fkeys[] = {0};
-
-#endif
-
#undef _nc_init_keytry
void _nc_init_keytry(
SCREEN *sp)
/* ./tinfo/lib_baudrate.c */
-#include <termcap.h>
-
struct speed {
- int s;
+ short s;
int sp;
};
struct kn { short offset; int code; };
#undef keyname_sp
-char *keyname_sp(
+const char *keyname_sp(
SCREEN *sp,
int c)
- { return(*(char **)0); }
+ { return(*(const char **)0); }
#undef keyname
-char *keyname(
+const char *keyname(
int c)
- { return(*(char **)0); }
+ { return(*(const char **)0); }
/* ./tinfo/lib_longname.c */
+#undef longname_sp
+char *longname_sp(
+ SCREEN *sp)
+ { return(*(char **)0); }
+
#undef longname
char *longname(void)
{ return(*(char **)0); }
/* ./tinfo/lib_setup.c */
-#include <locale.h>
-#include <sys/ioctl.h>
-#include <langinfo.h>
-
#undef ttytype
char ttytype[256];
#undef LINES
#undef _nc_setupterm
int _nc_setupterm(
- char *tname,
+ const char *tname,
int Filedes,
int *errret,
int reuse)
#undef setupterm
int setupterm(
- char *tname,
+ const char *tname,
int Filedes,
int *errret)
{ return(*(int *)0); }
const char *name)
{ return(*(int *)0); }
-#if 0
-
-#include <capdefaults.c>
-
-#endif
-
#undef tgetent
int tgetent(
char *bufp,
#undef tgetflag_sp
int tgetflag_sp(
SCREEN *sp,
- char *id)
+ const char *id)
{ return(*(int *)0); }
#undef tgetflag
int tgetflag(
- char *id)
+ const char *id)
{ return(*(int *)0); }
#undef tgetnum_sp
int tgetnum_sp(
SCREEN *sp,
- char *id)
+ const char *id)
{ return(*(int *)0); }
#undef tgetnum
int tgetnum(
- char *id)
+ const char *id)
{ return(*(int *)0); }
#undef tgetstr_sp
char *tgetstr_sp(
SCREEN *sp,
- char *id,
+ const char *id,
char **area)
{ return(*(char **)0); }
#undef tgetstr
char *tgetstr(
- char *id,
+ const char *id,
char **area)
{ return(*(char **)0); }
#undef tigetflag_sp
int tigetflag_sp(
SCREEN *sp,
- char *str)
+ const char *str)
{ return(*(int *)0); }
#undef tigetflag
int tigetflag(
- char *str)
+ const char *str)
{ return(*(int *)0); }
#undef tigetnum_sp
int tigetnum_sp(
SCREEN *sp,
- char *str)
+ const char *str)
{ return(*(int *)0); }
#undef tigetnum
int tigetnum(
- char *str)
+ const char *str)
{ return(*(int *)0); }
#undef tigetstr_sp
char *tigetstr_sp(
SCREEN *sp,
- char *str)
+ const char *str)
{ return(*(char **)0); }
#undef tigetstr
char *tigetstr(
- char *str)
+ const char *str)
{ return(*(char **)0); }
/* ./tinfo/lib_tparm.c */
#undef tparm
char *tparm(
- char *string,
+ const char *string,
...)
{ return(*(char **)0); }
{ return(*(const char **)0); }
#undef _nc_retrace_cvoid_ptr
-void *_nc_retrace_cvoid_ptr(
- void *code)
- { return(*(void **)0); }
+const void *_nc_retrace_cvoid_ptr(
+ const void *code)
+ { return(*(const void **)0); }
#undef _nc_retrace_void_ptr
void *_nc_retrace_void_ptr(
typedef struct {
unsigned int val;
- const char *name;
+ const char name[8];
} BITNAMES;
#undef _nc_trace_ttymode
/* ./names.c */
#undef boolnames
-char *const boolnames[] = {0};
+const char *const boolnames[] = {0};
#undef boolfnames
-char *const boolfnames[] = {0};
+const char *const boolfnames[] = {0};
#undef numnames
-char *const numnames[] = {0};
+const char *const numnames[] = {0};
#undef numfnames
-char *const numfnames[] = {0};
+const char *const numfnames[] = {0};
#undef strnames
-char *const strnames[] = {0};
+const char *const strnames[] = {0};
#undef strfnames
-char *const strfnames[] = {0};
+const char *const strfnames[] = {0};
/* ./tinfo/obsolete.c */
/* ./tinfo/read_entry.c */
-#include <hashed_db.h>
-
#undef _nc_init_termtype
void _nc_init_termtype(
TERMTYPE *const tp)
/* ./tinfo/read_termcap.c */
-#include <sys/types.h>
-
#undef _nc_read_termcap
void _nc_read_termcap(void)
{ /* void */ }
/* ./unctrl.c */
#undef unctrl_sp
-char *unctrl_sp(
+const char *unctrl_sp(
SCREEN *sp,
chtype ch)
- { return(*(char **)0); }
+ { return(*(const char **)0); }
#undef unctrl
-char *unctrl(
+const char *unctrl(
chtype ch)
- { return(*(char **)0); }
+ { return(*(const char **)0); }
/* ./trace/visbuf.c */
{ return(*(int *)0); }
typedef struct {
- const char *from;
- const char *to;
+ const char from[3];
+ const char to[6];
} assoc;
/* ./tinfo/write_entry.c */
#undef _nc_set_writedir
void _nc_set_writedir(
- char *dir)
+ const char *dir)
{ /* void */ }
#undef _nc_write_entry
/****************************************************************************
- * Copyright (c) 2012 Free Software Foundation, Inc. *
+ * Copyright (c) 2012,2015 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 *
****************************************************************************/
/****************************************************************************
- * Author: Thomas E. Dickey 2012 *
+ * Author: Thomas E. Dickey 2012-on *
****************************************************************************/
/* LINTLIBRARY */
{ return(*(int *)0); }
typedef struct {
- const char *from;
- const char *to;
+ const char from[3];
+ const char to[6];
} assoc;
/* ./tinfo/write_entry.c */
#undef _nc_set_writedir
void _nc_set_writedir(
- char *dir)
+ const char *dir)
{ /* void */ }
#undef _nc_write_entry
/****************************************************************************
- * Copyright (c) 2013 Free Software Foundation, Inc. *
+ * Copyright (c) 2013,2015 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 *
****************************************************************************/
/****************************************************************************
- * Author: Thomas E. Dickey 2013 *
+ * Author: Thomas E. Dickey 2013-on *
****************************************************************************/
/* LINTLIBRARY */
{ return(*(int *)0); }
typedef struct {
- const char *from;
- const char *to;
+ const char from[3];
+ const char to[6];
} assoc;
/* ./tinfo/write_entry.c */
#undef _nc_set_writedir
void _nc_set_writedir(
- char *dir)
+ const char *dir)
{ /* void */ }
#undef _nc_write_entry
/****************************************************************************
- * Copyright (c) 2012 Free Software Foundation, Inc. *
+ * Copyright (c) 2012,2015 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 *
****************************************************************************/
/****************************************************************************
- * Author: Thomas E. Dickey 2012 *
+ * Author: Thomas E. Dickey 2012-on *
****************************************************************************/
/* LINTLIBRARY */
{ return(*(int *)0); }
typedef struct {
- const char *from;
- const char *to;
+ const char from[3];
+ const char to[6];
} assoc;
/* ./tinfo/write_entry.c */
#undef _nc_set_writedir
void _nc_set_writedir(
- char *dir)
+ const char *dir)
{ /* void */ }
#undef _nc_write_entry
/****************************************************************************
- * Copyright (c) 2012 Free Software Foundation, Inc. *
+ * Copyright (c) 2012,2015 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 *
****************************************************************************/
/****************************************************************************
- * Author: Thomas E. Dickey 2012 *
+ * Author: Thomas E. Dickey 2012-on *
****************************************************************************/
/* LINTLIBRARY */
{ return(*(int *)0); }
typedef struct {
- const char *from;
- const char *to;
+ const char from[3];
+ const char to[6];
} assoc;
/* ./tinfo/write_entry.c */
#undef _nc_set_writedir
void _nc_set_writedir(
- char *dir)
+ const char *dir)
{ /* void */ }
#undef _nc_write_entry
/****************************************************************************
- * Copyright (c) 2012,2013 Free Software Foundation, Inc. *
+ * Copyright (c) 2012-2013,2015 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 *
****************************************************************************/
/****************************************************************************
- * Author: Thomas E. Dickey 2012 *
+ * Author: Thomas E. Dickey 2012-on *
****************************************************************************/
/* LINTLIBRARY */
/* ./codes.c */
#undef boolcodes
-char *const boolcodes[] = {0};
+const char *const boolcodes[] = {0};
#undef numcodes
-char *const numcodes[] = {0};
+const char *const numcodes[] = {0};
#undef strcodes
-char *const strcodes[] = {0};
+const char *const strcodes[] = {0};
/* ./comp_captab.c */
#include <termcap.h>
struct speed {
- int s;
+ short s;
int sp;
};
struct kn { short offset; int code; };
#undef keyname_sp
-char *keyname_sp(
+const char *keyname_sp(
SCREEN *sp,
int c)
- { return(*(char **)0); }
+ { return(*(const char **)0); }
#undef keyname
-char *keyname(
+const char *keyname(
int c)
- { return(*(char **)0); }
+ { return(*(const char **)0); }
/* ./tinfo/lib_longname.c */
+#undef longname_sp
+char *longname_sp(
+ SCREEN *sp)
+ { return(*(char **)0); }
+
#undef longname
char *longname(void)
{ return(*(char **)0); }
#undef _nc_setupterm
int _nc_setupterm(
- char *tname,
+ const char *tname,
int Filedes,
int *errret,
int reuse)
#undef setupterm
int setupterm(
- char *tname,
+ const char *tname,
int Filedes,
int *errret)
{ return(*(int *)0); }
#undef tgetflag_sp
int tgetflag_sp(
SCREEN *sp,
- char *id)
+ const char *id)
{ return(*(int *)0); }
#undef tgetflag
int tgetflag(
- char *id)
+ const char *id)
{ return(*(int *)0); }
#undef tgetnum_sp
int tgetnum_sp(
SCREEN *sp,
- char *id)
+ const char *id)
{ return(*(int *)0); }
#undef tgetnum
int tgetnum(
- char *id)
+ const char *id)
{ return(*(int *)0); }
#undef tgetstr_sp
char *tgetstr_sp(
SCREEN *sp,
- char *id,
+ const char *id,
char **area)
{ return(*(char **)0); }
#undef tgetstr
char *tgetstr(
- char *id,
+ const char *id,
char **area)
{ return(*(char **)0); }
#undef tigetflag_sp
int tigetflag_sp(
SCREEN *sp,
- char *str)
+ const char *str)
{ return(*(int *)0); }
#undef tigetflag
int tigetflag(
- char *str)
+ const char *str)
{ return(*(int *)0); }
#undef tigetnum_sp
int tigetnum_sp(
SCREEN *sp,
- char *str)
+ const char *str)
{ return(*(int *)0); }
#undef tigetnum
int tigetnum(
- char *str)
+ const char *str)
{ return(*(int *)0); }
#undef tigetstr_sp
char *tigetstr_sp(
SCREEN *sp,
- char *str)
+ const char *str)
{ return(*(char **)0); }
#undef tigetstr
char *tigetstr(
- char *str)
+ const char *str)
{ return(*(char **)0); }
/* ./tinfo/lib_tparm.c */
#undef tparm
char *tparm(
- char *string,
+ const char *string,
...)
{ return(*(char **)0); }
{ return(*(const char **)0); }
#undef _nc_retrace_cvoid_ptr
-void *_nc_retrace_cvoid_ptr(
- void *code)
- { return(*(void **)0); }
+const void *_nc_retrace_cvoid_ptr(
+ const void *code)
+ { return(*(const void **)0); }
#undef _nc_retrace_void_ptr
void *_nc_retrace_void_ptr(
typedef struct {
unsigned int val;
- const char *name;
+ const char name[8];
} BITNAMES;
#undef _nc_trace_ttymode
/* ./names.c */
#undef boolnames
-char *const boolnames[] = {0};
+const char *const boolnames[] = {0};
#undef boolfnames
-char *const boolfnames[] = {0};
+const char *const boolfnames[] = {0};
#undef numnames
-char *const numnames[] = {0};
+const char *const numnames[] = {0};
#undef numfnames
-char *const numfnames[] = {0};
+const char *const numfnames[] = {0};
#undef strnames
-char *const strnames[] = {0};
+const char *const strnames[] = {0};
#undef strfnames
-char *const strfnames[] = {0};
+const char *const strfnames[] = {0};
/* ./tinfo/obsolete.c */
/* ./unctrl.c */
#undef unctrl_sp
-char *unctrl_sp(
+const char *unctrl_sp(
SCREEN *sp,
chtype ch)
- { return(*(char **)0); }
+ { return(*(const char **)0); }
#undef unctrl
-char *unctrl(
+const char *unctrl(
chtype ch)
- { return(*(char **)0); }
+ { return(*(const char **)0); }
/* ./trace/visbuf.c */
/****************************************************************************
- * Copyright (c) 2013 Free Software Foundation, Inc. *
+ * Copyright (c) 2013-2013,2015 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 *
****************************************************************************/
/****************************************************************************
- * Author: Thomas E. Dickey 2013 *
+ * Author: Thomas E. Dickey 2013-on *
****************************************************************************/
/* LINTLIBRARY */
/* ./codes.c */
#undef _nc_boolcodes
-char *const *_nc_boolcodes(void)
- { return(*(char **)0); }
+const char *const *_nc_boolcodes(void)
+ { return(*(const char **)0); }
#undef _nc_numcodes
-char *const *_nc_numcodes(void)
- { return(*(char **)0); }
+const char *const *_nc_numcodes(void)
+ { return(*(const char **)0); }
#undef _nc_strcodes
-char *const *_nc_strcodes(void)
- { return(*(char **)0); }
+const char *const *_nc_strcodes(void)
+ { return(*(const char **)0); }
/* ./comp_captab.c */
#include <termcap.h>
struct speed {
- int s;
+ short s;
int sp;
};
struct kn { short offset; int code; };
#undef keyname_sp
-char *keyname_sp(
+const char *keyname_sp(
SCREEN *sp,
int c)
- { return(*(char **)0); }
+ { return(*(const char **)0); }
#undef keyname
-char *keyname(
+const char *keyname(
int c)
- { return(*(char **)0); }
+ { return(*(const char **)0); }
/* ./tinfo/lib_longname.c */
#undef _nc_setupterm
int _nc_setupterm(
- char *tname,
+ const char *tname,
int Filedes,
int *errret,
int reuse)
#undef setupterm
int setupterm(
- char *tname,
+ const char *tname,
int Filedes,
int *errret)
{ return(*(int *)0); }
#undef tgetflag_sp
int tgetflag_sp(
SCREEN *sp,
- char *id)
+ const char *id)
{ return(*(int *)0); }
#undef tgetflag
int tgetflag(
- char *id)
+ const char *id)
{ return(*(int *)0); }
#undef tgetnum_sp
int tgetnum_sp(
SCREEN *sp,
- char *id)
+ const char *id)
{ return(*(int *)0); }
#undef tgetnum
int tgetnum(
- char *id)
+ const char *id)
{ return(*(int *)0); }
#undef tgetstr_sp
char *tgetstr_sp(
SCREEN *sp,
- char *id,
+ const char *id,
char **area)
{ return(*(char **)0); }
#undef tgetstr
char *tgetstr(
- char *id,
+ const char *id,
char **area)
{ return(*(char **)0); }
#undef tigetflag_sp
int tigetflag_sp(
SCREEN *sp,
- char *str)
+ const char *str)
{ return(*(int *)0); }
#undef tigetflag
int tigetflag(
- char *str)
+ const char *str)
{ return(*(int *)0); }
#undef tigetnum_sp
int tigetnum_sp(
SCREEN *sp,
- char *str)
+ const char *str)
{ return(*(int *)0); }
#undef tigetnum
int tigetnum(
- char *str)
+ const char *str)
{ return(*(int *)0); }
#undef tigetstr_sp
char *tigetstr_sp(
SCREEN *sp,
- char *str)
+ const char *str)
{ return(*(char **)0); }
#undef tigetstr
char *tigetstr(
- char *str)
+ const char *str)
{ return(*(char **)0); }
/* ./tinfo/lib_tparm.c */
#undef tparm
char *tparm(
- char *string,
+ const char *string,
...)
{ return(*(char **)0); }
{ return(*(const char **)0); }
#undef _nc_retrace_cvoid_ptr
-void *_nc_retrace_cvoid_ptr(
- void *code)
- { return(*(void **)0); }
+const void *_nc_retrace_cvoid_ptr(
+ const void *code)
+ { return(*(const void **)0); }
#undef _nc_retrace_void_ptr
void *_nc_retrace_void_ptr(
typedef struct {
unsigned int val;
- const char *name;
+ const char name[8];
} BITNAMES;
#undef _nc_trace_ttymode
/* ./names.c */
#undef _nc_boolnames
-char *const *_nc_boolnames(void)
- { return(*(char **)0); }
+const char *const *_nc_boolnames(void)
+ { return(*(const char **)0); }
#undef _nc_boolfnames
-char *const *_nc_boolfnames(void)
- { return(*(char **)0); }
+const char *const *_nc_boolfnames(void)
+ { return(*(const char **)0); }
#undef _nc_numnames
-char *const *_nc_numnames(void)
- { return(*(char **)0); }
+const char *const *_nc_numnames(void)
+ { return(*(const char **)0); }
#undef _nc_numfnames
-char *const *_nc_numfnames(void)
- { return(*(char **)0); }
+const char *const *_nc_numfnames(void)
+ { return(*(const char **)0); }
#undef _nc_strnames
-char *const *_nc_strnames(void)
- { return(*(char **)0); }
+const char *const *_nc_strnames(void)
+ { return(*(const char **)0); }
#undef _nc_strfnames
-char *const *_nc_strfnames(void)
- { return(*(char **)0); }
+const char *const *_nc_strfnames(void)
+ { return(*(const char **)0); }
/* ./tinfo/obsolete.c */
/* ./unctrl.c */
#undef unctrl_sp
-char *unctrl_sp(
+const char *unctrl_sp(
SCREEN *sp,
chtype ch)
- { return(*(char **)0); }
+ { return(*(const char **)0); }
#undef unctrl
-char *unctrl(
+const char *unctrl(
chtype ch)
- { return(*(char **)0); }
+ { return(*(const char **)0); }
/* ./trace/visbuf.c */
/****************************************************************************
- * Copyright (c) 2012,2013 Free Software Foundation, Inc. *
+ * Copyright (c) 2012-2013,2015 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 *
****************************************************************************/
/****************************************************************************
- * Author: Thomas E. Dickey 2012 *
+ * Author: Thomas E. Dickey 2012-on *
****************************************************************************/
/* LINTLIBRARY */
/* ./codes.c */
#undef _nc_boolcodes
-char *const *_nc_boolcodes(void)
- { return(*(char **)0); }
+const char *const *_nc_boolcodes(void)
+ { return(*(const char **)0); }
#undef _nc_numcodes
-char *const *_nc_numcodes(void)
- { return(*(char **)0); }
+const char *const *_nc_numcodes(void)
+ { return(*(const char **)0); }
#undef _nc_strcodes
-char *const *_nc_strcodes(void)
- { return(*(char **)0); }
+const char *const *_nc_strcodes(void)
+ { return(*(const char **)0); }
/* ./comp_captab.c */
#include <termcap.h>
struct speed {
- int s;
+ short s;
int sp;
};
struct kn { short offset; int code; };
#undef keyname_sp
-char *keyname_sp(
+const char *keyname_sp(
SCREEN *sp,
int c)
- { return(*(char **)0); }
+ { return(*(const char **)0); }
#undef keyname
-char *keyname(
+const char *keyname(
int c)
- { return(*(char **)0); }
+ { return(*(const char **)0); }
/* ./tinfo/lib_longname.c */
#undef _nc_setupterm
int _nc_setupterm(
- char *tname,
+ const char *tname,
int Filedes,
int *errret,
int reuse)
#undef setupterm
int setupterm(
- char *tname,
+ const char *tname,
int Filedes,
int *errret)
{ return(*(int *)0); }
#undef tgetflag_sp
int tgetflag_sp(
SCREEN *sp,
- char *id)
+ const char *id)
{ return(*(int *)0); }
#undef tgetflag
int tgetflag(
- char *id)
+ const char *id)
{ return(*(int *)0); }
#undef tgetnum_sp
int tgetnum_sp(
SCREEN *sp,
- char *id)
+ const char *id)
{ return(*(int *)0); }
#undef tgetnum
int tgetnum(
- char *id)
+ const char *id)
{ return(*(int *)0); }
#undef tgetstr_sp
char *tgetstr_sp(
SCREEN *sp,
- char *id,
+ const char *id,
char **area)
{ return(*(char **)0); }
#undef tgetstr
char *tgetstr(
- char *id,
+ const char *id,
char **area)
{ return(*(char **)0); }
#undef tigetflag_sp
int tigetflag_sp(
SCREEN *sp,
- char *str)
+ const char *str)
{ return(*(int *)0); }
#undef tigetflag
int tigetflag(
- char *str)
+ const char *str)
{ return(*(int *)0); }
#undef tigetnum_sp
int tigetnum_sp(
SCREEN *sp,
- char *str)
+ const char *str)
{ return(*(int *)0); }
#undef tigetnum
int tigetnum(
- char *str)
+ const char *str)
{ return(*(int *)0); }
#undef tigetstr_sp
char *tigetstr_sp(
SCREEN *sp,
- char *str)
+ const char *str)
{ return(*(char **)0); }
#undef tigetstr
char *tigetstr(
- char *str)
+ const char *str)
{ return(*(char **)0); }
/* ./tinfo/lib_tparm.c */
#undef tparm
char *tparm(
- char *string,
+ const char *string,
...)
{ return(*(char **)0); }
{ return(*(const char **)0); }
#undef _nc_retrace_cvoid_ptr
-void *_nc_retrace_cvoid_ptr(
- void *code)
- { return(*(void **)0); }
+const void *_nc_retrace_cvoid_ptr(
+ const void *code)
+ { return(*(const void **)0); }
#undef _nc_retrace_void_ptr
void *_nc_retrace_void_ptr(
typedef struct {
unsigned int val;
- const char *name;
+ const char name[8];
} BITNAMES;
#undef _nc_trace_ttymode
/* ./names.c */
#undef _nc_boolnames
-char *const *_nc_boolnames(void)
- { return(*(char **)0); }
+const char *const *_nc_boolnames(void)
+ { return(*(const char **)0); }
#undef _nc_boolfnames
-char *const *_nc_boolfnames(void)
- { return(*(char **)0); }
+const char *const *_nc_boolfnames(void)
+ { return(*(const char **)0); }
#undef _nc_numnames
-char *const *_nc_numnames(void)
- { return(*(char **)0); }
+const char *const *_nc_numnames(void)
+ { return(*(const char **)0); }
#undef _nc_numfnames
-char *const *_nc_numfnames(void)
- { return(*(char **)0); }
+const char *const *_nc_numfnames(void)
+ { return(*(const char **)0); }
#undef _nc_strnames
-char *const *_nc_strnames(void)
- { return(*(char **)0); }
+const char *const *_nc_strnames(void)
+ { return(*(const char **)0); }
#undef _nc_strfnames
-char *const *_nc_strfnames(void)
- { return(*(char **)0); }
+const char *const *_nc_strfnames(void)
+ { return(*(const char **)0); }
/* ./tinfo/obsolete.c */
/* ./unctrl.c */
#undef unctrl_sp
-char *unctrl_sp(
+const char *unctrl_sp(
SCREEN *sp,
chtype ch)
- { return(*(char **)0); }
+ { return(*(const char **)0); }
#undef unctrl
-char *unctrl(
+const char *unctrl(
chtype ch)
- { return(*(char **)0); }
+ { return(*(const char **)0); }
/* ./trace/visbuf.c */
/****************************************************************************
- * Copyright (c) 2012,2013 Free Software Foundation, Inc. *
+ * Copyright (c) 2012-2013,2015 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 *
****************************************************************************/
/****************************************************************************
- * Author: Thomas E. Dickey 2012 *
+ * Author: Thomas E. Dickey 2012-on *
****************************************************************************/
/* LINTLIBRARY */
/* ./codes.c */
#undef boolcodes
-char *const boolcodes[] = {0};
+const char *const boolcodes[] = {0};
#undef numcodes
-char *const numcodes[] = {0};
+const char *const numcodes[] = {0};
#undef strcodes
-char *const strcodes[] = {0};
+const char *const strcodes[] = {0};
/* ./comp_captab.c */
#include <termcap.h>
struct speed {
- int s;
+ short s;
int sp;
};
struct kn { short offset; int code; };
#undef keyname_sp
-char *keyname_sp(
+const char *keyname_sp(
SCREEN *sp,
int c)
- { return(*(char **)0); }
+ { return(*(const char **)0); }
#undef keyname
-char *keyname(
+const char *keyname(
int c)
- { return(*(char **)0); }
+ { return(*(const char **)0); }
/* ./tinfo/lib_longname.c */
+#undef longname_sp
+char *longname_sp(
+ SCREEN *sp)
+ { return(*(char **)0); }
+
#undef longname
char *longname(void)
{ return(*(char **)0); }
#undef _nc_setupterm
int _nc_setupterm(
- char *tname,
+ const char *tname,
int Filedes,
int *errret,
int reuse)
#undef setupterm
int setupterm(
- char *tname,
+ const char *tname,
int Filedes,
int *errret)
{ return(*(int *)0); }
#undef tgetflag_sp
int tgetflag_sp(
SCREEN *sp,
- char *id)
+ const char *id)
{ return(*(int *)0); }
#undef tgetflag
int tgetflag(
- char *id)
+ const char *id)
{ return(*(int *)0); }
#undef tgetnum_sp
int tgetnum_sp(
SCREEN *sp,
- char *id)
+ const char *id)
{ return(*(int *)0); }
#undef tgetnum
int tgetnum(
- char *id)
+ const char *id)
{ return(*(int *)0); }
#undef tgetstr_sp
char *tgetstr_sp(
SCREEN *sp,
- char *id,
+ const char *id,
char **area)
{ return(*(char **)0); }
#undef tgetstr
char *tgetstr(
- char *id,
+ const char *id,
char **area)
{ return(*(char **)0); }
#undef tigetflag_sp
int tigetflag_sp(
SCREEN *sp,
- char *str)
+ const char *str)
{ return(*(int *)0); }
#undef tigetflag
int tigetflag(
- char *str)
+ const char *str)
{ return(*(int *)0); }
#undef tigetnum_sp
int tigetnum_sp(
SCREEN *sp,
- char *str)
+ const char *str)
{ return(*(int *)0); }
#undef tigetnum
int tigetnum(
- char *str)
+ const char *str)
{ return(*(int *)0); }
#undef tigetstr_sp
char *tigetstr_sp(
SCREEN *sp,
- char *str)
+ const char *str)
{ return(*(char **)0); }
#undef tigetstr
char *tigetstr(
- char *str)
+ const char *str)
{ return(*(char **)0); }
/* ./tinfo/lib_tparm.c */
#undef tparm
char *tparm(
- char *string,
+ const char *string,
...)
{ return(*(char **)0); }
{ return(*(const char **)0); }
#undef _nc_retrace_cvoid_ptr
-void *_nc_retrace_cvoid_ptr(
- void *code)
- { return(*(void **)0); }
+const void *_nc_retrace_cvoid_ptr(
+ const void *code)
+ { return(*(const void **)0); }
#undef _nc_retrace_void_ptr
void *_nc_retrace_void_ptr(
typedef struct {
unsigned int val;
- const char *name;
+ const char name[8];
} BITNAMES;
#undef _nc_trace_ttymode
/* ./names.c */
#undef boolnames
-char *const boolnames[] = {0};
+const char *const boolnames[] = {0};
#undef boolfnames
-char *const boolfnames[] = {0};
+const char *const boolfnames[] = {0};
#undef numnames
-char *const numnames[] = {0};
+const char *const numnames[] = {0};
#undef numfnames
-char *const numfnames[] = {0};
+const char *const numfnames[] = {0};
#undef strnames
-char *const strnames[] = {0};
+const char *const strnames[] = {0};
#undef strfnames
-char *const strfnames[] = {0};
+const char *const strfnames[] = {0};
/* ./tinfo/obsolete.c */
/* ./unctrl.c */
#undef unctrl_sp
-char *unctrl_sp(
+const char *unctrl_sp(
SCREEN *sp,
chtype ch)
- { return(*(char **)0); }
+ { return(*(const char **)0); }
#undef unctrl
-char *unctrl(
+const char *unctrl(
chtype ch)
- { return(*(char **)0); }
+ { return(*(const char **)0); }
/* ./trace/visbuf.c */
/****************************************************************************
- * Copyright (c) 1998-2009,2010 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-2010,2015 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 *
#include <curses.priv.h>
-MODULE_ID("$Id: lib_longname.c,v 1.12 2010/12/20 00:31:26 tom Exp $")
+MODULE_ID("$Id: lib_longname.c,v 1.13 2015/07/25 20:08:14 tom Exp $")
#if USE_REENTRANT
NCURSES_EXPORT(char *)
#endif
#else
+
+/* a dummy entrypoint is simpler than generating a conditional in curses.h */
+#if NCURSES_SP_FUNCS
+NCURSES_EXPORT(char *)
+NCURSES_SP_NAME(longname) (NCURSES_SP_DCL0)
+{
+ (void) SP_PARM;
+ return longname();
+}
+#endif
+
NCURSES_EXPORT(char *)
longname(void)
{
/****************************************************************************
- * Copyright (c) 1998-2010,2012 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-2012,2015 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 *
#include <curses.priv.h>
-MODULE_ID("$Id: hardscroll.c,v 1.51 2012/10/17 09:01:10 tom Exp $")
+MODULE_ID("$Id: hardscroll.c,v 1.52 2015/07/25 20:13:07 tom Exp $")
#if defined(SCROLLDEBUG) || defined(HASHDEBUG)
int n;
char *buf = 0;
size_t want = ((size_t) screen_lines(SP_PARM) + 1) * 4;
+ (void) SP_PARM;
if ((buf = typeMalloc(char, want)) != 0) {
for (;;) {
int n;
- for (n = 0; n < screen_lines; n++)
+ for (n = 0; n < screen_lines(sp); n++)
oldnums[n] = _NEWINDEX;
/* grab the test vector */
/****************************************************************************
- * Copyright (c) 1998-2011,2014 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-2014,2015 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 *
#define CUR SP_TERMTYPE
#endif
-MODULE_ID("$Id: hashmap.c,v 1.64 2014/04/26 18:48:44 juergen Exp $")
+MODULE_ID("$Id: hashmap.c,v 1.65 2015/07/25 20:13:56 tom Exp $")
#ifdef HASHDEBUG
# define _tracef printf
# undef TR
+# ifdef TRACE
# define TR(n, a) if (_nc_tracing & (n)) { _tracef a ; putchar('\n'); }
+# else
+# define TR(n, a) { _tracef a ; putchar('\n'); }
+# endif
# undef screen_lines
-# define screen_lines MAXLINES
-# define TEXTWIDTH 1
+# define screen_lines(sp) MAXLINES
+# define TEXTWIDTH(sp) 1
int oldnums[MAXLINES], reallines[MAXLINES];
-static NCURSES_CH_T oldtext[MAXLINES][TEXTWIDTH];
-static NCURSES_CH_T newtext[MAXLINES][TEXTWIDTH];
+static NCURSES_CH_T oldtext[MAXLINES][TEXTWIDTH(sp)];
+static NCURSES_CH_T newtext[MAXLINES][TEXTWIDTH(sp)];
# define OLDNUM(sp,n) oldnums[n]
# define OLDTEXT(sp,n) oldtext[n]
# define NEWTEXT(sp,m) newtext[m]
int i;
NCURSES_CH_T ch;
unsigned long result = 0;
+ (void) sp;
+
for (i = TEXTWIDTH(sp); i > 0; i--) {
ch = *text++;
result += (result << 5) + (unsigned long) HASH_VAL(ch);
{
int cost = 0;
int i;
+ (void) sp;
for (i = TEXTWIDTH(sp); i > 0; i--, from++, to++)
if (!(CharEq(*from, *to)))
int cost = 0;
int i;
NCURSES_CH_T blank = blankchar;
+ (void) sp;
if (back_color_erase)
SetPair(blank, GetPair(stdscr->_nc_bkgd));
return EXIT_FAILURE;
(void) _nc_alloc_screen();
- for (n = 0; n < screen_lines; n++) {
+ for (n = 0; n < screen_lines(sp); n++) {
reallines[n] = n;
oldnums[n] = _NEWINDEX;
CharOf(oldtext[n][0]) = CharOf(newtext[n][0]) = '.';
break;
case 'l': /* get initial line number vector */
- for (n = 0; n < screen_lines; n++) {
+ for (n = 0; n < screen_lines(sp); n++) {
reallines[n] = n;
oldnums[n] = _NEWINDEX;
}
break;
case 'n': /* use following letters as text of new lines */
- for (n = 0; n < screen_lines; n++)
+ for (n = 0; n < screen_lines(sp); n++)
CharOf(newtext[n][0]) = '.';
- for (n = 0; n < screen_lines; n++)
+ for (n = 0; n < screen_lines(sp); n++)
if (line[n + 1] == '\n')
break;
else
break;
case 'o': /* use following letters as text of old lines */
- for (n = 0; n < screen_lines; n++)
+ for (n = 0; n < screen_lines(sp); n++)
CharOf(oldtext[n][0]) = '.';
- for (n = 0; n < screen_lines; n++)
+ for (n = 0; n < screen_lines(sp); n++)
if (line[n + 1] == '\n')
break;
else
_nc_linedump();
#endif
(void) fputs("Old lines: [", stdout);
- for (n = 0; n < screen_lines; n++)
+ for (n = 0; n < screen_lines(sp); n++)
putchar(CharOf(oldtext[n][0]));
putchar(']');
putchar('\n');
(void) fputs("New lines: [", stdout);
- for (n = 0; n < screen_lines; n++)
+ for (n = 0; n < screen_lines(sp); n++)
putchar(CharOf(newtext[n][0]));
putchar(']');
putchar('\n');
/****************************************************************************
- * Copyright (c) 1998-2013,2014 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-2014,2015 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 *
#define CUR SP_TERMTYPE
#endif
-MODULE_ID("$Id: lib_mvcur.c,v 1.135 2014/04/26 18:47:20 juergen Exp $")
+MODULE_ID("$Id: lib_mvcur.c,v 1.136 2015/07/25 20:14:57 tom Exp $")
#define WANT_CHAR(sp, y, x) NewScreen(sp)->_line[y].text[x] /* desired state */
}
}
} else if (buf[0] == 'i') {
- dump_init((char *) NULL, F_TERMINFO, S_TERMINFO, 70, 0, FALSE);
+ dump_init(NULL, F_TERMINFO, S_TERMINFO, 70, 0, 0, FALSE, FALSE);
dump_entry(&cur_term->type, FALSE, TRUE, 0, 0);
putchar('\n');
} else if (buf[0] == 'o') {
-ncurses6 (6.0+20150719) unstable; urgency=low
+ncurses6 (6.0+20150725) unstable; urgency=low
* latest weekly patch
- -- Thomas E. Dickey <dickey@invisible-island.net> Sun, 19 Jul 2015 19:55:23 -0400
+ -- Thomas E. Dickey <dickey@invisible-island.net> Mon, 20 Jul 2015 18:28:06 -0400
ncurses6 (5.9-20131005) unstable; urgency=low
-ncurses6 (6.0+20150719) unstable; urgency=low
+ncurses6 (6.0+20150725) unstable; urgency=low
* latest weekly patch
- -- Thomas E. Dickey <dickey@invisible-island.net> Sun, 19 Jul 2015 19:55:23 -0400
+ -- Thomas E. Dickey <dickey@invisible-island.net> Mon, 20 Jul 2015 18:28:06 -0400
ncurses6 (5.9-20131005) unstable; urgency=low
-ncurses6 (6.0+20150719) unstable; urgency=low
+ncurses6 (6.0+20150725) unstable; urgency=low
* latest weekly patch
- -- Thomas E. Dickey <dickey@invisible-island.net> Sun, 19 Jul 2015 19:55:23 -0400
+ -- Thomas E. Dickey <dickey@invisible-island.net> Mon, 20 Jul 2015 18:28:06 -0400
ncurses6 (5.9-20120608) unstable; urgency=low
-; $Id: mingw-ncurses.nsi,v 1.114 2015/07/19 23:55:55 tom Exp $\r
+; $Id: mingw-ncurses.nsi,v 1.115 2015/07/20 22:28:06 tom Exp $\r
\r
; TODO add examples\r
; TODO bump ABI to 6\r
!define VERSION_MAJOR "6"\r
!define VERSION_MINOR "0"\r
!define VERSION_YYYY "2015"\r
-!define VERSION_MMDD "0719"\r
+!define VERSION_MMDD "0725"\r
!define VERSION_PATCH ${VERSION_YYYY}${VERSION_MMDD}\r
\r
!define MY_ABI "5"\r
Summary: shared libraries for terminal handling
Name: mingw32-ncurses6
Version: 6.0
-Release: 20150719
+Release: 20150725
License: X11
Group: Development/Libraries
Source: ncurses-%{version}-%{release}.tgz
Summary: shared libraries for terminal handling
Name: ncurses6
Version: 6.0
-Release: 20150719
+Release: 20150725
License: X11
Group: Development/Libraries
Source: ncurses-%{version}-%{release}.tgz
/****************************************************************************
- * Copyright (c) 1998-2005,2010 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-2010,2015 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 *
****************************************************************************/
/****************************************************************************
- * Author: Thomas E. Dickey 1997,2005,2010 *
+ * Author: Thomas E. Dickey 1996-on *
****************************************************************************/
/* LINTLIBRARY */
#undef set_panel_userptr
int set_panel_userptr(
PANEL *pan,
- void *uptr)
+ const void *uptr)
{ return(*(int *)0); }
#undef panel_userptr
-void *panel_userptr(
+const void *panel_userptr(
const PANEL *pan)
- { return(*(void **)0); }
+ { return(*(const void **)0); }
/* ./p_win.c */
/****************************************************************************
- * Copyright (c) 2010 Free Software Foundation, Inc. *
+ * Copyright (c) 2010-2010,2015 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 *
****************************************************************************/
/****************************************************************************
- * Author: Thomas E. Dickey 2010 *
+ * Author: Thomas E. Dickey 2010-on *
****************************************************************************/
/* LINTLIBRARY */
#undef set_panel_userptr
int set_panel_userptr(
PANEL *pan,
- void *uptr)
+ const void *uptr)
{ return(*(int *)0); }
#undef panel_userptr
-void *panel_userptr(
+const void *panel_userptr(
const PANEL *pan)
- { return(*(void **)0); }
+ { return(*(const void **)0); }
/* ./p_win.c */
/****************************************************************************
- * Copyright (c) 2010 Free Software Foundation, Inc. *
+ * Copyright (c) 2010-2010,2015 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 *
****************************************************************************/
/****************************************************************************
- * Author: Thomas E. Dickey 2010 *
+ * Author: Thomas E. Dickey 2010-on *
****************************************************************************/
/* LINTLIBRARY */
#undef set_panel_userptr
int set_panel_userptr(
PANEL *pan,
- void *uptr)
+ const void *uptr)
{ return(*(int *)0); }
#undef panel_userptr
-void *panel_userptr(
+const void *panel_userptr(
const PANEL *pan)
- { return(*(void **)0); }
+ { return(*(const void **)0); }
/* ./p_win.c */
/****************************************************************************
- * Copyright (c) 2002-2005,2010 Free Software Foundation, Inc. *
+ * Copyright (c) 2002-2010,2015 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 *
****************************************************************************/
/****************************************************************************
- * Author: Thomas E. Dickey 2002-2005,2010 *
+ * Author: Thomas E. Dickey 2002-on *
****************************************************************************/
/* LINTLIBRARY */
#undef set_panel_userptr
int set_panel_userptr(
PANEL *pan,
- void *uptr)
+ const void *uptr)
{ return(*(int *)0); }
#undef panel_userptr
-void *panel_userptr(
+const void *panel_userptr(
const PANEL *pan)
- { return(*(void **)0); }
+ { return(*(const void **)0); }
/* ./p_win.c */