+ revise fix for Debian #805618 (report by Vlado Potisk, cf:
20151128).
+ modify test/ncurses.c a/A screens to make exiting on an escape
character depend on the start of keypad and timeout modes, to allow
better testing of function-keys.
+ modify rs1 for xterm-16color, xterm-88color and xterm-256color to
reset palette using "oc" string as in linux -TD
+ use ANSI reply for u8 in xterm-new, to reflect vt220-style responses
that could be returned -TD
+ added a few capabilities fixed in recent vte -TD
31 files changed:
-- sale, use or other dealings in this Software without prior written --
-- authorization. --
-------------------------------------------------------------------------------
-- sale, use or other dealings in this Software without prior written --
-- authorization. --
-------------------------------------------------------------------------------
--- $Id: NEWS,v 1.2614 2016/06/04 23:20:36 tom Exp $
+-- $Id: NEWS,v 1.2618 2016/06/11 21:55:21 tom Exp $
-------------------------------------------------------------------------------
This is a log of changes that ncurses has gone through since Zeyd started
-------------------------------------------------------------------------------
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.
Changes through 1.9.9e did not credit all contributions;
it is not possible to add this information.
+20160611
+ + revise fix for Debian #805618 (report by Vlado Potisk, cf: 20151128).
+ + modify test/ncurses.c a/A screens to make exiting on an escape
+ character depend on the start of keypad and timeout modes, to allow
+ better testing of function-keys.
+ + modify rs1 for xterm-16color, xterm-88color and xterm-256color to
+ reset palette using "oc" string as in linux -TD
+ + use ANSI reply for u8 in xterm-new, to reflect vt220-style responses
+ that could be returned -TD
+ + added a few capabilities fixed in recent vte -TD
+
20160604
+ correct logic for -f option in test/demo_terminfo.c
+ add test/list_keys.c
20160604
+ correct logic for -f option in test/demo_terminfo.c
+ add test/list_keys.c
# use or other dealings in this Software without prior written #
# authorization. #
##############################################################################
# use or other dealings in this Software without prior written #
# authorization. #
##############################################################################
-# $Id: dist.mk,v 1.1109 2016/06/04 11:00:51 tom Exp $
+# $Id: dist.mk,v 1.1110 2016/06/11 12:32:48 tom Exp $
# Makefile for creating ncurses distributions.
#
# This only needs to be used directly as a makefile by developers, but
# 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
# These define the major/minor/patch versions of ncurses.
NCURSES_MAJOR = 6
NCURSES_MINOR = 0
-NCURSES_PATCH = 20160604
+NCURSES_PATCH = 20160611
# We don't append the patch to the version, since this only applies to releases
VERSION = $(NCURSES_MAJOR).$(NCURSES_MINOR)
# We don't append the patch to the version, since this only applies to releases
VERSION = $(NCURSES_MAJOR).$(NCURSES_MINOR)
</PRE><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>
</PRE><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 20160521).
+ This describes <STRONG>ncurses</STRONG> version 6.0 (patch 20160611).
</PRE><H2><a name="h2-AUTHOR">AUTHOR</a></H2><PRE>
</PRE><H2><a name="h2-AUTHOR">AUTHOR</a></H2><PRE>
</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>
</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 20160521).
+ This describes <STRONG>ncurses</STRONG> version 6.0 (patch 20160611).
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_getch.3x,v 1.45 2016/05/15 01:05:18 tom Exp @
+ * @Id: curs_getch.3x,v 1.47 2016/06/11 22:56:33 tom Exp @
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
experience a delay between the time a user presses the es-
cape key and the escape is returned to the program.
experience a delay between the time a user presses the es-
cape key and the escape is returned to the program.
+ In <STRONG>ncurses</STRONG>, the timer normally expires after the value in
+ <STRONG>ESCDELAY</STRONG> (see <STRONG><A HREF="curs_variables.3x.html">curs_variables(3x)</A></STRONG>). If <STRONG>notimeout</STRONG> is <STRONG>TRUE</STRONG>,
+ the timer does not expire; it is an infinite (or very
+ large) value. Because function keys usually begin with an
+ escape character, the terminal may appear to hang in no-
+ timeout mode after pressing the escape key until another
+ key is pressed.
+
</PRE><H3><a name="h3-Ungetting-characters">Ungetting characters</a></H3><PRE>
The <STRONG>ungetch</STRONG> routine places <EM>ch</EM> back onto the input queue to
</PRE><H3><a name="h3-Ungetting-characters">Ungetting characters</a></H3><PRE>
The <STRONG>ungetch</STRONG> routine places <EM>ch</EM> back onto the input queue to
KEY_SR Scroll 1 line backward (reverse)
KEY_NPAGE Next page
KEY_PPAGE Previous page
KEY_SR Scroll 1 line backward (reverse)
KEY_NPAGE Next page
KEY_PPAGE Previous page
KEY_STAB Set tab
KEY_CTAB Clear tab
KEY_CATAB Clear all tabs
KEY_STAB Set tab
KEY_CTAB Clear tab
KEY_CATAB Clear all tabs
KEY_RESET Reset or hard reset
KEY_PRINT Print or copy
KEY_LL Home down or bottom (lower left)
KEY_RESET Reset or hard reset
KEY_PRINT Print or copy
KEY_LL Home down or bottom (lower left)
KEY_A1 Upper left of keypad
KEY_A3 Upper right of keypad
KEY_B2 Center of keypad
KEY_A1 Upper left of keypad
KEY_A3 Upper right of keypad
KEY_B2 Center of keypad
KEY_SREDO Shifted redo key
KEY_SREPLACE Shifted replace key
KEY_SRIGHT Shifted right arrow
KEY_SREDO Shifted redo key
KEY_SREPLACE Shifted replace key
KEY_SRIGHT Shifted right arrow
KEY_SRSUME Shifted resume key
KEY_SSAVE Shifted save key
KEY_SSUSPEND Shifted suspend key
KEY_SRSUME Shifted resume key
KEY_SSAVE Shifted save key
KEY_SSUSPEND Shifted suspend key
</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_inopts.3x.html">curs_inopts(3x)</A></STRONG>, <STRONG><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></STRONG>,
</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_inopts.3x.html">curs_inopts(3x)</A></STRONG>, <STRONG><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></STRONG>,
- <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>.
+ <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><A HREF="curs_variables.3x.html">curs_variables(3x)</A></STRONG>, <STRONG><A HREF="resizeterm.3x.html">resizeterm(3x)</A></STRONG>.
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>.
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>.
<STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG> and related pages whose names begin "form_" for
detailed descriptions of the entry points.
<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 20160521).
+ This describes <STRONG>ncurses</STRONG> version 6.0 (patch 20160611).
http://invisible-island.net/ncurses/tctest.html
http://invisible-island.net/ncurses/tctest.html
- This describes <STRONG>ncurses</STRONG> version 6.0 (patch 20160521).
+ This describes <STRONG>ncurses</STRONG> version 6.0 (patch 20160611).
</PRE><H2><a name="h2-AUTHOR">AUTHOR</a></H2><PRE>
</PRE><H2><a name="h2-AUTHOR">AUTHOR</a></H2><PRE>
</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>
</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 20160521).
+ This describes <STRONG>ncurses</STRONG> version 6.0 (patch 20160611).
</PRE><H2><a name="h2-AUTHOR">AUTHOR</a></H2><PRE>
</PRE><H2><a name="h2-AUTHOR">AUTHOR</a></H2><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.
<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 20160521).
+ This describes <STRONG>ncurses</STRONG> version 6.0 (patch 20160611).
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
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 20160521).
+ <STRONG>ncurses</STRONG> version 6.0 (patch 20160611).
The <STRONG>ncurses</STRONG> library emulates the curses library of System
V Release 4 UNIX, and XPG4 (X/Open Portability Guide)
The <STRONG>ncurses</STRONG> library emulates the curses library of System
V Release 4 UNIX, and XPG4 (X/Open Portability Guide)
</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_variables.3x.html">curs_variables(3x)</A></STRONG>,
</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_variables.3x.html">curs_variables(3x)</A></STRONG>,
- This describes <STRONG>ncurses</STRONG> version 6.0 (patch 20160521).
+ This describes <STRONG>ncurses</STRONG> version 6.0 (patch 20160611).
</PRE><H2><a name="h2-AUTHOR">AUTHOR</a></H2><PRE>
</PRE><H2><a name="h2-AUTHOR">AUTHOR</a></H2><PRE>
</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>.
</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 20160521).
+ This describes <STRONG>ncurses</STRONG> version 6.0 (patch 20160611).
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.
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 20160521).
+ This describes <STRONG>ncurses</STRONG> version 6.0 (patch 20160611).
Entries in <EM>terminfo</EM> consist of a sequence of `,' separated
fields (embedded commas may be escaped with a backslash or
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>.
<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 20160521).
+ This describes <STRONG>ncurses</STRONG> version 6.0 (patch 20160611).
</PRE><H2><a name="h2-AUTHOR">AUTHOR</a></H2><PRE>
</PRE><H2><a name="h2-AUTHOR">AUTHOR</a></H2><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>.
<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 20160521).
+ This describes <STRONG>ncurses</STRONG> version 6.0 (patch 20160611).
<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="tset.1.html">tset(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>.
<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="tset.1.html">tset(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 20160521).
+ This describes <STRONG>ncurses</STRONG> version 6.0 (patch 20160611).
<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>
<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 20160521).
+ This describes <STRONG>ncurses</STRONG> version 6.0 (patch 20160611).
.\" authorization. *
.\"***************************************************************************
.\"
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: curs_getch.3x,v 1.45 2016/05/15 01:05:18 tom Exp $
+.\" $Id: curs_getch.3x,v 1.47 2016/06/11 22:56:33 tom Exp $
.TH curs_getch 3X ""
.na
.hy 0
.TH curs_getch 3X ""
.na
.hy 0
otherwise, the function key value is returned.
For this reason, many terminals experience a delay between the time
a user presses the escape key and the escape is returned to the program.
otherwise, the function key value is returned.
For this reason, many terminals experience a delay between the time
a user presses the escape key and the escape is returned to the program.
+.PP
+In \fBncurses\fP, the timer normally expires after the value in \fBESCDELAY\fP (see \fBcurs_variables\fP(3X)).
+If \fBnotimeout\fP is \fBTRUE\fP, the timer does not expire;
+it is an infinite (or very large) value.
+Because function keys usually begin with an escape character,
+the terminal may appear to hang in notimeout mode after pressing the escape key
+until another key is pressed.
.SS Ungetting characters
.PP
The \fBungetch\fR routine places \fIch\fR back onto the input queue to be
.SS Ungetting characters
.PP
The \fBungetch\fR routine places \fIch\fR back onto the input queue to be
\fBcurs_mouse\fR(3X),
\fBcurs_move\fR(3X),
\fBcurs_refresh\fR(3X),
\fBcurs_mouse\fR(3X),
\fBcurs_move\fR(3X),
\fBcurs_refresh\fR(3X),
+\fBcurs_variables\fR(3X),
\fBresizeterm\fR(3X).
.PP
Comparable functions in the wide-character (ncursesw) library are
\fBresizeterm\fR(3X).
.PP
Comparable functions in the wide-character (ncursesw) library are
# Report bugs and new terminal descriptions to
# bug-ncurses@gnu.org
#
# Report bugs and new terminal descriptions to
# bug-ncurses@gnu.org
#
-# $Revision: 1.563 $
-# $Date: 2016/05/15 00:30:28 $
+# $Revision: 1.565 $
+# $Date: 2016/06/11 18:59:38 $
#
# 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
#
# 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
xterm-new|modern xterm terminal emulator,
npc,
indn=\E[%p1%dS, kb2=\EOE, kcbt=\E[Z, kent=\EOM,
xterm-new|modern xterm terminal emulator,
npc,
indn=\E[%p1%dS, kb2=\EOE, kcbt=\E[Z, kent=\EOM,
- rin=\E[%p1%dT, use=xterm+pcfkeys, use=xterm+tmux,
- use=xterm-basic,
+ rin=\E[%p1%dT, use=ansi+enq, use=xterm+pcfkeys,
+ use=xterm+tmux, use=xterm-basic,
# This fragment is for people who cannot agree on what the backspace key
# should send.
# This fragment is for people who cannot agree on what the backspace key
# should send.
xterm-16color|xterm with 16 colors like aixterm,
ccc,
initc=\E]4;%p1%d;rgb\:%p2%{255}%*%{1000}%/%2.2X/%p3%{255}%*%{1000}%/%2.2X/%p4%{255}%*%{1000}%/%2.2X\E\\,
xterm-16color|xterm with 16 colors like aixterm,
ccc,
initc=\E]4;%p1%d;rgb\:%p2%{255}%*%{1000}%/%2.2X/%p3%{255}%*%{1000}%/%2.2X/%p4%{255}%*%{1000}%/%2.2X\E\\,
- use=ibm+16color, use=xterm-new,
+ oc=\E]104\007, rs1=\Ec\E]104\007, use=ibm+16color,
+ use=xterm-new,
# 256-colors is a compile-time feature of XFree86 xterm beginning with
# patch #111 (1999/7/10) -TD
# 256-colors is a compile-time feature of XFree86 xterm beginning with
# patch #111 (1999/7/10) -TD
# These variants of XFree86 3.9.16 xterm are built as a configure option.
xterm-256color|xterm with 256 colors,
# These variants of XFree86 3.9.16 xterm are built as a configure option.
xterm-256color|xterm with 256 colors,
- use=xterm+256color, use=xterm-new,
+ rs1=\Ec\E]104\007, use=xterm+256color, use=xterm-new,
xterm-88color|xterm with 88 colors,
xterm-88color|xterm with 88 colors,
- use=xterm+88color, use=xterm-256color,
+ rs1=\Ec\E]104\007, use=xterm+88color,
+ use=xterm-256color,
# This chunk is based on suggestions by Ailin Nemui and Nicholas Marriott, who
# asked for some of xterm's advanced features to be added to its terminfo
# This chunk is based on suggestions by Ailin Nemui and Nicholas Marriott, who
# asked for some of xterm's advanced features to be added to its terminfo
gnome|GNOME Terminal,
use=vte-2012,
gnome|GNOME Terminal,
use=vte-2012,
-# relevant changes were made in January 2014
+# relevant changes were made in January 2014, and later.
- use=xterm+pcfkeys, use=vte-2012,
+ ncv@,
+ cbt=\E[Z, el1=\E[1K, flash=\E[?5h$<100/>\E[?5l,
+ ich=\E[%p1%d@, indn=\E[%p1%dS, kent=\EOM, rin=\E[%p1%dT,
+ rmso=\E[27m, rmul=\E[24m, use=xterm+pcfkeys,
+ use=vte-2012,
vte|VTE aka GNOME Terminal,
use=vte-2014,
vte|VTE aka GNOME Terminal,
use=vte-2014,
# + modify linux2.6 entry to improve line-drawing -TD
# + make linux3.0 entry the default linux entry (Debian #823658) -TD
#
# + modify linux2.6 entry to improve line-drawing -TD
# + make linux3.0 entry the default linux entry (Debian #823658) -TD
#
+# 2016-05-29
+# + modify rs1 for xterm-16color, xterm-88color and xterm-256color to
+# reset palette using "oc" string as in linux -TD
+#
+# 2016-06-11
+# + use ANSI reply for u8 in xterm-new, to reflect vt220-style responses
+# that could be returned -TD
+# + added a few capabilities fixed in recent vte -TD
+#
######## SHANTIH! SHANTIH! SHANTIH!
######## SHANTIH! SHANTIH! SHANTIH!
-MODULE_ID("$Id: lib_getch.c,v 1.134 2016/01/23 21:32:00 tom Exp $")
+MODULE_ID("$Id: lib_getch.c,v 1.135 2016/06/11 21:52:23 tom Exp $")
-static int kgetch(SCREEN *EVENTLIST_2nd(_nc_eventlist * evl));
+static int kgetch(SCREEN *, bool EVENTLIST_2nd(_nc_eventlist *));
static void
recur_wrefresh(WINDOW *win)
static void
recur_wrefresh(WINDOW *win)
TR(TRACE_IEVENT, ("timed delay in wgetch()"));
if (sp->_cbreak > 1)
delay = (sp->_cbreak - 1) * 100;
TR(TRACE_IEVENT, ("timed delay in wgetch()"));
if (sp->_cbreak > 1)
delay = (sp->_cbreak - 1) * 100;
- else if (win->_notimeout)
- delay = 0;
else
delay = win->_delay;
else
delay = win->_delay;
- ch = kgetch(sp EVENTLIST_2nd(evl));
+ ch = kgetch(sp, win->_notimeout EVENTLIST_2nd(evl));
if (ch == KEY_MOUSE) {
++runcount;
if (sp->_mouse_inline(sp))
if (ch == KEY_MOUSE) {
++runcount;
if (sp->_mouse_inline(sp))
- T((T_CALLED("wgetch_events(%p,%p)"), (void *) win, (void *)evl));
+ T((T_CALLED("wgetch_events(%p,%p)"), (void *) win, (void *) evl));
code = _nc_wgetch(win,
&value,
_nc_use_meta(win)
code = _nc_wgetch(win,
&value,
_nc_use_meta(win)
-kgetch(SCREEN *sp EVENTLIST_2nd(_nc_eventlist * evl))
+kgetch(SCREEN *sp, bool forever EVENTLIST_2nd(_nc_eventlist * evl))
{
TRIES *ptr;
int ch = 0;
{
TRIES *ptr;
int ch = 0;
- int timeleft = GetEscdelay(sp);
+ int timeleft = forever ? 9999999 : GetEscdelay(sp);
TR(TRACE_IEVENT, ("kgetch() called"));
TR(TRACE_IEVENT, ("kgetch() called"));
-ncurses6 (6.0+20160604) unstable; urgency=low
+ncurses6 (6.0+20160611) unstable; urgency=low
- -- Thomas E. Dickey <dickey@invisible-island.net> Sat, 04 Jun 2016 07:00:51 -0400
+ -- Thomas E. Dickey <dickey@invisible-island.net> Sat, 11 Jun 2016 08:32:48 -0400
ncurses6 (5.9-20131005) unstable; urgency=low
ncurses6 (5.9-20131005) unstable; urgency=low
-ncurses6 (6.0+20160604) unstable; urgency=low
+ncurses6 (6.0+20160611) unstable; urgency=low
- -- Thomas E. Dickey <dickey@invisible-island.net> Sat, 04 Jun 2016 07:00:51 -0400
+ -- Thomas E. Dickey <dickey@invisible-island.net> Sat, 11 Jun 2016 08:32:48 -0400
ncurses6 (5.9-20131005) unstable; urgency=low
ncurses6 (5.9-20131005) unstable; urgency=low
-ncurses6 (6.0+20160604) unstable; urgency=low
+ncurses6 (6.0+20160611) unstable; urgency=low
- -- Thomas E. Dickey <dickey@invisible-island.net> Sat, 04 Jun 2016 07:00:51 -0400
+ -- Thomas E. Dickey <dickey@invisible-island.net> Sat, 11 Jun 2016 08:32:48 -0400
ncurses6 (5.9-20120608) unstable; urgency=low
ncurses6 (5.9-20120608) unstable; urgency=low
-; $Id: mingw-ncurses.nsi,v 1.161 2016/06/04 11:00:51 tom Exp $\r
+; $Id: mingw-ncurses.nsi,v 1.162 2016/06/11 12:32:48 tom Exp $\r
\r
; TODO add examples\r
; TODO bump ABI to 6\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 "2016"\r
!define VERSION_MAJOR "6"\r
!define VERSION_MINOR "0"\r
!define VERSION_YYYY "2016"\r
-!define VERSION_MMDD "0604"\r
+!define VERSION_MMDD "0611"\r
!define VERSION_PATCH ${VERSION_YYYY}${VERSION_MMDD}\r
\r
!define MY_ABI "5"\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
Summary: shared libraries for terminal handling
Name: mingw32-ncurses6
Version: 6.0
License: X11
Group: Development/Libraries
Source: ncurses-%{version}-%{release}.tgz
License: X11
Group: Development/Libraries
Source: ncurses-%{version}-%{release}.tgz
Summary: shared libraries for terminal handling
Name: ncurses6
Version: 6.0
Summary: shared libraries for terminal handling
Name: ncurses6
Version: 6.0
License: X11
Group: Development/Libraries
Source: ncurses-%{version}-%{release}.tgz
License: X11
Group: Development/Libraries
Source: ncurses-%{version}-%{release}.tgz
#include <parametrized.h>
#include <transform.h>
#include <parametrized.h>
#include <transform.h>
-MODULE_ID("$Id: tic.c,v 1.221 2016/01/02 20:04:37 tom Exp $")
+MODULE_ID("$Id: tic.c,v 1.222 2016/06/11 23:20:55 tom Exp $")
#define STDIN_NAME "<stdin>"
#define STDIN_NAME "<stdin>"
static void
check_exit_attribute(const char *name, char *test, char *trimmed, char *untrimmed)
{
static void
check_exit_attribute(const char *name, char *test, char *trimmed, char *untrimmed)
{
- if (VALID_STRING(test)) {
+ if (VALID_STRING(test) && (trimmed != 0)) {
if (similar_sgr(-1, trimmed, test) ||
similar_sgr(-1, untrimmed, test)) {
_nc_warning("%s matches exit_attribute_mode", name);
if (similar_sgr(-1, trimmed, test) ||
similar_sgr(-1, untrimmed, test)) {
_nc_warning("%s matches exit_attribute_mode", name);
*****************************************************************************/
/*
*****************************************************************************/
/*
- * $Id: blue.c,v 1.44 2016/04/16 23:20:09 tom Exp $
+ * $Id: blue.c,v 1.45 2016/06/12 00:17:37 tom Exp $
*/
#include <test.priv.h>
*/
#include <test.priv.h>
addch(ranks[isuit][0] | (chtype) COLOR_PAIR(BLUE_ON_WHITE));
addch(ranks[isuit][1] | (chtype) COLOR_PAIR(BLUE_ON_WHITE));
addch(ranks[isuit][0] | (chtype) COLOR_PAIR(BLUE_ON_WHITE));
addch(ranks[isuit][1] | (chtype) COLOR_PAIR(BLUE_ON_WHITE));
#if USE_WIDEC_SUPPORT
{
wchar_t values[2];
#if USE_WIDEC_SUPPORT
{
wchar_t values[2];
#else
addch((chtype) suits[which]);
#endif
#else
addch((chtype) suits[which]);
#endif
Author: Eric S. Raymond <esr@snark.thyrsus.com> 1993
Thomas E. Dickey (beginning revision 1.27 in 1996).
Author: Eric S. Raymond <esr@snark.thyrsus.com> 1993
Thomas E. Dickey (beginning revision 1.27 in 1996).
-$Id: ncurses.c,v 1.437 2016/05/07 23:56:59 tom Exp $
+$Id: ncurses.c,v 1.438 2016/06/11 21:05:48 tom Exp $
***************************************************************************/
***************************************************************************/
+isQuit(int c, bool escape)
- return ((c) == QUIT || (c) == ESCAPE);
+ return ((c) == QUIT || (escape && ((c) == ESCAPE)));
}
#define case_QUIT QUIT: case ESCAPE
}
#define case_QUIT QUIT: case ESCAPE
return ((delay < 0) && flags['t']);
}
return ((delay < 0) && flags['t']);
}
+#define ExitOnEscape() (flags[UChar('k')] && flags[UChar('t')])
+
static void
wgetch_help(WINDOW *win, GetchFlags flags)
{
static void
wgetch_help(WINDOW *win, GetchFlags flags)
{
printw("Type any key to see its %s value. Also:\n",
flags['k'] ? "keypad" : "literal");
for (n = 0; n < SIZEOF(help); ++n) {
printw("Type any key to see its %s value. Also:\n",
flags['k'] ? "keypad" : "literal");
for (n = 0; n < SIZEOF(help); ++n) {
+ const char *msg = help[n];
int row = 1 + (int) (n % chk);
int col = (n >= chk) ? COLS / 2 : 0;
int row = 1 + (int) (n % chk);
int col = (n >= chk) ? COLS / 2 : 0;
- int flg = ((strstr(help[n], "toggle") != 0)
- && (flags[UChar(*help[n])] != FALSE));
+ int flg = ((strstr(msg, "toggle") != 0)
+ && (flags[UChar(*msg)] != FALSE));
+ if (*msg == '^' && ExitOnEscape())
+ msg = "^[,^q -- quit";
if (flg)
(void) standout();
if (flg)
(void) standout();
- MvPrintw(row, col, "%s", help[n]);
+ MvPrintw(row, col, "%s", msg);
if (col == 0)
clrtoeol();
if (flg)
if (col == 0)
clrtoeol();
if (flg)
if (c == ERR && blocking_getch(flags, delay)) {
wprintw(win, "ERR");
wgetch_wrap(win, first_y);
if (c == ERR && blocking_getch(flags, delay)) {
wprintw(win, "ERR");
wgetch_wrap(win, first_y);
- } else if (isQuit(c)) {
+ } else if (isQuit(c, ExitOnEscape())) {
break;
} else if (c == 'e') {
flags[UChar('e')] = !flags[UChar('e')];
break;
} else if (c == 'e') {
flags[UChar('e')] = !flags[UChar('e')];
if (code == ERR && blocking_getch(flags, delay)) {
wprintw(win, "ERR");
wgetch_wrap(win, first_y);
if (code == ERR && blocking_getch(flags, delay)) {
wprintw(win, "ERR");
wgetch_wrap(win, first_y);
- } else if (isQuit((int) c)) {
+ } else if (isQuit((int) c, ExitOnEscape())) {
break;
} else if (c == 'e') {
flags[UChar('e')] = !flags[UChar('e')];
break;
} else if (c == 'e') {
flags[UChar('e')] = !flags[UChar('e')];
MvPrintw(LINES - 1, 0, "Number: %d", value);
clrtoeol();
} while
MvPrintw(LINES - 1, 0, "Number: %d", value);
clrtoeol();
} while
+ (!isQuit(this_c, TRUE));
- } while (!isQuit(c = Getchar()));
+ } while (!isQuit(c = Getchar(), TRUE));
- } while (!isQuit(c = Getchar()));
+ } while (!isQuit(c = Getchar(), TRUE));
my_list[at_code].name);
}
refresh();
my_list[at_code].name);
}
refresh();
- } while (!isQuit(c = Getchar()));
+ } while (!isQuit(c = Getchar(), TRUE));
my_list[at_code].name);
}
refresh();
my_list[at_code].name);
}
refresh();
- } while (!isQuit(c = Getchar()));
+ } while (!isQuit(c = Getchar(), TRUE));
usescr = frame_win(current);
wrefresh(usescr);
} while
usescr = frame_win(current);
wrefresh(usescr);
} while
- (!isQuit(c = wGetchar(usescr))
+ (!isQuit(c = wGetchar(usescr), TRUE)
&& (c != ERR));
breakout:
&& (c != ERR));
breakout:
memset(flavor, 0, sizeof(flavor));
state = overlap_help(0, flavor);
memset(flavor, 0, sizeof(flavor));
state = overlap_help(0, flavor);
- while (!isQuit(ch = Getchar()))
+ while (!isQuit(ch = Getchar(), TRUE))
switch (ch) {
case 'a': /* refresh window A first, then B */
overlap_test_0(win1, win2);
switch (ch) {
case 'a': /* refresh window A first, then B */
overlap_test_0(win1, win2);
/*
* Author: Thomas E. Dickey
*
/*
* Author: Thomas E. Dickey
*
- * $Id: test_sgr.c,v 1.6 2016/02/13 22:08:16 tom Exp $
+ * $Id: test_sgr.c,v 1.7 2016/06/11 23:15:03 tom Exp $
*
* A simple demo of the sgr/sgr0 terminal capabilities.
*/
*
* A simple demo of the sgr/sgr0 terminal capabilities.
*/
} else if (!VALID_STRING(my_sgr0)) {
fprintf(stderr, "no \"sgr0\" capability found\n");
} else {
} else if (!VALID_STRING(my_sgr0)) {
fprintf(stderr, "no \"sgr0\" capability found\n");
} else {
+ char *values[MAXSGR + MAXPAR];
unsigned j;
unsigned ignore = 0;
unsigned reason = 0;
unsigned j;
unsigned ignore = 0;
unsigned reason = 0;