+ add 'P' menu item to test/ncurses.c, to show pad in color.
+ improve discussion in curs_color.3x about color rendering (prompted
by comment on Stack Overflow forum):
+ remove screen-bce.mlterm, since mlterm does not do "bce" -TD
+ add several screen.XXX entries to support the respective variations
for 256 colors -TD
+ add putty+fnkeys* building-block entries -TD
+ add smkx/rmkx to capabilities analyzed with infocmp "-i" option.
-- sale, use or other dealings in this Software without prior written --
-- authorization. --
-------------------------------------------------------------------------------
--- $Id: NEWS,v 1.2421 2015/05/16 20:29:02 tom Exp $
+-- $Id: NEWS,v 1.2425 2015/05/23 21:56:15 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.
+20150523
+ + add 'P' menu item to test/ncurses.c, to show pad in color.
+ + improve discussion in curs_color.3x about color rendering (prompted
+ by comment on Stack Overflow forum):
+ + remove screen-bce.mlterm, since mlterm does not do "bce" -TD
+ + add several screen.XXX entries to support the respective variations
+ for 256 colors -TD
+ + add putty+fnkeys* building-block entries -TD
+ + add smkx/rmkx to capabilities analyzed with infocmp "-i" option.
+
20150516
+ amend change to ".pc" files to only use the extra loader flags which
may have rpath options (report by Sven Joachim, cf: 20150502).
-5:0:9 5.9 20150516
+5:0:9 5.9 20150523
# use or other dealings in this Software without prior written #
# authorization. #
##############################################################################
-# $Id: dist.mk,v 1.1051 2015/05/13 19:01:14 tom Exp $
+# $Id: dist.mk,v 1.1052 2015/05/17 16:37:10 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 = 5
NCURSES_MINOR = 9
-NCURSES_PATCH = 20150516
+NCURSES_PATCH = 20150523
# We don't append the patch to the version, since this only applies to releases
VERSION = $(NCURSES_MAJOR).$(NCURSES_MINOR)
--- /dev/null
+<!--
+ ****************************************************************************
+ * Copyright (c) 2010-2011,2014 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+ * "Software"), to deal in the Software without restriction, including *
+ * without limitation the rights to use, copy, modify, merge, publish, *
+ * distribute, distribute with modifications, sublicense, and/or sell *
+ * copies of the Software, and to permit persons to whom the Software is *
+ * furnished to do so, subject to the following conditions: *
+ * *
+ * The above copyright notice and this permission notice shall be included *
+ * in all copies or substantial portions of the Software. *
+ * *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS *
+ * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF *
+ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. *
+ * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, *
+ * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR *
+ * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR *
+ * THE USE OR OTHER DEALINGS IN THE SOFTWARE. *
+ * *
+ * Except as contained in this notice, the name(s) of the above copyright *
+ * holders shall not be used in advertising or otherwise to promote the *
+ * sale, use or other dealings in this Software without prior written *
+ * authorization. *
+ ****************************************************************************
+ * @Id: MKada_config.in,v 1.8 2014/06/07 19:32:52 tom Exp @
+-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
+<HTML>
+<HEAD>
+<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
+<meta name="generator" content="Manpage converted by man2html - see http://invisible-island.net/scripts/readme.html#others_scripts">
+<TITLE>ADACURSES 1 User Commands</TITLE>
+<link rev=made href="mailto:bug-ncurses@gnu.org">
+<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+</HEAD>
+<BODY>
+<H1>ADACURSES 1 User Commands</H1>
+<HR>
+<PRE>
+<STRONG><A HREF="ADACURSES.1.html">ADACURSES(1)</A></STRONG> User Commands <STRONG><A HREF="ADACURSES.1.html">ADACURSES(1)</A></STRONG>
+
+
+
+
+</PRE>
+<H2><a name="h2-NAME">NAME</a></H2><PRE>
+ adacurses-config - helper script for AdaCurses libraries
+
+
+</PRE>
+<H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
+ <STRONG>adacurses-config</STRONG> [<EM>options</EM>]
+
+
+</PRE>
+<H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+ This is a shell script which simplifies configuring an
+ application to use the AdaCurses library binding to
+ ncurses.
+
+
+</PRE>
+<H2><a name="h2-OPTIONS">OPTIONS</a></H2><PRE>
+ <STRONG>--cflags</STRONG>
+ echos the gnat (Ada compiler) flags needed to com-
+ pile with AdaCurses.
+
+ <STRONG>--libs</STRONG> echos the gnat libraries needed to link with
+ AdaCurses.
+
+ <STRONG>--version</STRONG>
+ echos the release+patchdate version of the ncurses
+ libraries used to configure and build AdaCurses.
+
+ <STRONG>--help</STRONG> prints a list of the <STRONG>adacurses-config</STRONG> script's
+ options.
+
+ If no options are given, <STRONG>adacurses-config</STRONG> prints the com-
+ bination of <STRONG>--cflags</STRONG> and <STRONG>--libs</STRONG> that <STRONG>gnatmake</STRONG> expects (see
+ example).
+
+
+</PRE>
+<H2><a name="h2-EXAMPLE">EXAMPLE</a></H2><PRE>
+ For example, supposing that you want to compile the "Hello
+ World!" program for AdaCurses. Make a file named
+ "hello.adb":
+ with Terminal_Interface.Curses; use Terminal_Interface.Curses;
+
+ procedure Hello is
+
+ Visibility : Cursor_Visibility := Invisible;
+ done : Boolean := False;
+ c : Key_Code;
+
+ begin
+
+ Init_Screen;
+ Set_Echo_Mode (False);
+
+ Set_Cursor_Visibility (Visibility);
+ Set_Timeout_Mode (Standard_Window, Non_Blocking, 0);
+
+ Move_Cursor (Line => Lines / 2, Column => (Columns - 12) / 2);
+ Add (Str => "Hello World!");
+
+ while not done loop
+
+ c := Get_Keystroke (Standard_Window);
+ case c is
+ when Character'Pos ('q') => done := True;
+ when others => null;
+ end case;
+
+ Nap_Milli_Seconds (50);
+
+ end loop;
+
+ End_Windows;
+
+ end Hello;
+
+ Then, using
+ gnatmake `adacurses-config --cflags` hello -largs
+ `adacurses-config --libs`
+
+ or (simpler):
+ gnatmake hello `adacurses-config`
+
+ you will compile and link the program.
+
+
+</PRE>
+<H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
+ <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>
+
+ This describes <STRONG>ncurses</STRONG> version 5.9 (patch 20150215).
+
+
+
+ <STRONG><A HREF="ADACURSES.1.html">ADACURSES(1)</A></STRONG>
+</PRE>
+<div class="nav">
+<ul>
+<li><a href="#h2-NAME">NAME</a></li>
+<li><a href="#h2-SYNOPSIS">SYNOPSIS</a></li>
+<li><a href="#h2-DESCRIPTION">DESCRIPTION</a></li>
+<li><a href="#h2-OPTIONS">OPTIONS</a></li>
+<li><a href="#h2-EXAMPLE">EXAMPLE</a></li>
+<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
+</ul>
+</div>
+</BODY>
+</HTML>
<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 5.9 (patch 20150516).
+ This describes <STRONG>ncurses</STRONG> version 5.9 (patch 20150523).
</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 5.9 (patch 20150516).
+ This describes <STRONG>ncurses</STRONG> version 5.9 (patch 20150523).
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_color.3x,v 1.37 2015/04/04 19:42:47 tom Exp @
+ * @Id: curs_color.3x,v 1.38 2015/05/23 21:36:35 tom Exp @
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
</PRE>
<H3><a name="h3-Overview">Overview</a></H3><PRE>
- <STRONG>curses</STRONG> support color attributes on terminals with that ca-
- pability. To use these routines <STRONG>start_color</STRONG> must be
+ <STRONG>curses</STRONG> supports color attributes on terminals with that
+ capability. To use these routines <STRONG>start_color</STRONG> must be
called, usually right after <STRONG>initscr</STRONG>. Colors are always
used in pairs (referred to as color-pairs). A color-pair
consists of a foreground color (for characters) and a
how a given color-pair is currently defined.
+</PRE>
+<H3><a name="h3-Color-Rendering">Color Rendering</a></H3><PRE>
+ The <STRONG>curses</STRONG> library combines these inputs to produce the
+ actual foreground and background colors shown on the
+ screen:
+
+ <STRONG>o</STRONG> per-character video attributes (e.g., via <STRONG>waddch</STRONG>),
+
+ <STRONG>o</STRONG> the window attribute (e.g., by <STRONG>wattrset</STRONG>), and
+
+ <STRONG>o</STRONG> the background character (e.g., <STRONG>wbkgdset</STRONG>).
+
+ Per-character and window attributes are usually set by a
+ parameter containing video attributes including a <STRONG>COL-</STRONG>
+ <STRONG>OR_PAIR</STRONG> value. Some functions such as <STRONG>wattr_set</STRONG> use a
+ separate parameter which is the color pair number.
+
+ The background character is a special case: it includes a
+ character value, just as if it were passed to <STRONG>waddch</STRONG>.
+
+ The <STRONG>curses</STRONG> library does the actual work of combining these
+ color pairs in an internal function called from <STRONG>waddch</STRONG>:
+
+ <STRONG>o</STRONG> If the parameter passed to <STRONG>waddch</STRONG> is <EM>blank</EM>, and it us-
+ es the special color pair 0,
+
+ <STRONG>o</STRONG> <STRONG>curses</STRONG> next checks the window attribute.
+
+ <STRONG>o</STRONG> If the window attribute does not use color pair 0,
+ <STRONG>curses</STRONG> uses the color pair from the window at-
+ tribute.
+
+ <STRONG>o</STRONG> Otherwise, <STRONG>curses</STRONG> uses the background character.
+
+ <STRONG>o</STRONG> If the parameter passed to <STRONG>waddch</STRONG> is <EM>not</EM> <EM>blank</EM>, or it
+ does not use the special color pair 0, <STRONG>curses</STRONG> prefers
+ the color pair from the parameter, if it is nonzero.
+ Otherwise, it tries the window attribute next, and fi-
+ nally the background character.
+
+ Some <STRONG>curses</STRONG> functions such as <STRONG>wprintw</STRONG> call <STRONG>waddch</STRONG>. Those
+ do not combine its parameter with a color pair. Conse-
+ quently those calls use only the window attribute or the
+ background character.
+
+
</PRE>
<H3><a name="h3-Routine-Descriptions">Routine Descriptions</a></H3><PRE>
The <STRONG>start_color</STRONG> routine requires no arguments. It must be
- called if the programmer wants to use colors, and before
- any other color manipulation routine is called. It is
- good practice to call this routine right after <STRONG>initscr</STRONG>.
+ called if the programmer wants to use colors, and before
+ any other color manipulation routine is called. It is
+ good practice to call this routine right after <STRONG>initscr</STRONG>.
<STRONG>start_color</STRONG> does this:
- <STRONG>o</STRONG> It initializes two global variables, <STRONG>COLORS</STRONG> and <STRONG>COL-</STRONG>
- <STRONG>OR_PAIRS</STRONG> (respectively defining the maximum number of
+ <STRONG>o</STRONG> It initializes two global variables, <STRONG>COLORS</STRONG> and <STRONG>COL-</STRONG>
+ <STRONG>OR_PAIRS</STRONG> (respectively defining the maximum number of
colors and color-pairs the terminal can support).
<STRONG>o</STRONG> It initializes the special color pair <STRONG>0</STRONG> to the default
- foreground and background colors. No other color
+ foreground and background colors. No other color
pairs are initialized.
- <STRONG>o</STRONG> It restores the colors on the terminal to the values
+ <STRONG>o</STRONG> It restores the colors on the terminal to the values
they had when the terminal was just turned on.
- <STRONG>o</STRONG> If the terminal supports the <STRONG>initc</STRONG> (<STRONG>initialize_color</STRONG>)
+ <STRONG>o</STRONG> If the terminal supports the <STRONG>initc</STRONG> (<STRONG>initialize_color</STRONG>)
capability, <STRONG>start_color</STRONG> initializes its internal table
representing the red, green and blue components of the
color palette.
The components depend on whether the terminal uses CGA
(aka "ANSI") or HLS (i.e., the <STRONG>hls</STRONG> (<STRONG>hue_lightness_sat-</STRONG>
<STRONG>uration</STRONG>) capability is set). The table is initialized
- first for eight basic colors (black, red, green, yel-
- low, blue, magenta, cyan, and white), and after that
- (if the terminal supports more than eight colors) the
+ first for eight basic colors (black, red, green, yel-
+ low, blue, magenta, cyan, and white), and after that
+ (if the terminal supports more than eight colors) the
components are initialized to <STRONG>1000</STRONG>.
- <STRONG>start_color</STRONG> does not attempt to set the terminal's
- color palette to match its built-in table. An appli-
- cation may use <STRONG>init_color</STRONG> to alter the internal table
+ <STRONG>start_color</STRONG> does not attempt to set the terminal's
+ color palette to match its built-in table. An appli-
+ cation may use <STRONG>init_color</STRONG> to alter the internal table
along with the terminal's color.
- These limits apply to color values and color pairs. Val-
- ues outside these limits are not legal, and may result in
+ These limits apply to color values and color pairs. Val-
+ ues outside these limits are not legal, and may result in
a runtime error:
<STRONG>o</STRONG> <STRONG>COLORS</STRONG> corresponds to the terminal database's <STRONG>max_col-</STRONG>
<STRONG>o</STRONG> color values are expected to be in the range <STRONG>0</STRONG> to <STRONG>COL-</STRONG>
<STRONG>ORS-1</STRONG>, inclusive (including <STRONG>0</STRONG> and <STRONG>COLORS-1</STRONG>).
- <STRONG>o</STRONG> a special color value <STRONG>-1</STRONG> is used in certain extended
- functions to denote the <EM>default</EM> <EM>color</EM> (see <STRONG>use_de-</STRONG>
+ <STRONG>o</STRONG> a special color value <STRONG>-1</STRONG> is used in certain extended
+ functions to denote the <EM>default</EM> <EM>color</EM> (see <STRONG>use_de-</STRONG>
<STRONG>fault_colors</STRONG>).
- <STRONG>o</STRONG> <STRONG>COLOR_PAIRS</STRONG> corresponds to the terminal database's
- <STRONG>max_pairs</STRONG> capability, which is typically a signed
+ <STRONG>o</STRONG> <STRONG>COLOR_PAIRS</STRONG> corresponds to the terminal database's
+ <STRONG>max_pairs</STRONG> capability, which is typically a signed
16-bit integer (see <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>).
- <STRONG>o</STRONG> legal color pair values are in the range <STRONG>1</STRONG> to <STRONG>COL-</STRONG>
+ <STRONG>o</STRONG> legal color pair values are in the range <STRONG>1</STRONG> to <STRONG>COL-</STRONG>
<STRONG>OR_PAIRS-1</STRONG>, inclusive.
<STRONG>o</STRONG> color pair <STRONG>0</STRONG> is special; it denotes "no color".
- Color pair <STRONG>0</STRONG> is assumed to be white on black, but is
+ Color pair <STRONG>0</STRONG> is assumed to be white on black, but is
actually whatever the terminal implements before color
is initialized. It cannot be modified by the applica-
tion.
- The <STRONG>init_pair</STRONG> routine changes the definition of a color-
- pair. It takes three arguments: the number of the color-
- pair to be changed, the foreground color number, and the
+ The <STRONG>init_pair</STRONG> routine changes the definition of a color-
+ pair. It takes three arguments: the number of the color-
+ pair to be changed, the foreground color number, and the
background color number. For portable applications:
- <STRONG>o</STRONG> The first argument must be a legal color pair value.
- If default colors are used (see <STRONG>use_default_colors</STRONG>)
- the upper limit is adjusted to allow for extra pairs
- which use a default color in foreground and/or back-
+ <STRONG>o</STRONG> The first argument must be a legal color pair value.
+ If default colors are used (see <STRONG>use_default_colors</STRONG>)
+ the upper limit is adjusted to allow for extra pairs
+ which use a default color in foreground and/or back-
ground.
- <STRONG>o</STRONG> The second and third arguments must be legal color
+ <STRONG>o</STRONG> The second and third arguments must be legal color
values.
- If the color-pair was previously initialized, the screen
- is refreshed and all occurrences of that color-pair are
+ If the color-pair was previously initialized, the screen
+ is refreshed and all occurrences of that color-pair are
changed to the new definition.
- As an extension, ncurses allows you to set color pair <STRONG>0</STRONG>
- via the <STRONG>assume_default_colors</STRONG> routine, or to specify the
- use of default colors (color number <STRONG>-1</STRONG>) if you first in-
+ As an extension, ncurses allows you to set color pair <STRONG>0</STRONG>
+ via the <STRONG>assume_default_colors</STRONG> routine, or to specify the
+ use of default colors (color number <STRONG>-1</STRONG>) if you first in-
voke the <STRONG>use_default_colors</STRONG> routine.
- The <STRONG>init_color</STRONG> routine changes the definition of a color.
- It takes four arguments: the number of the color to be
- changed followed by three RGB values (for the amounts of
+ The <STRONG>init_color</STRONG> routine changes the definition of a color.
+ It takes four arguments: the number of the color to be
+ changed followed by three RGB values (for the amounts of
red, green, and blue components). The first argument must
- be a legal color value; default colors are not allowed
- here. (See the section <STRONG>Colors</STRONG> for the default color in-
+ be a legal color value; default colors are not allowed
+ here. (See the section <STRONG>Colors</STRONG> for the default color in-
dex.) Each of the last three arguments must be a value in
- the range <STRONG>0</STRONG> through <STRONG>1000</STRONG>. When <STRONG>init_color</STRONG> is used, all
+ the range <STRONG>0</STRONG> through <STRONG>1000</STRONG>. When <STRONG>init_color</STRONG> is used, all
occurrences of that color on the screen immediately change
to the new definition.
- The <STRONG>has_colors</STRONG> routine requires no arguments. It returns
- <STRONG>TRUE</STRONG> if the terminal can manipulate colors; otherwise, it
+ The <STRONG>has_colors</STRONG> routine requires no arguments. It returns
+ <STRONG>TRUE</STRONG> if the terminal can manipulate colors; otherwise, it
returns <STRONG>FALSE</STRONG>. This routine facilitates writing terminal-
- independent programs. For example, a programmer can use
- it to decide whether to use color or some other video at-
+ independent programs. For example, a programmer can use
+ it to decide whether to use color or some other video at-
tribute.
- The <STRONG>can_change_color</STRONG> routine requires no arguments. It
- returns <STRONG>TRUE</STRONG> if the terminal supports colors and can
- change their definitions; other, it returns <STRONG>FALSE</STRONG>. This
+ The <STRONG>can_change_color</STRONG> routine requires no arguments. It
+ returns <STRONG>TRUE</STRONG> if the terminal supports colors and can
+ change their definitions; other, it returns <STRONG>FALSE</STRONG>. This
routine facilitates writing terminal-independent programs.
- The <STRONG>color_content</STRONG> routine gives programmers a way to find
+ The <STRONG>color_content</STRONG> routine gives programmers a way to find
the intensity of the red, green, and blue (RGB) components
in a color. It requires four arguments: the color number,
- and three addresses of <STRONG>short</STRONG>s for storing the information
- about the amounts of red, green, and blue components in
+ and three addresses of <STRONG>short</STRONG>s for storing the information
+ about the amounts of red, green, and blue components in
the given color. The first argument must be a legal color
- value, i.e., <STRONG>0</STRONG> through <STRONG>COLORS-1</STRONG>, inclusive. The values
- that are stored at the addresses pointed to by the last
- three arguments are in the range <STRONG>0</STRONG> (no component) through
+ value, i.e., <STRONG>0</STRONG> through <STRONG>COLORS-1</STRONG>, inclusive. The values
+ that are stored at the addresses pointed to by the last
+ three arguments are in the range <STRONG>0</STRONG> (no component) through
<STRONG>1000</STRONG> (maximum amount of component), inclusive.
- The <STRONG>pair_content</STRONG> routine allows programmers to find out
- what colors a given color-pair consists of. It requires
- three arguments: the color-pair number, and two addresses
- of <STRONG>short</STRONG>s for storing the foreground and the background
- color numbers. The first argument must be a legal color
- value, i.e., in the range <STRONG>1</STRONG> through <STRONG>COLOR_PAIRS-1</STRONG>, inclu-
+ The <STRONG>pair_content</STRONG> routine allows programmers to find out
+ what colors a given color-pair consists of. It requires
+ three arguments: the color-pair number, and two addresses
+ of <STRONG>short</STRONG>s for storing the foreground and the background
+ color numbers. The first argument must be a legal color
+ value, i.e., in the range <STRONG>1</STRONG> through <STRONG>COLOR_PAIRS-1</STRONG>, inclu-
sive. The values that are stored at the addresses pointed
- to by the second and third arguments are in the range <STRONG>0</STRONG>
+ to by the second and third arguments are in the range <STRONG>0</STRONG>
through <STRONG>COLORS</STRONG>, inclusive.
</PRE>
<H3><a name="h3-Colors">Colors</a></H3><PRE>
In <STRONG><curses.h></STRONG> the following macros are defined. These are
- the default colors. <STRONG>curses</STRONG> also assumes that <STRONG>COLOR_BLACK</STRONG>
+ the default colors. <STRONG>curses</STRONG> also assumes that <STRONG>COLOR_BLACK</STRONG>
is the default background color for all terminals.
<STRONG>COLOR_BLACK</STRONG>
</PRE>
<H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
- The routines <STRONG>can_change_color()</STRONG> and <STRONG>has_colors()</STRONG> return
+ The routines <STRONG>can_change_color()</STRONG> and <STRONG>has_colors()</STRONG> return
<STRONG>TRUE</STRONG> or <STRONG>FALSE</STRONG>.
All other routines return the integer <STRONG>ERR</STRONG> upon failure and
- an <STRONG>OK</STRONG> (SVr4 specifies only "an integer value other than
+ an <STRONG>OK</STRONG> (SVr4 specifies only "an integer value other than
<STRONG>ERR</STRONG>") upon successful completion.
- X/Open defines no error conditions. This implementation
- will return <STRONG>ERR</STRONG> on attempts to use color values outside
+ X/Open defines no error conditions. This implementation
+ will return <STRONG>ERR</STRONG> on attempts to use color values outside
the range <STRONG>0</STRONG> to COLORS-1 (except for the default colors ex-
- tension), or use color pairs outside the range <STRONG>0</STRONG> to <STRONG>COL-</STRONG>
- <STRONG>OR_PAIRS-1</STRONG>. Color values used in <STRONG>init_color</STRONG> must be in
- the range <STRONG>0</STRONG> to <STRONG>1000</STRONG>. An error is returned from all func-
- tions if the terminal has not been initialized. An error
- is returned from secondary functions such as <STRONG>init_pair</STRONG> if
+ tension), or use color pairs outside the range <STRONG>0</STRONG> to <STRONG>COL-</STRONG>
+ <STRONG>OR_PAIRS-1</STRONG>. Color values used in <STRONG>init_color</STRONG> must be in
+ the range <STRONG>0</STRONG> to <STRONG>1000</STRONG>. An error is returned from all func-
+ tions if the terminal has not been initialized. An error
+ is returned from secondary functions such as <STRONG>init_pair</STRONG> if
<STRONG>start_color</STRONG> was not called.
<STRONG>init_color</STRONG>
- returns an error if the terminal does not support
- this feature, e.g., if the <EM>initialize</EM><STRONG>_</STRONG><EM>color</EM> capa-
+ returns an error if the terminal does not support
+ this feature, e.g., if the <EM>initialize</EM><STRONG>_</STRONG><EM>color</EM> capa-
bility is absent from the terminal description.
<STRONG>start_color</STRONG>
- returns an error if the color table cannot be al-
+ returns an error if the color table cannot be al-
located.
</PRE>
<H2><a name="h2-NOTES">NOTES</a></H2><PRE>
- In the <EM>ncurses</EM> implementation, there is a separate color
+ In the <EM>ncurses</EM> implementation, there is a separate color
activation flag, color palette, color pairs table, and as-
- sociated COLORS and COLOR_PAIRS counts for each screen;
- the <STRONG>start_color</STRONG> function only affects the current screen.
+ sociated COLORS and COLOR_PAIRS counts for each screen;
+ the <STRONG>start_color</STRONG> function only affects the current screen.
The SVr4/XSI interface is not really designed with this in
- mind, and historical implementations may use a single
+ mind, and historical implementations may use a single
shared color palette.
Note that setting an implicit background color via a color
- pair affects only character cells that a character write
- operation explicitly touches. To change the background
- color used when parts of a window are blanked by erasing
+ pair affects only character cells that a character write
+ operation explicitly touches. To change the background
+ color used when parts of a window are blanked by erasing
or scrolling operations, see <STRONG><A HREF="curs_bkgd.3x.html">curs_bkgd(3x)</A></STRONG>.
- Several caveats apply on 386 and 486 machines with VGA-
+ Several caveats apply on 386 and 486 machines with VGA-
compatible graphics:
- <STRONG>o</STRONG> COLOR_YELLOW is actually brown. To get yellow, use
+ <STRONG>o</STRONG> COLOR_YELLOW is actually brown. To get yellow, use
COLOR_YELLOW combined with the <STRONG>A_BOLD</STRONG> attribute.
<STRONG>o</STRONG> The A_BLINK attribute should in theory cause the back-
- ground to go bright. This often fails to work, and
+ ground to go bright. This often fails to work, and
even some cards for which it mostly works (such as the
- Paradise and compatibles) do the wrong thing when you
- try to set a bright "yellow" background (you get a
+ Paradise and compatibles) do the wrong thing when you
+ try to set a bright "yellow" background (you get a
blinking yellow foreground instead).
<STRONG>o</STRONG> Color RGB values are not settable.
</PRE>
<H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
- This implementation satisfies XSI Curses's minimum maxi-
+ This implementation satisfies XSI Curses's minimum maxi-
mums for <STRONG>COLORS</STRONG> and <STRONG>COLOR_PAIRS</STRONG>.
- The <STRONG>init_pair</STRONG> routine accepts negative values of fore-
- ground and background color to support the <STRONG>use_de-</STRONG>
- <STRONG>fault_colors</STRONG> extension, but only if that routine has been
+ The <STRONG>init_pair</STRONG> routine accepts negative values of fore-
+ ground and background color to support the <STRONG>use_de-</STRONG>
+ <STRONG>fault_colors</STRONG> extension, but only if that routine has been
first invoked.
- The assumption that <STRONG>COLOR_BLACK</STRONG> is the default background
- color for all terminals can be modified using the <STRONG>as-</STRONG>
+ The assumption that <STRONG>COLOR_BLACK</STRONG> is the default background
+ color for all terminals can be modified using the <STRONG>as-</STRONG>
<STRONG>sume_default_colors</STRONG> extension.
- This implementation checks the pointers, e.g., for the
- values returned by <STRONG>color_content</STRONG> and <STRONG>pair_content</STRONG>, and
+ This implementation checks the pointers, e.g., for the
+ values returned by <STRONG>color_content</STRONG> and <STRONG>pair_content</STRONG>, and
will treat those as optional parameters when null.
<li><a href="#h2-DESCRIPTION">DESCRIPTION</a>
<ul>
<li><a href="#h3-Overview">Overview</a></li>
+<li><a href="#h3-Color-Rendering">Color Rendering</a></li>
<li><a href="#h3-Routine-Descriptions">Routine Descriptions</a></li>
<li><a href="#h3-Colors">Colors</a></li>
</ul>
<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 5.9 (patch 20150516).
+ This describes <STRONG>ncurses</STRONG> version 5.9 (patch 20150523).
<!--
* 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: infocmp.1m,v 1.54 2014/03/29 23:18:29 tom Exp @
+ * @Id: infocmp.1m,v 1.56 2015/05/23 20:50:00 tom Exp @
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
rather than their decimal equivalents.
<STRONG>-i</STRONG> Analyze the initialization (<STRONG>is1</STRONG>, <STRONG>is2</STRONG>, <STRONG>is3</STRONG>), and reset
- (<STRONG>rs1</STRONG>, <STRONG>rs2</STRONG>, <STRONG>rs3</STRONG>), strings in the entry. For each
- string, the code tries to analyze it into actions in
- terms of the other capabilities in the entry, certain
- X3.64/ISO 6429/ECMA-48 capabilities, and certain DEC
- VT-series private modes (the set of recognized spe-
- cial sequences has been selected for completeness
- over the existing terminfo database). Each report
- line consists of the capability name, followed by a
- colon and space, followed by a printable expansion of
- the capability string with sections matching recog-
- nized actions translated into {}-bracketed descrip-
- tions. Here is a list of the DEC/ANSI special
- sequences recognized: i.
+ (<STRONG>rs1</STRONG>, <STRONG>rs2</STRONG>, <STRONG>rs3</STRONG>), strings in the entry, as well as
+ those used for starting/stopping cursor-positioning
+ mode (<STRONG>smcup</STRONG>, <STRONG>rmcup</STRONG>) as well as starting/stopping
+ keymap mode (<STRONG>smkx</STRONG>, <STRONG>rmkx</STRONG>).
+
+ For each string, the code tries to analyze it into
+ actions in terms of the other capabilities in the
+ entry, certain X3.64/ISO 6429/ECMA-48 capabilities,
+ and certain DEC VT-series private modes (the set of
+ recognized special sequences has been selected for
+ completeness over the existing terminfo database).
+ Each report line consists of the capability name,
+ followed by a colon and space, followed by a print-
+ able expansion of the capability string with sections
+ matching recognized actions translated into {}-brack-
+ eted descriptions.
+
+ Here is a list of the DEC/ANSI special sequences rec-
+ ognized:
Action Meaning
-----------------------------------------
RIS full reset
-
SC save cursor
RC restore cursor
LL home-down
on SVr1, Ultrix, or HP/UX that do not support the
full set of SVR4/XSI Curses terminfo; and variants
such as AIX that have their own extensions incompati-
- ble with SVr4/XSI. Available terminfo subsets are
- "SVr1", "Ultrix", "HP", and "AIX"; see <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>
- for details. You can also choose the subset "BSD"
- which selects only capabilities with termcap equiva-
- lents recognized by 4.4BSD.
+ ble with SVr4/XSI.
+
+ Available terminfo subsets are "SVr1", "Ultrix",
+ "HP", and "AIX"; see <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG> for details. You
+ can also choose the subset "BSD" which selects only
+ capabilities with termcap equivalents recognized by
+ 4.4BSD.
<STRONG>-s</STRONG> <EM>[d|i|l|c]</EM>
The <STRONG>-s</STRONG> option sorts the fields within each type
http://invisible-island.net/ncurses/tctest.html
- This describes <STRONG>ncurses</STRONG> version 5.9 (patch 20150516).
+ This describes <STRONG>ncurses</STRONG> version 5.9 (patch 20150523).
</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 5.9 (patch 20150516).
+ This describes <STRONG>ncurses</STRONG> version 5.9 (patch 20150523).
</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 5.9 (patch 20150516).
+ This describes <STRONG>ncurses</STRONG> version 5.9 (patch 20150523).
sonable optimization. This implementation is "new curses"
(ncurses) and is the approved replacement for 4.4BSD clas-
sic curses, which has been discontinued. This describes
- <STRONG>ncurses</STRONG> version 5.9 (patch 20150516).
+ <STRONG>ncurses</STRONG> version 5.9 (patch 20150523).
The <STRONG>ncurses</STRONG> library emulates the curses library of System
V Release 4 UNIX, and XPG4 (X/Open Portability Guide)
<H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
<STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>
- This describes <STRONG>ncurses</STRONG> version 5.9 (patch 20150516).
+ This describes <STRONG>ncurses</STRONG> version 5.9 (patch 20150523).
<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 5.9 (patch 20150516).
+ This describes <STRONG>ncurses</STRONG> version 5.9 (patch 20150523).
</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 5.9 (patch 20150516).
+ This describes <STRONG>ncurses</STRONG> version 5.9 (patch 20150523).
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 5.9 (patch 20150516).
+ This describes <STRONG>ncurses</STRONG> version 5.9 (patch 20150523).
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 5.9 (patch 20150516).
+ This describes <STRONG>ncurses</STRONG> version 5.9 (patch 20150523).
</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 5.9 (patch 20150516).
+ This describes <STRONG>ncurses</STRONG> version 5.9 (patch 20150523).
<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 5.9 (patch 20150516).
+ This describes <STRONG>ncurses</STRONG> version 5.9 (patch 20150523).
<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 5.9 (patch 20150516).
+ This describes <STRONG>ncurses</STRONG> version 5.9 (patch 20150523).
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: curs_color.3x,v 1.37 2015/04/04 19:42:47 tom Exp $
+.\" $Id: curs_color.3x,v 1.38 2015/05/23 21:36:35 tom Exp $
.TH curs_color 3X ""
.ie \n(.g .ds `` \(lq
.el .ds `` ``
.br
.SH DESCRIPTION
.SS Overview
-\fBcurses\fR support color attributes on terminals with that capability.
+\fBcurses\fR supports color attributes on terminals with that capability.
To use these routines \fBstart_color\fR must be called, usually right after
\fBinitscr\fR.
Colors are always used in pairs (referred to as color-pairs).
initialized color.
The routine \fBpair_content\fR allows a programmer to find
out how a given color-pair is currently defined.
+.SS Color Rendering
+The \fBcurses\fP library combines these inputs to produce the
+actual foreground and background colors shown on the screen:
+.bP
+per-character video attributes (e.g., via \fBwaddch\fP),
+.bP
+the window attribute (e.g., by \fBwattrset\fP), and
+.bP
+the background character (e.g., \fBwbkgdset\fP).
+.PP
+Per-character and window attributes are usually set by a parameter containing
+video attributes including a \fBCOLOR_PAIR\fP value.
+Some functions such as \fBwattr_set\fP use a separate parameter which
+is the color pair number.
+.PP
+The background character is a special case: it includes a character value,
+just as if it were passed to \fBwaddch\fP.
+.PP
+The \fBcurses\fP library does the actual work of combining these color
+pairs in an internal function called from \fBwaddch\fP:
+.bP
+If the parameter passed to \fBwaddch\fP is \fIblank\fP,
+and it uses the special color pair 0,
+.RS
+.bP
+\fBcurses\fP next checks the window attribute.
+.bP
+If the window attribute does not use color pair 0,
+\fBcurses\fP uses the color pair from the window attribute.
+.bP
+Otherwise, \fBcurses\fP uses the background character.
+.RE
+.bP
+If the parameter passed to \fBwaddch\fP is \fInot blank\fP,
+or it does not use the special color pair 0,
+\fBcurses\fP prefers the color pair from the parameter,
+if it is nonzero.
+Otherwise, it tries the window attribute next, and finally the
+background character.
+.PP
+Some \fBcurses\fP functions such as \fBwprintw\fP call \fBwaddch\fP.
+Those do not combine its parameter with a color pair.
+Consequently those calls use only the window attribute or
+the background character.
.SS Routine Descriptions
The \fBstart_color\fR routine requires no arguments.
It must be called if the programmer wants to use colors, and before any other
'\" 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: infocmp.1m,v 1.54 2014/03/29 23:18:29 tom Exp $
+.\" $Id: infocmp.1m,v 1.56 2015/05/23 20:50:00 tom Exp $
.TH @INFOCMP@ 1M ""
.ds n 5
.de bP
.TP 5
\fB\-i\fR
Analyze the initialization (\fBis1\fR, \fBis2\fR, \fBis3\fR), and reset
-(\fBrs1\fR, \fBrs2\fR, \fBrs3\fR), strings in the entry.
+(\fBrs1\fR, \fBrs2\fR, \fBrs3\fR), strings in the entry,
+as well as those used for starting/stopping cursor-positioning mode
+(\fBsmcup\fP, \fBrmcup\fP) as well as starting/stopping keymap mode
+(\fBsmkx\fP, \fBrmkx\fP).
+.IP
For each string, the
code tries to analyze it into actions in terms of the other capabilities in the
entry, certain X3.64/ISO 6429/ECMA\-48 capabilities, and certain DEC VT-series
of the capability name, followed by a colon and space, followed by a printable
expansion of the capability string with sections matching recognized actions
translated into {}-bracketed descriptions.
+.IP
Here is a list of the DEC/ANSI
special sequences recognized:
-i.
.TS
center tab(/) ;
l l
versions of terminfo like those on SVr1, Ultrix, or HP/UX that do not support
the full set of SVR4/XSI Curses terminfo; and variants such as AIX
that have their own extensions incompatible with SVr4/XSI.
+.IP
Available terminfo
subsets are "SVr1", "Ultrix", "HP", and "AIX"; see \fBterminfo\fR(\*n) for
details.
# Report bugs and new terminal descriptions to
# bug-ncurses@gnu.org
#
-# $Revision: 1.536 $
-# $Date: 2015/05/02 22:39:46 $
+# $Revision: 1.542 $
+# $Date: 2015/05/23 18:50:12 $
#
# 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
ind=^J, indn=\E[%p1%dS,
initc=\E]P%p1%x%p2%{255}%*%{1000}%/%02x%p3%{255}%*%{1000}%/%02x%p4%{255}%*%{1000}%/%02x,
is2=\E7\E[r\E[m\E[?7h\E[?1;4;6l\E[4l\E8\E>\E]R,
- kb2=\E[G, kbs=\177, kcbt=\E[Z, kcub1=\E[D, kcud1=\E[B,
- kcuf1=\E[C, kcuu1=\E[A, kdch1=\E[3~, kend=\E[4~,
- kf1=\E[11~, kf10=\E[21~, kf11=\E[23~, kf12=\E[24~,
- kf13=\E[25~, kf14=\E[26~, kf15=\E[28~, kf16=\E[29~,
- kf17=\E[31~, kf18=\E[32~, kf19=\E[33~, kf2=\E[12~,
- kf20=\E[34~, kf3=\E[13~, kf4=\E[14~, kf5=\E[15~,
- kf6=\E[17~, kf7=\E[18~, kf8=\E[19~, kf9=\E[20~,
- khome=\E[1~, kich1=\E[2~, kmous=\E[M, knp=\E[6~, kpp=\E[5~,
+ kLFT=\EOD, kRIT=\EOC, kb2=\E[G, kbs=\177, kcbt=\E[Z,
+ kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A,
+ kdch1=\E[3~, kend=\E[4~, khome=\E[1~, kich1=\E[2~,
+ kind=\EOB, kmous=\E[M, knp=\E[6~, kpp=\E[5~, kri=\EOA,
kspd=^Z, nel=^M^J, oc=\E]R, op=\E[39;49m, rc=\E8, rev=\E[7m,
ri=\EM, rin=\E[%p1%dT, rmacs=^O, rmam=\E[?7l,
rmcup=\E[2J\E[?47l, rmir=\E[4l, rmpch=\E[10m,
sgr=\E[0%?%p1%p6%|%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;%?%p4%t;5%;m%?%p9%t\016%e\017%;,
sgr0=\E[m\017, smacs=^N, smam=\E[?7h, smcup=\E[?47h,
smir=\E[4h, smpch=\E[11m, smso=\E[7m, smul=\E[4m,
- tbc=\E[3g, vpa=\E[%i%p1%dd, E3=\E[3J, use=vt102+enq,
- use=xterm+sl,
+ tbc=\E[3g, vpa=\E[%i%p1%dd, E3=\E[3J, use=putty+fnkeys,
+ use=vt102+enq, use=xterm+sl,
vt100-putty|Reset PuTTY to pure vt100,
rs2=\E<\E["p\Ec\E[?3l\E]R\E[40"p\E[61"p\E[50;1;2"p,
use=vt100,
# One of the keyboard selections is "VT100+".
# pterm (the X11 port) uses shifted F1-F10 as F11-F20
putty-vt100|VT100+ keyboard layout,
+ use=putty+fnkeys+vt100, use=putty,
+
+putty-sco|putty with SCO function keys,
+ use=putty+fnkeys+sco, use=putty,
+
+# PuTTY has more than one section in its Keyboard configuration:
+# a) backspace/delete, which we ignore since that choice largely depends on
+# whether one matches Unix and BSD or Linux.
+# b) home/end keys, also ignored because the "rxvt" setting sends keys which
+# are unrelated to rxvt's actual settings.
+# c) function keys and keypad - this is the interesting part. None of the
+# selections match any of their respective namesakes, but they are shown
+# here to help users who expect that the selections do what is implied.
+#
+# This is the default setting for PuTTY
+putty+fnkeys|fn-keys for PuTTY,
+ use=putty+fnkeys+esc,
+
+putty+fnkeys+esc|ESC[n~ fn-keys for PuTTY,
+ kf1=\E[11~, kf10=\E[21~, kf11=\E[23~, kf12=\E[24~,
+ kf13=\E[25~, kf14=\E[26~, kf15=\E[28~, kf16=\E[29~,
+ kf17=\E[31~, kf18=\E[32~, kf19=\E[33~, kf2=\E[12~,
+ kf20=\E[34~, kf3=\E[13~, kf4=\E[14~, kf5=\E[15~,
+ kf6=\E[17~, kf7=\E[18~, kf8=\E[19~, kf9=\E[20~,
+
+putty+fnkeys+linux|Linux fn-keys for PuTTY,
+ kf1=\E[[A, kf2=\E[[B, kf3=\E[[C, kf4=\E[[D, kf5=\E[[E,
+ use=putty+fnkeys+esc,
+
+putty+fnkeys+xterm|Xterm R6 fn-keys for PuTTY,
+ kf1=\EOP, kf2=\EOQ, kf3=\EOR, kf4=\EOS,
+ use=putty+fnkeys+esc,
+
+putty+fnkeys+vt400|VT400 fn-keys for PuTTY,
+ use=putty+fnkeys+esc,
+
+# Shifted F1 is F11. F13-F20 inherit from the defaults, and the last distinct
+# key is F20.
+putty+fnkeys+vt100|VT100+ fn-keys for PuTTY,
kf1=\EOP, kf10=\EOY, kf11=\EOZ, kf12=\EO[, kf2=\EOQ,
kf3=\EOR, kf4=\EOS, kf5=\EOT, kf6=\EOU, kf7=\EOV, kf8=\EOW,
- kf9=\EOX, use=putty,
+ kf9=\EOX, use=putty+fnkeys+esc,
# Unlike xterm-sco, this leaves kmous ambiguous with kf1.
#
# F25-F36 - control/alt
# F37-F48 - control/shift
#
-putty-sco|putty with SCO function keys,
+putty+fnkeys+sco|SCO fn-keys for PuTTY,
kbeg=\E[E, kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A,
kdch1=\177, kend=\E[F, kf1=\E[M, kf10=\E[V, kf11=\E[W,
kf12=\E[X, kf13=\E[Y, kf14=\E[Z, kf15=\E[a, kf16=\E[b,
kf4=\E[P, kf40=\E[z, kf41=\E[@, kf42=\E[[, kf43=\E[\\,
kf44=\E[], kf45=\E[\^, kf46=\E[_, kf47=\E[`, kf48=\E[{,
kf5=\E[Q, kf6=\E[R, kf7=\E[S, kf8=\E[T, kf9=\E[U, khome=\E[H,
- kich1=\E[L, knp=\E[G, kpp=\E[I, use=putty,
+ kich1=\E[L, knp=\E[G, kpp=\E[I,
# This entry is for Tera Term Pro version 2.3, for MS-Windows 95/NT written by
# T. Teranishi dated Mar 10, 1998. It is a free software terminal emulator
# This variant is supposed to work with rxvt 2.7.7 when compiled with
# NO_BRIGHTCOLOR defined. rxvt needs more work...
-rxvt-16color|xterm with 16 colors like aixterm,
+rxvt-16color|rxvt with 16 colors like aixterm,
ncv#32, use=ibm+16color, use=rxvt,
#### MRXVT
screen-16color-bce|GNU Screen with 16 colors and BCE,
use=ibm+16color, use=screen-bce,
-screen-16color-bce-s|GNU Screen with 16 colors, BCE, and status line,
+screen-16color-bce-s|GNU Screen with 16 colors using BCE and status line,
bce, use=ibm+16color, use=screen-s,
# ======================================================================
screen-256color-bce|GNU Screen with 256 colors and BCE,
bce, use=xterm+256setaf, use=screen-bce,
-screen-256color-bce-s|GNU Screen with 256 colors, BCE, and status line,
+screen-256color-bce-s|GNU Screen with 256 colors using BCE and status line,
bce, use=xterm+256setaf, use=screen-s,
+screen.xterm-256color|GNU Screen with xterm using 256 colors,
+ use=xterm+256setaf, use=screen.xterm,
+
+screen.konsole-256color|GNU Screen with konsole using 256 colors,
+ use=xterm+256setaf, use=screen.konsole,
+
+screen.vte-256color|GNU Screen with vte using 256 colors,
+ use=xterm+256setaf, use=screen.vte,
+
+screen.putty-256color|GNU Screen with putty using 256 colors,
+ use=xterm+256setaf, use=screen.putty,
+
+screen.mlterm-256color|GNU Screen with mlterm using 256 colors,
+ use=xterm+256setaf, use=screen.mlterm,
+
# ======================================================================
# Read the fine manpage:
invis@, kIC@, kNXT@, kPRV@, meml@, memu@,
sgr=%?%p9%t\E(0%e\E(B%;\E[0%?%p6%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;%?%p4%t;5%;%?%p5%t;2%;m,
E3@, use=screen+italics, use=screen+fkeys, use=xterm-new,
+screen.xterm|screen for modern xterm,
+ use=screen.xterm-new,
# xterm-r6 does not really support khome/kend unless it is propped up by
# the translations resource.
screen.xterm-r6|screen customized for X11R6 xterm,
kbs=\177, kcbt@, use=screen+fkeys, use=screen,
screen.mlterm|screen in mlterm,
use=screen+fkeys, use=mlterm,
+screen.putty|screen in putty,
+ use=screen+fkeys, use=putty,
# The default "screen" entry is reasonably portable, but not optimal for the
# most widely-used terminal emulators. The "bce" capability is supported in
screen-bce.linux|screen optimized for linux console,
bce,
ech@, use=screen.linux,
-screen-bce.mlterm|screen optimized for mlterm,
- bce,
- ech@, use=screen.mlterm,
screen-w|VT 100/ANSI X3.64 virtual terminal with 132 cols,
cols#132, use=screen,
# + add xon, ich1, il1 to ibm3161 (patch by Stephen Powell,
# Debian #783806)
#
+# 2015-05-17
+# + remove screen-bce.mlterm, since mlterm does not do "bce" -TD
+# + add several screen.XXX entries to support the respective variations
+# for 256 colors -TD
+#
+# 2015-05-23
+# + add putty+fnkeys* building-block entries -TD
+#
######## SHANTIH! SHANTIH! SHANTIH!
/****************************************************************************
- * 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 *
#include <locale.h>
#endif
-MODULE_ID("$Id: lib_setup.c,v 1.161 2014/11/01 12:33:16 tom Exp $")
+MODULE_ID("$Id: lib_setup.c,v 1.162 2015/05/17 17:15:03 tom Exp $")
/****************************************************************************
*
int value;
int result = 0;
+ T((T_CALLED("_nc_locale_breaks_acs:%d"), result));
if (getenv(env_name) != 0) {
result = _nc_getenv_num(env_name);
} else if ((value = tigetnum("U8")) >= 0) {
}
}
}
- return result;
+ returnCode(result);
}
NCURSES_EXPORT(int)
-ncurses6 (5.9+20150516) unstable; urgency=low
+ncurses6 (5.9+20150523) unstable; urgency=low
* latest weekly patch
- -- Thomas E. Dickey <dickey@invisible-island.net> Wed, 13 May 2015 15:01:14 -0400
+ -- Thomas E. Dickey <dickey@invisible-island.net> Sun, 17 May 2015 12:37:10 -0400
ncurses6 (5.9-20131005) unstable; urgency=low
-ncurses6 (5.9+20150516) unstable; urgency=low
+ncurses6 (5.9+20150523) unstable; urgency=low
* latest weekly patch
- -- Thomas E. Dickey <dickey@invisible-island.net> Wed, 13 May 2015 15:01:14 -0400
+ -- Thomas E. Dickey <dickey@invisible-island.net> Sun, 17 May 2015 12:37:10 -0400
ncurses6 (5.9-20131005) unstable; urgency=low
-ncurses6 (5.9+20150516) unstable; urgency=low
+ncurses6 (5.9+20150523) unstable; urgency=low
* latest weekly patch
- -- Thomas E. Dickey <dickey@invisible-island.net> Wed, 13 May 2015 15:01:14 -0400
+ -- Thomas E. Dickey <dickey@invisible-island.net> Sun, 17 May 2015 12:37:10 -0400
ncurses6 (5.9-20120608) unstable; urgency=low
-; $Id: mingw-ncurses.nsi,v 1.104 2015/05/13 19:01:14 tom Exp $\r
+; $Id: mingw-ncurses.nsi,v 1.105 2015/05/17 16:37:10 tom Exp $\r
\r
; TODO add examples\r
; TODO bump ABI to 6\r
!define VERSION_MAJOR "5"\r
!define VERSION_MINOR "9"\r
!define VERSION_YYYY "2015"\r
-!define VERSION_MMDD "0516"\r
+!define VERSION_MMDD "0523"\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: 5.9
-Release: 20150516
+Release: 20150523
License: X11
Group: Development/Libraries
Source: ncurses-%{version}-%{release}.tgz
Summary: shared libraries for terminal handling
Name: ncurses6
Version: 5.9
-Release: 20150516
+Release: 20150523
License: X11
Group: Development/Libraries
Source: ncurses-%{version}-%{release}.tgz
#include <dump_entry.h>
-MODULE_ID("$Id: infocmp.c,v 1.131 2015/04/04 16:22:19 tom Exp $")
+MODULE_ID("$Id: infocmp.c,v 1.132 2015/05/22 22:41:28 tom Exp $")
#define L_CURL "{"
#define R_CURL "}"
analyze_string("rs3", reset_3string, &entries[0].tterm);
analyze_string("smcup", enter_ca_mode, &entries[0].tterm);
analyze_string("rmcup", exit_ca_mode, &entries[0].tterm);
+ analyze_string("smkx", keypad_xmit, &entries[0].tterm);
+ analyze_string("rmkx", keypad_local, &entries[0].tterm);
#undef CUR
} else {
/****************************************************************************
- * Copyright (c) 1998-2012,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 *
* Author: Thomas E. Dickey 1997-on *
****************************************************************************/
/*
- * $Id: progs.priv.h,v 1.40 2014/05/21 17:00:19 tom Exp $
+ * $Id: progs.priv.h,v 1.41 2015/05/23 23:53:55 tom Exp $
*
* progs.priv.h
*
#endif
#endif
+#if defined(__GNUC__) && defined(_FORTIFY_SOURCE)
+#define IGNORE_RC(func) errno = (int) func
+#else
+#define IGNORE_RC(func) (void) func
+#endif /* gcc workarounds */
+
/* usually in <unistd.h> */
#ifndef STDOUT_FILENO
#define STDOUT_FILENO 1
/****************************************************************************
- * 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 *
#endif
#include <transform.h>
-MODULE_ID("$Id: tput.c,v 1.50 2014/05/21 16:57:16 tom Exp $")
+MODULE_ID("$Id: tput.c,v 1.51 2015/05/23 23:42:55 tom Exp $")
#define PUTS(s) fputs(s, stdout)
#define PUTCHAR(c) putchar(c)
check_aliases(name);
if (is_reset || is_init) {
if (init_prog != 0) {
- system(init_prog);
+ IGNORE_RC(system(init_prog));
}
FLUSH;
/****************************************************************************
- * 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 *
Author: Eric S. Raymond <esr@snark.thyrsus.com> 1993
Thomas E. Dickey (beginning revision 1.27 in 1996).
-$Id: ncurses.c,v 1.417 2014/10/10 09:09:41 tom Exp $
+$Id: ncurses.c,v 1.420 2015/05/23 23:41:25 tom Exp $
***************************************************************************/
}
static void
-fill_pad(WINDOW *panpad, bool pan_lines)
+fill_pad(WINDOW *panpad, bool pan_lines, bool colored)
{
int y, x;
unsigned gridcount = 0;
+ chtype fill = 0;
+#ifdef A_COLOR
+ if (colored)
+ fill = (chtype) COLOR_PAIR(1);
+#endif
wmove(panpad, 0, 0);
for (y = 0; y < getmaxy(panpad); y++) {
waddch(panpad, pan_lines ? ACS_LTEE : '+');
else
waddch(panpad, (chtype) ((pan_lines ? 'a' : 'A') +
- (int) (gridcount++ % 26)));
+ (int) (gridcount++ % 26)) | fill);
} else if (y % GRIDSIZE == 0)
waddch(panpad, pan_lines ? ACS_HLINE : '-');
else if (x % GRIDSIZE == 0)
static void
panner(WINDOW *pad,
int top_x, int top_y, int porty, int portx,
- int (*pgetc) (WINDOW *))
+ int (*pgetc) (WINDOW *),
+ bool colored)
{
#if HAVE_GETTIMEOFDAY
struct timeval before, after;
break;
case 'a':
pan_lines = !pan_lines;
- fill_pad(pad, pan_lines);
+ fill_pad(pad, pan_lines, colored);
pending_pan = FALSE;
break;
#define PAD_WIDE 200
static void
-demo_pad(void)
+demo_pad(bool colored)
/* Demonstrate pads. */
{
WINDOW *panpad = newpad(PAD_HIGH, PAD_WIDE);
return;
}
- fill_pad(panpad, FALSE);
+#ifdef A_COLOR
+ if (colored && use_colors) {
+ init_pair(1, COLOR_BLACK, COLOR_GREEN);
+ init_pair(2, COLOR_CYAN, COLOR_BLUE);
+ wbkgd(panpad, (chtype) (COLOR_PAIR(2) | ' '));
+ }
+#endif
+ fill_pad(panpad, FALSE, colored);
panner_legend(LINES - 4);
panner_legend(LINES - 3);
* We'll still be able to widen it during a test, since that's required
* for testing boundaries.
*/
- panner(panpad, 2, 2, LINES - 5, COLS - 15, padgetch);
+ panner(panpad, 2, 2, LINES - 5, COLS - 15, padgetch, colored);
delwin(panpad);
endwin();
#endif
case 'p':
- demo_pad();
+ demo_pad(FALSE);
+ break;
+
+ case 'P':
+ demo_pad(TRUE);
break;
#if USE_LIBFORM
#endif
#endif
(void) puts("p = exercise pad features");
+ (void) puts("P = exercise pad features, using color");
(void) puts("q = quit");
#if USE_LIBFORM
(void) puts("r = exercise forms code");