]> ncurses.scripts.mit.edu Git - ncurses.git/commitdiff
ncurses 6.3 - patch 20220219
authorThomas E. Dickey <dickey@invisible-island.net>
Sun, 20 Feb 2022 02:01:54 +0000 (02:01 +0000)
committerThomas E. Dickey <dickey@invisible-island.net>
Sun, 20 Feb 2022 02:01:54 +0000 (02:01 +0000)
+ expanded description in man/resizeterm.3x
+ additional workaround for ImageMagick in test/picsmap.c

30 files changed:
NEWS
VERSION
dist.mk
doc/html/man/adacurses6-config.1.html
doc/html/man/captoinfo.1m.html
doc/html/man/clear.1.html
doc/html/man/form.3x.html
doc/html/man/infocmp.1m.html
doc/html/man/infotocap.1m.html
doc/html/man/menu.3x.html
doc/html/man/ncurses.3x.html
doc/html/man/ncurses6-config.1.html
doc/html/man/panel.3x.html
doc/html/man/resizeterm.3x.html
doc/html/man/tabs.1.html
doc/html/man/terminfo.5.html
doc/html/man/tic.1m.html
doc/html/man/toe.1m.html
doc/html/man/tput.1.html
doc/html/man/tset.1.html
man/manhtml.aliases
man/resizeterm.3x
package/debian-mingw/changelog
package/debian-mingw64/changelog
package/debian/changelog
package/mingw-ncurses.nsi
package/mingw-ncurses.spec
package/ncurses.spec
package/ncursest.spec
test/picsmap.c

diff --git a/NEWS b/NEWS
index bbb46b233529753d8af76bde78a47847985218a7..fdcd6760fabd2ff63a1b7efb24146fca5ab3b932 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -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 @@ See the AUTHORS file for the corresponding full names.
 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
diff --git a/VERSION b/VERSION
index e6418ad626c839aa3295a665ef0c52fd1c51c38d..a18db84873858f1346e397ce37f4176bb76d85d4 100644 (file)
--- a/VERSION
+++ b/VERSION
@@ -1 +1 @@
-5:0:10 6.3     20220212
+5:0:10 6.3     20220219
diff --git a/dist.mk b/dist.mk
index 9d3414c79507384f8d293a384e399ea11b084d29..daffca7144636d791822045743ef61f2bafb2c3b 100644 (file)
--- a/dist.mk
+++ b/dist.mk
@@ -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 @@ SHELL = /bin/sh
 # 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 fd9596a63027fa8879faf9017932a7c80d775178..54d42cec13de98a7fd9463060968d65e00ae4590 100644 (file)
 </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 59bca6c2dcdabe1e3f2820f4f641e8cb0e6d8976..6def79d93f13b39df3d3f461d1d92948039fcc8a 100644 (file)
 </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 a659b18f09c88d9e9353570c5c3d26aeebdc1706..ec1981b9f637ad96b8348425186559e1c015ff59 100644 (file)
 </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 02942dca496efc7b16bac4fd60232b7c083fda02..134482784db5688924c249b09cf722777bc09acc 100644 (file)
        <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 b4c63e830523a80cf4123fce7c30e6350f3131d6..bddcc60d2286f76104ddba89b634449c7a700f14 100644 (file)
 
        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 6f2bb8a888de391a01fd06214a7f8668f5689335..9c9e434f469fc77b7c2e3a0888e39a0815e478d5 100644 (file)
@@ -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 92c694d099b6e733be2c3c55354261e5751b9657..2e098219e97cc6ba17ba50256e12e15230a9c9d0 100644 (file)
        <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 a7f133026a051f755963e4d606ddb1854ce6d474..17afb0d2b76bd95273457582e109b96d7b717343 100644 (file)
@@ -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 c7354ee5531cbba643cc25be83a490a1282628da..d2d90e1a37e55e347773f626c8c6bd2309edb9dd 100644 (file)
 </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 4de975b5c93e592b9d4fdfabb7498a640dee0f9f..e02e5a7a464cb690adbf574ed2de1e2a24cfd0c3 100644 (file)
 </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 d190848e7f08d1ce2b3ebce4ec9ccde604836c89..ebf6c55ccfd626380e62edcd4d469d83cc33c4c6 100644 (file)
@@ -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>
 </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>).
+       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:
 
-       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.
+       <STRONG>o</STRONG>   It is not possible to automatically resize pads.
 
-       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.
+       <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
 
        <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,
 
 <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 4a05c27ff72f8f8f5de0a4587cb8706923940194..0e798394d7940e486975b503aa6bd2e2baf8878c 100644 (file)
 </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 405adc8927bc75211aa3ba9fdd4a6079b112942a..31cfa81913ef374d1331053f6c46a9bfb082b9ef 100644 (file)
        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 3b4d16f7f407103e17f3270f3b91d534a983c00c..e62002e43d9fa2ae3d22e560205715e84602ba28 100644 (file)
        <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 3c446449418aeaf18d1c5fd7944769585be72278..ef828092005c6a98f5a41bb328290fdfd339adc0 100644 (file)
        <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 5c13290c5cdcfce065988bfcb9a5f0ceac890401..a27c6efa618c01de8f85a80de246f2e5d9d3d2ee 100644 (file)
 </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 b1c84bf468daddddf71292f6495412b427ab5404..50edca1e3858b1b77dfb8e10c1516f0aa4b5d33b 100644 (file)
        <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 a9f18ca70693c3931991febb4865409a33e92b21..9f33e273f0a3c753f51a6ef120b7adede4a77073 100644 (file)
@@ -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 @@ mvwin(3X)             curs_window(3X)
 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 fed95a1a919ab2a1def337e7d105a9b9fd946871..37094d80cac3bfbeda78f1855c20ca228b6a29f6 100644 (file)
@@ -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
 .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 @@ If ncurses is configured to supply its own \fBSIGWINCH\fP handler,
 .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 2475252e861d2fd0206219744f50429afa1c09db..7add8c3038e8b6cc01c0353e9f2fbd35fb00e108 100644 (file)
@@ -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 2475252e861d2fd0206219744f50429afa1c09db..7add8c3038e8b6cc01c0353e9f2fbd35fb00e108 100644 (file)
@@ -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 d4eb2727ba2ea2bd7323eb24704f43ad5400c2d0..61628fe45e9e41b0a196465242aec519138046c6 100644 (file)
@@ -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 2801deae9596f5f0a4410a1b65b523c341890e77..04d35fc397d18d97d8e9f5a5c48cf5d4a930dc92 100644 (file)
@@ -1,4 +1,4 @@
-; $Id: mingw-ncurses.nsi,v 1.506 2022/02/12 15:31:08 tom Exp $\r
+; $Id: mingw-ncurses.nsi,v 1.507 2022/02/19 12:13:47 tom Exp $\r
 \r
 ; TODO add examples\r
 ; TODO bump ABI to 6\r
@@ -10,7 +10,7 @@
 !define VERSION_MAJOR "6"\r
 !define VERSION_MINOR "3"\r
 !define VERSION_YYYY  "2022"\r
-!define VERSION_MMDD  "0212"\r
+!define VERSION_MMDD  "0219"\r
 !define VERSION_PATCH ${VERSION_YYYY}${VERSION_MMDD}\r
 \r
 !define MY_ABI   "5"\r
index 30be10c0d686ed60e033ddea18227297ce1961ef..7403aed9fabd9941e5e3a5fab10bf396d33c0dc6 100644 (file)
@@ -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 8dfd735079c71c86310208205193569b9a7cfa7b..71d106db0debf60a0a682828cc1ba038324bae02 100644 (file)
@@ -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 0e111bee92f1bd9d0e3eea54d3e053da3cc4d4fa..f707476a2a3bb9c1050f4cf8c4b60f1d5cfd9181 100644 (file)
@@ -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 09b46ee9cb0b26cbd7f1294ac1411785d36dbc55..1702639ea4daf4f89f2cdedd92b7dd9dd0829b6f 100644 (file)
@@ -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 @@ parse_img(const char *filename)
                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 @@ parse_img(const char *filename)
                        ++s;
                    *++s = '\0';
                }
+
                if (match_c(buffer,
                            "%d,%d: (%d,%d,%d,%d) #%x ",
                            &col, &row,
@@ -1401,25 +1401,33 @@ parse_img(const char *filename)
                                   "%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;
+                   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 ((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)) {
+                   if (fp_err(r, want_r) ||
+                       fp_err(g, want_g) ||
+                       fp_err(b, want_b)) {
                        okay = FALSE;
                        break;
                    }