# ncurses 6.3 - patch 20220219 - Thomas E. Dickey
#
# ------------------------------------------------------------------------------
#
# Ncurses 6.3 is at
# ftp://ftp.invisible-island.net/ncurses/
# https://invisible-mirror.net/archives/ncurses/
# https://ftp.gnu.org/gnu/ncurses/
#
# Patches for ncurses 6.3 can be found at
# ftp://ftp.invisible-island.net/ncurses/6.3
# https://invisible-mirror.net/archives/ncurses/6.3
#
# ------------------------------------------------------------------------------
# ftp://ftp.invisible-island.net/ncurses/6.3/ncurses-6.3-20220219.patch.gz
# patch by Thomas E. Dickey <dickey@invisible-island.net>
# created Sun Feb 20 02:01:54 UTC 2022
# ------------------------------------------------------------------------------
# NEWS | 6 ++
# VERSION | 2
# dist.mk | 4 -
# doc/html/man/adacurses6-config.1.html | 2
# doc/html/man/captoinfo.1m.html | 2
# doc/html/man/clear.1.html | 2
# doc/html/man/form.3x.html | 2
# doc/html/man/infocmp.1m.html | 2
# doc/html/man/infotocap.1m.html | 2
# doc/html/man/menu.3x.html | 2
# doc/html/man/ncurses.3x.html | 2
# doc/html/man/ncurses6-config.1.html | 2
# doc/html/man/panel.3x.html | 2
# doc/html/man/resizeterm.3x.html | 71 +++++++++++++++++++++++---------
# doc/html/man/tabs.1.html | 2
# doc/html/man/terminfo.5.html | 2
# doc/html/man/tic.1m.html | 2
# doc/html/man/toe.1m.html | 2
# doc/html/man/tput.1.html | 2
# doc/html/man/tset.1.html | 2
# man/manhtml.aliases | 5 +-
# man/resizeterm.3x | 60 ++++++++++++++++++++++-----
# package/debian-mingw/changelog | 4 -
# package/debian-mingw64/changelog | 4 -
# package/debian/changelog | 4 -
# package/mingw-ncurses.nsi | 4 -
# package/mingw-ncurses.spec | 2
# package/ncurses.spec | 2
# package/ncursest.spec | 2
# test/picsmap.c | 32 +++++++++-----
# 30 files changed, 159 insertions(+), 75 deletions(-)
# ------------------------------------------------------------------------------
Index: NEWS
Prereq: 1.3778
--- ncurses-6.3-20220212+/NEWS 2022-02-12 20:15:29.000000000 +0000
+++ ncurses-6.3-20220219/NEWS 2022-02-20 00:40:32.000000000 +0000
@@ -26,7 +26,7 @@
-- sale, use or other dealings in this Software without prior written --
-- authorization. --
-------------------------------------------------------------------------------
--- $Id: NEWS,v 1.3778 2022/02/12 20:15:29 tom Exp $
+-- $Id: NEWS,v 1.3780 2022/02/20 00:40:32 tom Exp $
-------------------------------------------------------------------------------
This is a log of changes that ncurses has gone through since Zeyd started
@@ -46,6 +46,10 @@
Changes through 1.9.9e did not credit all contributions;
it is not possible to add this information.
+20220219
+ + expanded description in man/resizeterm.3x
+ + additional workaround for ImageMagick in test/picsmap.c
+
20220212
+ improve font-formatting in other manpages, for consistency.
+ correct/improve font-formatting in curs_wgetch.3x (patch by Benno
Index: VERSION
--- ncurses-6.3-20220212+/VERSION 2022-02-12 15:31:08.000000000 +0000
+++ ncurses-6.3-20220219/VERSION 2022-02-19 12:13:47.000000000 +0000
@@ -1 +1 @@
-5:0:10 6.3 20220212
+5:0:10 6.3 20220219
Index: dist.mk
Prereq: 1.1466
--- ncurses-6.3-20220212+/dist.mk 2022-02-12 15:31:08.000000000 +0000
+++ ncurses-6.3-20220219/dist.mk 2022-02-19 12:13:47.000000000 +0000
@@ -26,7 +26,7 @@
# use or other dealings in this Software without prior written #
# authorization. #
##############################################################################
-# $Id: dist.mk,v 1.1466 2022/02/12 15:31:08 tom Exp $
+# $Id: dist.mk,v 1.1467 2022/02/19 12:13:47 tom Exp $
# Makefile for creating ncurses distributions.
#
# This only needs to be used directly as a makefile by developers, but
@@ -38,7 +38,7 @@
# These define the major/minor/patch versions of ncurses.
NCURSES_MAJOR = 6
NCURSES_MINOR = 3
-NCURSES_PATCH = 20220212
+NCURSES_PATCH = 20220219
# We don't append the patch to the version, since this only applies to releases
VERSION = $(NCURSES_MAJOR).$(NCURSES_MINOR)
Index: doc/html/man/adacurses6-config.1.html
--- ncurses-6.3-20220212+/doc/html/man/adacurses6-config.1.html 2022-02-12 19:58:31.000000000 +0000
+++ ncurses-6.3-20220219/doc/html/man/adacurses6-config.1.html 2022-02-20 00:42:56.000000000 +0000
@@ -126,7 +126,7 @@
</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 6.3 (patch 20220212).
+ This describes <STRONG>ncurses</STRONG> version 6.3 (patch 20220219).
Index: doc/html/man/captoinfo.1m.html
--- ncurses-6.3-20220212+/doc/html/man/captoinfo.1m.html 2022-02-12 20:17:47.000000000 +0000
+++ ncurses-6.3-20220219/doc/html/man/captoinfo.1m.html 2022-02-20 00:42:56.000000000 +0000
@@ -199,7 +199,7 @@
</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.3 (patch 20220212).
+ This describes <STRONG>ncurses</STRONG> version 6.3 (patch 20220219).
</PRE><H2><a name="h2-AUTHOR">AUTHOR</a></H2><PRE>
Index: doc/html/man/clear.1.html
--- ncurses-6.3-20220212+/doc/html/man/clear.1.html 2022-02-12 20:17:47.000000000 +0000
+++ ncurses-6.3-20220219/doc/html/man/clear.1.html 2022-02-20 00:42:56.000000000 +0000
@@ -150,7 +150,7 @@
</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>, <STRONG>xterm(1)</STRONG>.
- This describes <STRONG>ncurses</STRONG> version 6.3 (patch 20220212).
+ This describes <STRONG>ncurses</STRONG> version 6.3 (patch 20220219).
Index: doc/html/man/form.3x.html
--- ncurses-6.3-20220212+/doc/html/man/form.3x.html 2022-02-12 19:58:34.000000000 +0000
+++ ncurses-6.3-20220219/doc/html/man/form.3x.html 2022-02-20 00:42:59.000000000 +0000
@@ -248,7 +248,7 @@
<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.3 (patch 20220212).
+ This describes <STRONG>ncurses</STRONG> version 6.3 (patch 20220219).
Index: doc/html/man/infocmp.1m.html
--- ncurses-6.3-20220212+/doc/html/man/infocmp.1m.html 2022-02-12 20:17:51.000000000 +0000
+++ ncurses-6.3-20220219/doc/html/man/infocmp.1m.html 2022-02-20 00:43:00.000000000 +0000
@@ -514,7 +514,7 @@
https://invisible-island.net/ncurses/tctest.html
- This describes <STRONG>ncurses</STRONG> version 6.3 (patch 20220212).
+ This describes <STRONG>ncurses</STRONG> version 6.3 (patch 20220219).
</PRE><H2><a name="h2-AUTHOR">AUTHOR</a></H2><PRE>
Index: doc/html/man/infotocap.1m.html
--- ncurses-6.3-20220212+/doc/html/man/infotocap.1m.html 2022-02-12 20:17:51.000000000 +0000
+++ ncurses-6.3-20220219/doc/html/man/infotocap.1m.html 2022-02-20 00:43:00.000000000 +0000
@@ -91,7 +91,7 @@
</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="tic.1m.html">tic(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.3 (patch 20220212).
+ This describes <STRONG>ncurses</STRONG> version 6.3 (patch 20220219).
</PRE><H2><a name="h2-AUTHOR">AUTHOR</a></H2><PRE>
Index: doc/html/man/menu.3x.html
--- ncurses-6.3-20220212+/doc/html/man/menu.3x.html 2022-02-12 19:58:35.000000000 +0000
+++ ncurses-6.3-20220219/doc/html/man/menu.3x.html 2022-02-20 00:43:00.000000000 +0000
@@ -223,7 +223,7 @@
<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.3 (patch 20220212).
+ This describes <STRONG>ncurses</STRONG> version 6.3 (patch 20220219).
Index: doc/html/man/ncurses.3x.html
--- ncurses-6.3-20220212+/doc/html/man/ncurses.3x.html 2022-02-12 19:58:36.000000000 +0000
+++ ncurses-6.3-20220219/doc/html/man/ncurses.3x.html 2022-02-20 00:43:01.000000000 +0000
@@ -60,7 +60,7 @@
method of updating character screens with reasonable optimization.
This implementation is "new curses" (ncurses) and is the approved
replacement for 4.4BSD classic curses, which has been discontinued.
- This describes <STRONG>ncurses</STRONG> version 6.3 (patch 20220212).
+ This describes <STRONG>ncurses</STRONG> version 6.3 (patch 20220219).
The <STRONG>ncurses</STRONG> library emulates the curses library of System V Release 4
UNIX, and XPG4 (X/Open Portability Guide) curses (also known as XSI
Index: doc/html/man/ncurses6-config.1.html
--- ncurses-6.3-20220212+/doc/html/man/ncurses6-config.1.html 2022-02-12 19:58:36.000000000 +0000
+++ ncurses-6.3-20220219/doc/html/man/ncurses6-config.1.html 2022-02-20 00:43:01.000000000 +0000
@@ -113,7 +113,7 @@
</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 6.3 (patch 20220212).
+ This describes <STRONG>ncurses</STRONG> version 6.3 (patch 20220219).
Index: doc/html/man/panel.3x.html
--- ncurses-6.3-20220212+/doc/html/man/panel.3x.html 2022-02-12 20:17:52.000000000 +0000
+++ ncurses-6.3-20220219/doc/html/man/panel.3x.html 2022-02-20 00:43:01.000000000 +0000
@@ -281,7 +281,7 @@
</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.3 (patch 20220212).
+ This describes <STRONG>ncurses</STRONG> version 6.3 (patch 20220219).
</PRE><H2><a name="h2-AUTHOR">AUTHOR</a></H2><PRE>
Index: doc/html/man/resizeterm.3x.html
--- ncurses-6.3-20220212+/doc/html/man/resizeterm.3x.html 2022-02-12 20:17:52.000000000 +0000
+++ ncurses-6.3-20220219/doc/html/man/resizeterm.3x.html 2022-02-20 00:43:01.000000000 +0000
@@ -28,7 +28,7 @@
* authorization. *
****************************************************************************
* Author: Thomas E. Dickey 1996-on
- * @Id: resizeterm.3x,v 1.31 2022/02/12 20:07:29 tom Exp @
+ * @Id: resizeterm.3x,v 1.32 2022/02/20 00:32:18 tom Exp @
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
@@ -63,28 +63,60 @@
</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
This is an extension to the curses library. It provides callers with a
hook into the <STRONG>ncurses</STRONG> data to resize windows, primarily for use by
- programs running in an X Window terminal (e.g., xterm).
+ programs running in an X Window terminal (e.g., xterm) when the
+ terminal's screen size is changed by the user:
+ <STRONG>o</STRONG> Curses windows cannot extend outside the screen. If the terminal
+ is shrunk, curses windows must be shrunk to fit.
+
+ <STRONG>o</STRONG> If the terminal is stretched, rows and/or columns can be added to
+ existing windows. The added cells should match the current
+ attributes of the windows.
+
+ If the calling program has not set up a handler for <STRONG>SIGWINCH</STRONG> when it
+ initializes <STRONG>ncurses</STRONG> (e.g., using <STRONG><A HREF="curs_initscr.3x.html">initscr(3x)</A></STRONG> or <STRONG><A HREF="curs_initscr.3x.html">newterm(3x)</A></STRONG>), then
+ <STRONG>ncurses</STRONG> sets a handler for <STRONG>SIGWINCH</STRONG> which notifies the library when a
+ window-size event has occurred. The library checks for this
+ notification
+
+ <STRONG>o</STRONG> when reading input data,
+
+ <STRONG>o</STRONG> when implicitly resuming program mode (e.g., between <STRONG><A HREF="curs_initscr.3x.html">endwin(3x)</A></STRONG> and
+ <STRONG><A HREF="curs_refresh.3x.html">wrefresh(3x)</A></STRONG>), and
+
+ <STRONG>o</STRONG> when explicitly resuming program mode in <STRONG><A HREF="curs_terminfo.3x.html">restartterm(3x)</A></STRONG>.
+
+ When the library has found that the terminal's window-size has changed,
+ it calls <STRONG>resizeterm</STRONG> to update its data structures.
+
+ An application which establishes its own <STRONG>SIGWINCH</STRONG> handler can call
+ <STRONG>resizeterm</STRONG>, but in that case, the library will not see <STRONG>SIGWINCH</STRONG>, and
+ proper layout will rely upon the application.
+
+
+</PRE><H2><a name="h2-FUNCTIONS">FUNCTIONS</a></H2><PRE>
</PRE><H3><a name="h3-resizeterm">resizeterm</a></H3><PRE>
- The function <STRONG>resizeterm</STRONG> resizes the standard and current windows to the
- specified dimensions, and adjusts other bookkeeping data used by the
- <STRONG>ncurses</STRONG> library that record the window dimensions such as the <STRONG>LINES</STRONG> and
- <STRONG>COLS</STRONG> variables.
+ The function <STRONG>resizeterm</STRONG> resizes the standard and current windows (i.e.,
+ <STRONG>stdscr</STRONG> and <STRONG>curscr</STRONG>) to the specified dimensions, and adjusts other
+ bookkeeping data used by the <STRONG>ncurses</STRONG> library that record the window
+ dimensions such as the <STRONG>LINES</STRONG> and <STRONG>COLS</STRONG> variables.
</PRE><H3><a name="h3-resize_term">resize_term</a></H3><PRE>
- Most of the work is done by the inner function <STRONG>resize_term</STRONG>. The outer
- function <STRONG>resizeterm</STRONG> adds bookkeeping for the <STRONG>SIGWINCH</STRONG> handler, as well
- as repainting the soft-key area (see <STRONG><A HREF="curs_slk.3x.html">slk_touch(3x)</A></STRONG>).
-
- When resizing the windows, <STRONG>resize_term</STRONG> blank-fills the areas that are
- extended. The calling application should fill in these areas with
- appropriate data.
-
- The <STRONG>resize_term</STRONG> function attempts to resize all windows. However, due
- to the calling convention of pads, it is not possible to resize these
- without additional interaction with the application.
+ Most of the work for <STRONG>resizeterm</STRONG> is done by the inner function
+ <STRONG>resize_term</STRONG>. The outer function <STRONG>resizeterm</STRONG> adds bookkeeping for the
+ <STRONG>SIGWINCH</STRONG> handler, as well as repainting the soft-key area (see
+ <STRONG><A HREF="curs_slk.3x.html">slk_touch(3x)</A></STRONG>).
+
+ The <STRONG>resize_term</STRONG> function attempts to resize all windows. This helps
+ with simple applications. However:
+
+ <STRONG>o</STRONG> It is not possible to automatically resize pads.
+
+ <STRONG>o</STRONG> Applications which have complicated layouts should check for
+ <STRONG>KEY_RESIZE</STRONG> returned from <STRONG>wgetch</STRONG>, and adjust their layout, e.g.,
+ using <STRONG>wresize</STRONG> and <STRONG>mvwin</STRONG>, or by recreating the windows.
When resizing windows, <STRONG>resize_term</STRONG> recursively adjusts subwindows,
keeping them within the updated parent window's limits. If a top-level
@@ -116,7 +148,7 @@
<STRONG>o</STRONG> on receipt of a <STRONG>SIGWINCH</STRONG>, the handler sets a flag
- <STRONG>o</STRONG> which is tested in <STRONG><A HREF="curs_getch.3x.html">wgetch(3x)</A></STRONG> and <STRONG>doupdate</STRONG>,
+ <STRONG>o</STRONG> which is tested in <STRONG><A HREF="curs_getch.3x.html">wgetch(3x)</A></STRONG>, <STRONG><A HREF="curs_refresh.3x.html">doupdate(3x)</A></STRONG> and <STRONG><A HREF="curs_terminfo.3x.html">restartterm(3x)</A></STRONG>,
<STRONG>o</STRONG> in turn, calling the <STRONG>resizeterm</STRONG> function,
@@ -166,7 +198,8 @@
<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><a href="#h2-DESCRIPTION">DESCRIPTION</a></li>
+<li><a href="#h2-FUNCTIONS">FUNCTIONS</a>
<ul>
<li><a href="#h3-resizeterm">resizeterm</a></li>
<li><a href="#h3-resize_term">resize_term</a></li>
Index: doc/html/man/tabs.1.html
--- ncurses-6.3-20220212+/doc/html/man/tabs.1.html 2022-02-12 19:58:36.000000000 +0000
+++ ncurses-6.3-20220219/doc/html/man/tabs.1.html 2022-02-20 00:43:02.000000000 +0000
@@ -252,7 +252,7 @@
</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="tset.1.html">tset(1)</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.3 (patch 20220212).
+ This describes <STRONG>ncurses</STRONG> version 6.3 (patch 20220219).
Index: doc/html/man/terminfo.5.html
--- ncurses-6.3-20220212+/doc/html/man/terminfo.5.html 2022-02-12 19:58:36.000000000 +0000
+++ ncurses-6.3-20220219/doc/html/man/terminfo.5.html 2022-02-20 00:43:02.000000000 +0000
@@ -106,7 +106,7 @@
have, by specifying how to perform screen operations, and by specifying
padding requirements and initialization sequences.
- This manual describes <STRONG>ncurses</STRONG> version 6.3 (patch 20220212).
+ This manual describes <STRONG>ncurses</STRONG> version 6.3 (patch 20220219).
</PRE><H3><a name="h3-Terminfo-Entry-Syntax">Terminfo Entry Syntax</a></H3><PRE>
Index: doc/html/man/tic.1m.html
--- ncurses-6.3-20220212+/doc/html/man/tic.1m.html 2022-02-12 20:17:52.000000000 +0000
+++ ncurses-6.3-20220219/doc/html/man/tic.1m.html 2022-02-20 00:43:02.000000000 +0000
@@ -461,7 +461,7 @@
<STRONG><A HREF="captoinfo.1m.html">captoinfo(1m)</A></STRONG>, <STRONG><A HREF="infocmp.1m.html">infocmp(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="user_caps.5.html">user_caps(5)</A></STRONG>.
- This describes <STRONG>ncurses</STRONG> version 6.3 (patch 20220212).
+ This describes <STRONG>ncurses</STRONG> version 6.3 (patch 20220219).
</PRE><H2><a name="h2-AUTHOR">AUTHOR</a></H2><PRE>
Index: doc/html/man/toe.1m.html
--- ncurses-6.3-20220212+/doc/html/man/toe.1m.html 2022-02-12 20:17:52.000000000 +0000
+++ ncurses-6.3-20220219/doc/html/man/toe.1m.html 2022-02-20 00:43:02.000000000 +0000
@@ -171,7 +171,7 @@
<STRONG><A HREF="captoinfo.1m.html">captoinfo(1m)</A></STRONG>, <STRONG><A HREF="infocmp.1m.html">infocmp(1m)</A></STRONG>, <STRONG><A HREF="infotocap.1m.html">infotocap(1m)</A></STRONG>, <STRONG><A HREF="tic.1m.html">tic(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.3 (patch 20220212).
+ This describes <STRONG>ncurses</STRONG> version 6.3 (patch 20220219).
Index: doc/html/man/tput.1.html
--- ncurses-6.3-20220212+/doc/html/man/tput.1.html 2022-02-12 20:17:52.000000000 +0000
+++ ncurses-6.3-20220219/doc/html/man/tput.1.html 2022-02-20 00:43:02.000000000 +0000
@@ -545,7 +545,7 @@
</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="tset.1.html">tset(1)</A></STRONG>, <STRONG><A HREF="curs_termcap.3x.html">curs_termcap(3x)</A></STRONG>, <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>.
- This describes <STRONG>ncurses</STRONG> version 6.3 (patch 20220212).
+ This describes <STRONG>ncurses</STRONG> version 6.3 (patch 20220219).
Index: doc/html/man/tset.1.html
--- ncurses-6.3-20220212+/doc/html/man/tset.1.html 2022-02-12 20:17:52.000000000 +0000
+++ ncurses-6.3-20220219/doc/html/man/tset.1.html 2022-02-20 00:43:02.000000000 +0000
@@ -391,7 +391,7 @@
<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.3 (patch 20220212).
+ This describes <STRONG>ncurses</STRONG> version 6.3 (patch 20220219).
Index: man/manhtml.aliases
Prereq: 1.19
--- ncurses-6.3-20220212+/man/manhtml.aliases 2020-12-12 14:45:55.000000000 +0000
+++ ncurses-6.3-20220219/man/manhtml.aliases 2022-02-20 00:39:41.000000000 +0000
@@ -1,6 +1,6 @@
-# $Id: manhtml.aliases,v 1.19 2020/12/12 14:45:55 tom Exp $
+# $Id: manhtml.aliases,v 1.20 2022/02/20 00:39:41 tom Exp $
#***************************************************************************
-# Copyright 2019,2020 Thomas E. Dickey *
+# Copyright 2019-2020,2022 Thomas E. Dickey *
# Copyright 2013,2017 Free Software Foundation, Inc. *
# *
# Permission is hereby granted, free of charge, to any person obtaining a *
@@ -50,6 +50,7 @@
newterm(3X) curs_initscr(3X)
refresh(3X) curs_refresh(3X)
reset_shell_mode(3X) curs_kernel(3X)
+restartterm(3X) curs_terminfo(3X)
set_term(3X) curs_initscr(3X)
setcchar(3X) curs_getcchar(3X)
setupterm(3X) curs_terminfo(3X)
Index: man/resizeterm.3x
Prereq: 1.31
--- ncurses-6.3-20220212+/man/resizeterm.3x 2022-02-12 20:07:29.000000000 +0000
+++ ncurses-6.3-20220219/man/resizeterm.3x 2022-02-20 00:32:18.000000000 +0000
@@ -29,7 +29,7 @@
.\"
.\" Author: Thomas E. Dickey 1996-on
.\"
-.\" $Id: resizeterm.3x,v 1.31 2022/02/12 20:07:29 tom Exp $
+.\" $Id: resizeterm.3x,v 1.32 2022/02/20 00:32:18 tom Exp $
.TH resizeterm 3X ""
.de bP
.ie n .IP \(bu 4
@@ -51,28 +51,63 @@
.PP
This is an extension to the curses library.
It provides callers with a hook into the \fBncurses\fP data to resize windows,
-primarily for use by programs running in an X Window terminal (e.g., xterm).
+primarily for use by programs running in an X Window terminal (e.g., xterm)
+when the terminal's screen size is changed by the user:
+.bP
+Curses windows cannot extend outside the screen.
+If the terminal is shrunk, curses windows must be shrunk to fit.
+.bP
+If the terminal is stretched,
+rows and/or columns can be added to existing windows.
+The added cells should match the current attributes of the windows.
+.PP
+If the calling program has not set up a handler for \fBSIGWINCH\fP
+when it initializes \fBncurses\fP
+(e.g., using \fBinitscr\fP(3X) or \fBnewterm\fP(3X)),
+then \fBncurses\fP sets a handler for \fBSIGWINCH\fP which notifies
+the library when a window-size event has occurred.
+The library checks for this notification
+.bP
+when reading input data,
+.bP
+when implicitly resuming program mode
+(e.g., between \fBendwin\fP(3X) and \fBwrefresh\fP(3X)),
+and
+.bP
+when explicitly resuming program mode in \fBrestartterm\fP(3X).
+.PP
+When the library has found that the terminal's window-size has
+changed, it calls \fBresizeterm\fP to update its data structures.
+.PP
+An application which establishes its own \fBSIGWINCH\fP handler
+can call \fBresizeterm\fP, but in that case, the library will not
+see \fBSIGWINCH\fP, and proper layout will rely upon the application.
+.SH FUNCTIONS
.SS resizeterm
.PP
The function \fBresizeterm\fP resizes the standard and current windows
+(i.e., \fBstdscr\fP and \fBcurscr\fP)
to the specified dimensions, and adjusts other bookkeeping data used by
the \fBncurses\fP library that record the window dimensions
such as the \fBLINES\fP and \fBCOLS\fP variables.
.SS resize_term
.PP
-Most of the work is done by the inner function \fBresize_term\fP.
+Most of the work for \fBresizeterm\fP is
+done by the inner function \fBresize_term\fP.
The outer function \fBresizeterm\fP adds bookkeeping
for the \fBSIGWINCH\fP handler,
as well as repainting the soft-key area (see \fBslk_touch\fP(3X)).
.PP
-When resizing the windows,
-\fBresize_term\fP blank-fills the areas that are extended.
-The calling application should fill in these areas with appropriate data.
-.PP
The \fBresize_term\fP function attempts to resize all windows.
-However, due to the calling convention of pads,
-it is not possible to resize these
-without additional interaction with the application.
+This helps with simple applications.
+However:
+.bP
+It is not possible to automatically resize pads.
+.bP
+Applications which have complicated layouts should check for
+\fBKEY_RESIZE\fP returned from \fBwgetch\fP,
+and adjust their layout, e.g., using \fBwresize\fP and \fBmvwin\fP,
+or by recreating the windows.
.PP
When resizing windows, \fBresize_term\fP recursively adjusts subwindows,
keeping them within the updated parent window's limits.
@@ -101,7 +136,10 @@
.bP
on receipt of a \fBSIGWINCH\fP, the handler sets a flag
.bP
-which is tested in \fBwgetch\fP(3X) and \fBdoupdate\fP,
+which is tested in
+\fBwgetch\fP(3X),
+\fBdoupdate\fP(3X) and
+\fBrestartterm\fP(3X),
.bP
in turn, calling the \fBresizeterm\fP function,
.bP
Index: package/debian-mingw/changelog
--- ncurses-6.3-20220212+/package/debian-mingw/changelog 2022-02-12 15:31:08.000000000 +0000
+++ ncurses-6.3-20220219/package/debian-mingw/changelog 2022-02-19 12:13:47.000000000 +0000
@@ -1,8 +1,8 @@
-ncurses6 (6.3+20220212) unstable; urgency=low
+ncurses6 (6.3+20220219) unstable; urgency=low
* latest weekly patch
- -- Thomas E. Dickey <dickey@invisible-island.net> Sat, 12 Feb 2022 10:31:08 -0500
+ -- Thomas E. Dickey <dickey@invisible-island.net> Sat, 19 Feb 2022 07:13:47 -0500
ncurses6 (5.9-20131005) unstable; urgency=low
Index: package/debian-mingw64/changelog
--- ncurses-6.3-20220212+/package/debian-mingw64/changelog 2022-02-12 15:31:08.000000000 +0000
+++ ncurses-6.3-20220219/package/debian-mingw64/changelog 2022-02-19 12:13:47.000000000 +0000
@@ -1,8 +1,8 @@
-ncurses6 (6.3+20220212) unstable; urgency=low
+ncurses6 (6.3+20220219) unstable; urgency=low
* latest weekly patch
- -- Thomas E. Dickey <dickey@invisible-island.net> Sat, 12 Feb 2022 10:31:08 -0500
+ -- Thomas E. Dickey <dickey@invisible-island.net> Sat, 19 Feb 2022 07:13:47 -0500
ncurses6 (5.9-20131005) unstable; urgency=low
Index: package/debian/changelog
--- ncurses-6.3-20220212+/package/debian/changelog 2022-02-12 15:31:08.000000000 +0000
+++ ncurses-6.3-20220219/package/debian/changelog 2022-02-19 12:13:47.000000000 +0000
@@ -1,8 +1,8 @@
-ncurses6 (6.3+20220212) unstable; urgency=low
+ncurses6 (6.3+20220219) unstable; urgency=low
* latest weekly patch
- -- Thomas E. Dickey <dickey@invisible-island.net> Sat, 12 Feb 2022 10:31:08 -0500
+ -- Thomas E. Dickey <dickey@invisible-island.net> Sat, 19 Feb 2022 07:13:47 -0500
ncurses6 (5.9-20120608) unstable; urgency=low
Index: package/mingw-ncurses.nsi
Prereq: 1.506
--- ncurses-6.3-20220212+/package/mingw-ncurses.nsi 2022-02-12 15:31:08.000000000 +0000
+++ ncurses-6.3-20220219/package/mingw-ncurses.nsi 2022-02-19 12:13:47.000000000 +0000
@@ -1,4 +1,4 @@
-; $Id: mingw-ncurses.nsi,v 1.506 2022/02/12 15:31:08 tom Exp $
+; $Id: mingw-ncurses.nsi,v 1.507 2022/02/19 12:13:47 tom Exp $
; TODO add examples
; TODO bump ABI to 6
@@ -10,7 +10,7 @@
!define VERSION_MAJOR "6"
!define VERSION_MINOR "3"
!define VERSION_YYYY "2022"
-!define VERSION_MMDD "0212"
+!define VERSION_MMDD "0219"
!define VERSION_PATCH ${VERSION_YYYY}${VERSION_MMDD}
!define MY_ABI "5"
Index: package/mingw-ncurses.spec
--- ncurses-6.3-20220212+/package/mingw-ncurses.spec 2022-02-12 15:31:08.000000000 +0000
+++ ncurses-6.3-20220219/package/mingw-ncurses.spec 2022-02-19 12:13:47.000000000 +0000
@@ -3,7 +3,7 @@
Summary: shared libraries for terminal handling
Name: mingw32-ncurses6
Version: 6.3
-Release: 20220212
+Release: 20220219
License: X11
Group: Development/Libraries
Source: ncurses-%{version}-%{release}.tgz
Index: package/ncurses.spec
--- ncurses-6.3-20220212+/package/ncurses.spec 2022-02-12 15:31:08.000000000 +0000
+++ ncurses-6.3-20220219/package/ncurses.spec 2022-02-19 12:13:47.000000000 +0000
@@ -1,7 +1,7 @@
Summary: shared libraries for terminal handling
Name: ncurses6
Version: 6.3
-Release: 20220212
+Release: 20220219
License: X11
Group: Development/Libraries
Source: ncurses-%{version}-%{release}.tgz
Index: package/ncursest.spec
--- ncurses-6.3-20220212+/package/ncursest.spec 2022-02-12 15:31:08.000000000 +0000
+++ ncurses-6.3-20220219/package/ncursest.spec 2022-02-19 12:13:47.000000000 +0000
@@ -1,7 +1,7 @@
Summary: Curses library with POSIX thread support.
Name: ncursest6
Version: 6.3
-Release: 20220212
+Release: 20220219
License: X11
Group: Development/Libraries
Source: ncurses-%{version}-%{release}.tgz
Index: test/picsmap.c
Prereq: 1.142
--- ncurses-6.3-20220212+/test/picsmap.c 2022-02-06 01:44:34.000000000 +0000
+++ ncurses-6.3-20220219/test/picsmap.c 2022-02-19 21:30:04.000000000 +0000
@@ -27,7 +27,7 @@
* authorization. *
****************************************************************************/
/*
- * $Id: picsmap.c,v 1.142 2022/02/06 01:44:34 tom Exp $
+ * $Id: picsmap.c,v 1.144 2022/02/19 21:30:04 tom Exp $
*
* Author: Thomas E. Dickey
*
@@ -1383,7 +1383,6 @@
char *t;
char *s = t = strchr(buffer, '#');
bool matched = FALSE;
- bool blurred = FALSE;
if (s != 0) {
/* after the "#RGB", there are differences - just ignore */
@@ -1391,6 +1390,7 @@
++s;
*++s = '\0';
}
+
if (match_c(buffer,
"%d,%d: (%d,%d,%d,%d) #%x ",
&col, &row,
@@ -1401,25 +1401,33 @@
"%d,%d: (%f%%,%f%%,%f%%,%d) #%x ",
&col, &row,
&rf, &gf, &bf, &nocolor,
+ &check) ||
+ match_c(buffer,
+ "%d,%d: (%f%%,%f%%,%f%%) #%x ",
+ &col, &row,
+ &rf, &gf, &bf,
&check)) {
matched = TRUE;
- blurred = TRUE; /* 6.9.11 scaling is broken... */
+
#define fp_fix(n) (int) (MaxRGB * (((n) > 100.0 ? 100.0 : (n)) / 100.0))
+
r = fp_fix(rf);
g = fp_fix(gf);
b = fp_fix(bf);
}
+ if ((s - t) > 8) /* 6 hex digits vs 8 */
+ check /= 256;
if (matched) {
int which, c;
-
- if ((s - t) > 8) /* 6 hex digits vs 8 */
- check /= 256;
- if (blurred) {
- /* revisit this when ImageMagick is fixed */
- } else if (r > MaxRGB ||
- g > MaxRGB ||
- b > MaxRGB ||
- check != (unsigned) ((r << 16) | (g << 8) | b)) {
+ int want_r = (check >> 16) & 0xff;
+ int want_g = (check >> 8) & 0xff;
+ int want_b = (check >> 0) & 0xff;
+
+#define fp_err(tst,ref) ((tst > MaxRGB) || ((tst - ref)*(tst - ref)) > 4)
+
+ if (fp_err(r, want_r) ||
+ fp_err(g, want_g) ||
+ fp_err(b, want_b)) {
okay = FALSE;
break;
}