+ regenerate HTML manpages.
+ improve test/demo_menus.c, allowing mouse-click on the menu-headers
to switch the active menu. This requires a new extension option
O_MOUSE_MENU to tell the menu driver to put mouse events which do not
apply to the active menu back into the queue so that the application
can handle the event.
-- sale, use or other dealings in this Software without prior written --
-- authorization. --
-------------------------------------------------------------------------------
--- $Id: NEWS,v 1.2583 2016/03/19 23:00:31 tom Exp $
+-- $Id: NEWS,v 1.2586 2016/03/27 00:19:02 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.
+20160326
+ + regenerate HTML manpages.
+ + improve test/demo_menus.c, allowing mouse-click on the menu-headers
+ to switch the active menu. This requires a new extension option
+ O_MOUSE_MENU to tell the menu driver to put mouse events which do not
+ apply to the active menu back into the queue so that the application
+ can handle the event.
+
20160319
+ improve description of tgoto parameters (report by Steffen Nurpmeso).
+ amend workaround for Solaris line-drawing to restore a special case
-5:0:9 6.0 20160319
+5:0:9 6.0 20160326
# use or other dealings in this Software without prior written #
# authorization. #
##############################################################################
-# $Id: dist.mk,v 1.1098 2016/03/19 14:38:08 tom Exp $
+# $Id: dist.mk,v 1.1099 2016/03/26 12:23:50 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 = 20160319
+NCURSES_PATCH = 20160326
# 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>
- This describes <STRONG>ncurses</STRONG> version 6.0 (patch 20160130).
+ This describes <STRONG>ncurses</STRONG> version 6.0 (patch 20160326).
</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>
- This describes <STRONG>ncurses</STRONG> version 6.0 (patch 20160130).
+ This describes <STRONG>ncurses</STRONG> version 6.0 (patch 20160326).
<!--
****************************************************************************
- * Copyright (c) 1998-2013,2015 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-2015,2016 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_termcap.3x,v 1.31 2015/04/26 00:49:10 tom Exp @
+ * @Id: curs_termcap.3x,v 1.32 2016/03/19 22:52:25 tom Exp @
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
</PRE><H3><a name="h3-FORMATTING-CAPABILITIES">FORMATTING CAPABILITIES</a></H3><PRE>
- The <STRONG>tgoto</STRONG> routine instantiates the parameters into the
- given capability. The output from this routine is to be
- passed to <STRONG>tputs</STRONG>.
-
- The <STRONG>tputs</STRONG> routine is described on the <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>
+ The <STRONG>tgoto</STRONG> routine expands the given capability using the
+ parameters.
+
+ <STRONG>o</STRONG> Because the capability may have padding characters,
+ the output of <STRONG>tgoto</STRONG> should be passed to <STRONG>tputs</STRONG> rather
+ than some other output function such as <STRONG>printf</STRONG>.
+
+ <STRONG>o</STRONG> While <STRONG>tgoto</STRONG> is assumed to be used for the two-parame-
+ ter cursor positioning capability, termcap applica-
+ tions also use it for single-parameter capabilities.
+
+ Doing this shows a quirk in <STRONG>tgoto</STRONG>: most hardware ter-
+ minals use cursor addressing with <EM>row</EM> first, but the
+ original developers of the termcap interface chose to
+ put the <EM>column</EM> parameter first. The <STRONG>tgoto</STRONG> function
+ swaps the order of parameters. It does this also for
+ calls requiring only a single parameter. In that
+ case, the first parameter is merely a placeholder.
+
+ <STRONG>o</STRONG> Normally the ncurses library is compiled with terminfo
+ support. In that case, <STRONG>tgoto</STRONG> uses <STRONG>tparm</STRONG> (a more capa-
+ ble formatter).
+
+ The <STRONG>tputs</STRONG> routine is described on the <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>
manual page. It can retrieve capabilities by either term-
cap or terminfo name.
</PRE><H3><a name="h3-GLOBAL-VARIABLES">GLOBAL VARIABLES</a></H3><PRE>
The variables <STRONG>PC</STRONG>, <STRONG>UP</STRONG> and <STRONG>BC</STRONG> are set by <STRONG>tgetent</STRONG> to the ter-
minfo entry's data for <STRONG>pad_char</STRONG>, <STRONG>cursor_up</STRONG> and
- <STRONG>backspace_if_not_bs</STRONG>, respectively. <STRONG>UP</STRONG> is not used by
+ <STRONG>backspace_if_not_bs</STRONG>, respectively. <STRONG>UP</STRONG> is not used by
ncurses. <STRONG>PC</STRONG> is used in the <STRONG>tdelay_output</STRONG> function. <STRONG>BC</STRONG> is
- used in the <STRONG>tgoto</STRONG> emulation. The variable <STRONG>ospeed</STRONG> is set
+ used in the <STRONG>tgoto</STRONG> emulation. The variable <STRONG>ospeed</STRONG> is set
by ncurses in a system-specific coding to reflect the ter-
minal speed.
</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
Except where explicitly noted, routines that return an in-
- teger return <STRONG>ERR</STRONG> upon failure and <STRONG>OK</STRONG> (SVr4 only specifies
+ teger return <STRONG>ERR</STRONG> upon failure and <STRONG>OK</STRONG> (SVr4 only specifies
"an integer value other than <STRONG>ERR</STRONG>") upon successful comple-
tion.
</PRE><H2><a name="h2-BUGS">BUGS</a></H2><PRE>
If you call <STRONG>tgetstr</STRONG> to fetch <STRONG>ca</STRONG> or any other parameterized
- string, be aware that it will be returned in terminfo no-
+ string, be aware that it will be returned in terminfo no-
tation, not the older and not-quite-compatible termcap no-
- tation. This will not cause problems if all you do with
- it is call <STRONG>tgoto</STRONG> or <STRONG>tparm</STRONG>, which both expand terminfo-
- style strings as terminfo. (The <STRONG>tgoto</STRONG> function, if con-
- figured to support termcap, will check if the string is
- indeed terminfo-style by looking for "%p" parameters or
- "$<..>" delays, and invoke a termcap-style parser if the
+ tation. This will not cause problems if all you do with
+ it is call <STRONG>tgoto</STRONG> or <STRONG>tparm</STRONG>, which both expand terminfo-
+ style strings as terminfo. (The <STRONG>tgoto</STRONG> function, if con-
+ figured to support termcap, will check if the string is
+ indeed terminfo-style by looking for "%p" parameters or
+ "$<..>" delays, and invoke a termcap-style parser if the
string does not appear to be terminfo).
- Because terminfo conventions for representing padding in
- string capabilities differ from termcap's, <STRONG>tputs("50");</STRONG>
- will put out a literal "50" rather than busy-waiting for
+ Because terminfo conventions for representing padding in
+ string capabilities differ from termcap's, <STRONG>tputs("50");</STRONG>
+ will put out a literal "50" rather than busy-waiting for
50 milliseconds. Cope with it.
- Note that termcap has nothing analogous to terminfo's <STRONG>sgr</STRONG>
- string. One consequence of this is that termcap applica-
- tions assume me (terminfo <STRONG>sgr0</STRONG>) does not reset the alter-
- nate character set. This implementation checks for, and
+ Note that termcap has nothing analogous to terminfo's <STRONG>sgr</STRONG>
+ string. One consequence of this is that termcap applica-
+ tions assume me (terminfo <STRONG>sgr0</STRONG>) does not reset the alter-
+ nate character set. This implementation checks for, and
modifies the data shown to the termcap interface to accom-
modate termcap's limitation in this respect.
</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
- The XSI Curses standard, Issue 4 describes these func-
- tions. However, they are marked TO BE WITHDRAWN and may
+ The XSI Curses standard, Issue 4 describes these func-
+ tions. However, they are marked TO BE WITHDRAWN and may
be removed in future versions.
- Neither the XSI Curses standard nor the SVr4 man pages
- documented the return values of <STRONG>tgetent</STRONG> correctly, though
- all three were in fact returned ever since SVr1. In par-
- ticular, an omission in the XSI Curses documentation has
- been misinterpreted to mean that <STRONG>tgetent</STRONG> returns <STRONG>OK</STRONG> or
+ Neither the XSI Curses standard nor the SVr4 man pages
+ documented the return values of <STRONG>tgetent</STRONG> correctly, though
+ all three were in fact returned ever since SVr1. In par-
+ ticular, an omission in the XSI Curses documentation has
+ been misinterpreted to mean that <STRONG>tgetent</STRONG> returns <STRONG>OK</STRONG> or
<STRONG>ERR</STRONG>. Because the purpose of these functions is to provide
- compatibility with the <EM>termcap</EM> library, that is a defect
+ compatibility with the <EM>termcap</EM> library, that is a defect
in XCurses, Issue 4, Version 2 rather than in ncurses.
- External variables are provided for support of certain
- termcap applications. However, termcap applications' use
+ External variables are provided for support of certain
+ termcap applications. However, termcap applications' use
of those variables is poorly documented, e.g., not distin-
- guishing between input and output. In particular, some
+ guishing between input and output. In particular, some
applications are reported to declare and/or modify <STRONG>ospeed</STRONG>.
- The comment that only the first two characters of the <STRONG>id</STRONG>
- parameter are used escapes many application developers.
- The original BSD 4.2 termcap library (and historical
+ The comment that only the first two characters of the <STRONG>id</STRONG>
+ parameter are used escapes many application developers.
+ The original BSD 4.2 termcap library (and historical
relics thereof) did not require a trailing null NUL on the
- parameter name passed to <STRONG>tgetstr</STRONG>, <STRONG>tgetnum</STRONG> and <STRONG>tgetflag</STRONG>.
- Some applications assume that the termcap interface does
+ parameter name passed to <STRONG>tgetstr</STRONG>, <STRONG>tgetnum</STRONG> and <STRONG>tgetflag</STRONG>.
+ Some applications assume that the termcap interface does
not require the trailing NUL for the parameter name. Tak-
ing into account these issues:
- <STRONG>o</STRONG> As a special case, <STRONG>tgetflag</STRONG> matched against a single-
- character identifier provided that was at the end of
- the terminal description. You should not rely upon
- this behavior in portable programs. This implementa-
- tion disallows matches against single-character capa-
+ <STRONG>o</STRONG> As a special case, <STRONG>tgetflag</STRONG> matched against a single-
+ character identifier provided that was at the end of
+ the terminal description. You should not rely upon
+ this behavior in portable programs. This implementa-
+ tion disallows matches against single-character capa-
bility names.
- <STRONG>o</STRONG> This implementation disallows matches by the termcap
- interface against extended capability names which are
+ <STRONG>o</STRONG> This implementation disallows matches by the termcap
+ interface against extended capability names which are
longer than two characters.
<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 20160130).
+ This describes <STRONG>ncurses</STRONG> version 6.0 (patch 20160326).
http://invisible-island.net/ncurses/tctest.html
- This describes <STRONG>ncurses</STRONG> version 6.0 (patch 20160130).
+ This describes <STRONG>ncurses</STRONG> version 6.0 (patch 20160326).
</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>
- This describes <STRONG>ncurses</STRONG> version 6.0 (patch 20160130).
+ This describes <STRONG>ncurses</STRONG> version 6.0 (patch 20160326).
</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.
- This describes <STRONG>ncurses</STRONG> version 6.0 (patch 20160130).
+ This describes <STRONG>ncurses</STRONG> version 6.0 (patch 20160326).
<!--
* t
****************************************************************************
- * Copyright (c) 1998-2010,2015 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-2015,2016 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: menu_opts.3x,v 1.13 2015/12/05 23:42:45 tom Exp @
+ * @Id: menu_opts.3x,v 1.14 2016/03/26 22:42:41 tom Exp @
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
Don't wrap around next-item and previous-item,
requests to the other end of the menu.
+ O_MOUSE_MENU
+ If user clicks with the mouse and it does not fall on
+ the currently active menu, push <STRONG>KEY_MOUSE</STRONG> and the
+ <STRONG>MEVENT</STRONG> data back on the queue to allow processing in
+ another part of the calling program.
+
</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
Except for <STRONG>menu_opts</STRONG>, each routine returns one of the fol-
</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
- These routines emulate the System V menu library. They
+ These routines emulate the System V menu library. They
were not supported on Version 7 or BSD versions.
</PRE><H2><a name="h2-AUTHORS">AUTHORS</a></H2><PRE>
- Juergen Pfeifer. Manual pages and adaptation for new
+ Juergen Pfeifer. Manual pages and adaptation for new
curses by Eric S. Raymond.
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 20160130).
+ <STRONG>ncurses</STRONG> version 6.0 (patch 20160326).
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>,
- This describes <STRONG>ncurses</STRONG> version 6.0 (patch 20160130).
+ This describes <STRONG>ncurses</STRONG> version 6.0 (patch 20160326).
</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>.
- This describes <STRONG>ncurses</STRONG> version 6.0 (patch 20160130).
+ This describes <STRONG>ncurses</STRONG> version 6.0 (patch 20160326).
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 20160130).
+ This describes <STRONG>ncurses</STRONG> version 6.0 (patch 20160326).
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 20160130).
+ This describes <STRONG>ncurses</STRONG> version 6.0 (patch 20160326).
</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>.
- This describes <STRONG>ncurses</STRONG> version 6.0 (patch 20160130).
+ This describes <STRONG>ncurses</STRONG> version 6.0 (patch 20160326).
</PRE><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 20160130).
+ This describes <STRONG>ncurses</STRONG> version 6.0 (patch 20160326).
<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 20160130).
+ This describes <STRONG>ncurses</STRONG> version 6.0 (patch 20160326).
'\" t
.\"***************************************************************************
-.\" Copyright (c) 1998-2010,2015 Free Software Foundation, Inc. *
+.\" Copyright (c) 1998-2015,2016 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: menu_opts.3x,v 1.13 2015/12/05 23:42:45 tom Exp $
+.\" $Id: menu_opts.3x,v 1.14 2016/03/26 22:42:41 tom Exp $
.TH menu_opts 3X ""
.SH NAME
\fBset_menu_opts\fP,
O_NONCYCLIC
Don't wrap around next-item and previous-item,
requests to the other end of the menu.
+.TP 5
+O_MOUSE_MENU
+If user clicks with the mouse
+and it does not fall on the currently active menu,
+push \fBKEY_MOUSE\fP and the \fBMEVENT\fP data
+back on the queue to allow processing in another part of the calling program.
.SH RETURN VALUE
Except for \fBmenu_opts\fR, each routine returns one of the following:
.TP 5
/****************************************************************************
- * Copyright (c) 1998-2011,2012 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-2012,2016 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 "menu.priv.h"
-MODULE_ID("$Id: m_driver.c,v 1.31 2012/03/10 23:43:41 tom Exp $")
+MODULE_ID("$Id: m_driver.c,v 1.32 2016/03/26 21:51:52 tom Exp $")
/* Macros */
}
}
else
- result = E_REQUEST_DENIED;
+ {
+ if (menu->opt & O_MOUSE_MENU)
+ ungetmouse(&event); /* let someone else handle this */
+ result = E_REQUEST_DENIED;
+ }
}
#endif /* NCURSES_MOUSE_VERSION */
else
/****************************************************************************
- * Copyright (c) 1998-2007,2009 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-2009,2016 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: Juergen Pfeifer, 1995,1997 *
****************************************************************************/
-/* $Id: menu.h,v 1.20 2009/04/05 00:28:07 tom Exp $ */
+/* $Id: menu.h,v 1.21 2016/03/26 21:52:08 tom Exp $ */
#ifndef ETI_MENU
#define ETI_MENU
#define O_IGNORECASE (0x08)
#define O_SHOWMATCH (0x10)
#define O_NONCYCLIC (0x20)
+#define O_MOUSE_MENU (0x40)
/* Item options: */
#define O_SELECTABLE (0x01)
/****************************************************************************
- * Copyright (c) 1998-2012,2014 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-2014,2016 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: Juergen Pfeifer, 1995,1997 *
****************************************************************************/
-/* $Id: menu.priv.h,v 1.25 2014/11/01 14:47:00 tom Exp $ */
+/* $Id: menu.priv.h,v 1.26 2016/03/26 21:50:56 tom Exp $ */
/***************************************************************************
* Module menu.priv.h *
O_ROWMAJOR | \
O_IGNORECASE | \
O_SHOWMATCH | \
- O_NONCYCLIC )
+ O_NONCYCLIC | \
+ O_MOUSE_MENU )
#define ALL_ITEM_OPTS (O_SELECTABLE)
-ncurses6 (6.0+20160319) unstable; urgency=low
+ncurses6 (6.0+20160326) unstable; urgency=low
* latest weekly patch
- -- Thomas E. Dickey <dickey@invisible-island.net> Sat, 19 Mar 2016 10:38:08 -0400
+ -- Thomas E. Dickey <dickey@invisible-island.net> Sat, 26 Mar 2016 08:23:50 -0400
ncurses6 (5.9-20131005) unstable; urgency=low
-ncurses6 (6.0+20160319) unstable; urgency=low
+ncurses6 (6.0+20160326) unstable; urgency=low
* latest weekly patch
- -- Thomas E. Dickey <dickey@invisible-island.net> Sat, 19 Mar 2016 10:38:08 -0400
+ -- Thomas E. Dickey <dickey@invisible-island.net> Sat, 26 Mar 2016 08:23:50 -0400
ncurses6 (5.9-20131005) unstable; urgency=low
-ncurses6 (6.0+20160319) unstable; urgency=low
+ncurses6 (6.0+20160326) unstable; urgency=low
* latest weekly patch
- -- Thomas E. Dickey <dickey@invisible-island.net> Sat, 19 Mar 2016 10:38:08 -0400
+ -- Thomas E. Dickey <dickey@invisible-island.net> Sat, 26 Mar 2016 08:23:50 -0400
ncurses6 (5.9-20120608) unstable; urgency=low
-; $Id: mingw-ncurses.nsi,v 1.150 2016/03/19 14:38:08 tom Exp $\r
+; $Id: mingw-ncurses.nsi,v 1.151 2016/03/26 12:23:50 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 "2016"\r
-!define VERSION_MMDD "0319"\r
+!define VERSION_MMDD "0326"\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: 20160319
+Release: 20160326
License: X11
Group: Development/Libraries
Source: ncurses-%{version}-%{release}.tgz
Summary: shared libraries for terminal handling
Name: ncurses6
Version: 6.0
-Release: 20160319
+Release: 20160326
License: X11
Group: Development/Libraries
Source: ncurses-%{version}-%{release}.tgz
/****************************************************************************
- * Copyright (c) 2005-2014,2015 Free Software Foundation, Inc. *
+ * Copyright (c) 2005-2015,2016 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: demo_menus.c,v 1.55 2015/08/22 22:59:56 tom Exp $
+ * $Id: demo_menus.c,v 1.59 2016/03/27 00:02:01 tom Exp $
*
* Demonstrate a variety of functions from the menu library.
* Thomas Dickey - 2005/4/9
if (mcols + (2 * margin + x) >= COLS)
mcols = COLS - (2 * margin + x);
-#ifdef TRACE
- if (number == eTrace)
- menu_opts_off(result, O_ONEVALUE);
- else
- menu_opts_on(result, O_ONEVALUE);
-#endif
-
menuwin = newwin(mrows + (2 * margin), mcols + (2 * margin), y, x);
set_menu_win(result, menuwin);
keypad(menuwin, TRUE);
set_menu_sub(result, derwin(menuwin, mrows, mcols, margin, margin));
+#ifdef TRACE
+ if (number == eTrace)
+ menu_opts_off(result, O_ONEVALUE);
+ else
+ menu_opts_on(result, O_ONEVALUE);
+#endif
+#if defined(NCURSES_MOUSE_VERSION) && defined(O_MOUSE_MENU)
+ menu_opts_on(result, O_MOUSE_MENU);
+#endif
+
post_menu(result);
set_menu_init(result, my_menu_init);
}
}
+#ifdef KEY_RESIZE
+static void
+resize_menu(MENU ** menu)
+{
+#if 0
+ WINDOW *win = menu_win(*menu);
+ WINDOW *sub = menu_sub(*menu);
+#endif
+ (void) menu;
+}
+
+static void
+resize_menus(MENU * current)
+{
+ (void) current;
+
+ werase(status);
+ wnoutrefresh(status);
+ wresize(status, 1, COLS);
+ mvwin(status, LINES - 1, 0);
+
+ resize_menu(&mpBanner);
+ resize_menu(&mpFile);
+ resize_menu(&mpSelect);
+#ifdef TRACE
+ resize_menu(&mpTrace);
+#endif
+}
+#endif
+
static void
show_status(int ch, MENU * menu)
{
int ch = ERR;
#ifdef NCURSES_MOUSE_VERSION
- mousemask(ALL_MOUSE_EVENTS, (mmask_t *) 0);
+ mousemask(BUTTON1_CLICKED, (mmask_t *) 0);
#endif
menu_display(last_menu);
case KEY_SRIGHT:
move_menus(last_menu, 0, 1);
continue;
+#ifdef KEY_RESIZE
+ case KEY_RESIZE:
+ resize_menus(last_menu);
+ continue;
+#endif
}
cmd = menu_virtualize(ch);
#endif
}
+#if defined(NCURSES_MOUSE_VERSION) && defined(O_MOUSE_MENU)
if ((code == E_REQUEST_DENIED) && (cmd == KEY_MOUSE)) {
+ (void) menu_getc(mpBanner);
code = menu_driver(mpBanner, cmd);
+ if (code == E_REQUEST_DENIED) {
+ MEVENT event;
+ if (menu_getc(mpBanner) == KEY_MOUSE)
+ getmouse(&event); /* give up */
+ }
}
+#endif
break;
}
setlocale(LC_ALL, "");
- while ((c = getopt(argc, argv, "a:de:fhmp:s:t:")) != -1) {
+ while ((c = getopt(argc, argv, "fht:")) != -1) {
switch (c) {
#if HAVE_RIPOFFLINE
case 'f':