Home | History | Annotate | Download | only in libcurses
History log of /src/lib/libcurses/resize.c
RevisionDateAuthorComments
 1.37  23-Dec-2024  blymn Sprinkle about some cycle wasting checks for the win pointer being
null. Unfortunately, ncurses does this and there is some sloppy code
out there that relies on the check resulting in segfaults in
NetBSD curses which then, of course, gets blamed for the error.
 1.36  19-Oct-2022  blymn Fixes for lib/56926 amongst other things:
- plod now correctly accounts for wide characters when plodding
- use erase line when in color mode if the terminal has the capability
- ensure that the CA_CONTINUATION flag is applied consistently to the
subsequent characters in a wide character.
- fix a bunch of refresh bugs that caused inconsistent placement of
wide characters.
 1.35  26-Apr-2022  blymn Fix for PR 55517.
Actually us x values to recalculate subwin columns.
 1.34  25-Jan-2022  blymn Correct (hopefully) the handling of wide characters.

* Remove the WCOL family of macros, these were "stealing" the upper bits
of a character attribute to store the column width of a character. No
warning was given about this in curses.h which meant it was easy to
accidentally reuse the bits in use by the WCOL macros (we already did).
Add couple of 16bit ints to the character structure iff HAVE_WCHAR is
true to hold the display width and wide char related flags (just
continuation at the moment)
* Convert all instances of WCOL macros to just reference the column width
in the char structure so it is not obfuscated.
* Fix cursor positioning so placing a cursor in the middle of a wide char
actually does just that.
* Fix plod so it understands that if the cursor is going to be positioned
in the middle of a wide char it cannot just reprint the char to get there.
* Fix plodput so it correctly counts the number of output characters for
wide characters.
* Fix slk routines to properly size the wctomb() buffer.
 1.33  07-Sep-2021  rin PR lib/56388

For __newwin() and __resizewin(), the line hash was calculated as if
HAVE_WCHAR is disabled.

Fix this bug by refactoring __hash_line() function, which calculates
the line hash by an appropriate method.
 1.32  06-Sep-2021  rin Expand __CTRACE() to __nothing #ifndef DEBUG.

Remove most of #ifdef DEBUG around __CTRACE() calls.

No binary changes, except for line numbers for assert().
 1.31  29-May-2021  nia wresize: don't bound pads to the size of the screen

allows avoiding a workaround in aiomixer,

ok blymn uwe
 1.30  02-Nov-2018  blymn branches: 1.30.6;
Remove obsolete clauses from copyright block. Original copyright was
mine so should be ok to do.
 1.29  03-Oct-2018  roy curses: resize ripped off windows

The application must still redraw them though.
 1.28  02-Oct-2018  roy curses: fix ripoffline

When creating stdscr, ensure it's placed and sized in accordance with
lines ripped off.
LINES is no longer adjusted for lines ripped off.
POSIX makes no mention that it should be adjusted.
Bottom lines are now placed correctly.
Lines ripped off are now displayed after calling initscr.

ok kamil@

Fixes PR #53635
 1.27  28-Sep-2018  roy curses: resizeterm(3) should always send KEY_RESIZE

Fixes #53636

OK kamil@
 1.26  24-Jan-2017  roy branches: 1.26.4; 1.26.10; 1.26.12;
Implement POSIX Curses Soft Label Key functions.
 1.25  11-Jan-2017  roy branches: 1.25.2;
Move the ripoffline logic out of screen.c and into ripoffline.c.
Store ripped off lines in the SCREEN structure so we can repaint then
when the terminal is resized.
Fix mvwin(3) so it can move windows in the ripped off area.
 1.24  10-Jan-2017  roy Fix resizing terms.
 1.23  10-Jan-2017  roy Implement POSIX curses function ripoffline(3).
 1.22  06-Jan-2017  roy KNF.
Normalise coding style.
White space police.
Sprinkle some extra braces to make the flow more clear.

No functional changes.
 1.21  05-Jan-2017  roy Implement is_term_resized and resize_term(3) ncurses extensions.
resizeterm(3) is now a wrapper for resize_term(3).
 1.20  22-Jul-2009  roy branches: 1.20.28;
Prepare curses for the possibility of changing from termcap to terminfo.
term.h #defines lines, pad_char and no_color_video macros which conflict
with existing curses code. We change lines to alines and nlines depending
on use, pad_char to padchar and no_color_video becomes no_color_attributes
but with a strong alias from no_color_video.
 1.19  29-Apr-2008  jdc Revert the scrolling region change from revision 1.18, as this breaks (at
least) mutt:

Only change the scrolling region if the window now has fewer rows.
 1.18  14-Apr-2008  jdc branches: 1.18.2;
Remove unused code.
Only change the scrolling region if the window now has fewer rows.
 1.17  08-Nov-2007  jdc Make sure we don't shrink windows or sub-windows so that they end up
with zero length or height.
 1.16  25-Oct-2007  jdc Only resize curscr, __virtscr and stdscr when the screen is resized.

Note the behaviour of sub-windows when the parent window is resized.

Fixes PR pkg/37129.
 1.15  27-Aug-2007  jdc Fix resizing bug where the values of LINES and/or COLS changed while we
were resizing windows, leading to inconsistencies between the sizes of
stdscr and curscr.

Should fix the curses part of PR lib/36702.
 1.14  28-May-2007  blymn branches: 1.14.4;
Merge in wide curses code done as a Summer of Code project by
Ruibiao Qiu.
 1.13  21-Jan-2007  jdc Add debug "areas" that allow selective debugging by setting the
"CURSES_TRACE_MASK" environment variable. Postive vales include
debug areas, negative values exclude them.
 1.12  15-Jan-2006  jdc branches: 1.12.4; 1.12.6; 1.12.8;
Background characters and attributes don't need to be kept per character
cell, as they are merged when characters are added. Remove the per cell
storage and clarify the manual page. Pointed out by ruibiao@.
 1.11  29-Apr-2004  christos PR/25397: David A. Holland: bug in second loop of resizeterm
(win used uninitialized), hidden by wrong gcc appeasal.
 1.10  16-Mar-2004  jdc branches: 1.10.2;
gcc -Wuninitialized
 1.9  30-Jul-2003  dsl Use _cursesi_screen->winlistp (depracating __winlist)
 1.8  26-Jun-2003  dsl Stop refresh(subwin) doing refresh on the other subwin's created before it.
(If nothing else the cursor would get left in the wrong place).
Fix some if (!flags & MASK) checks.
 1.7  17-Feb-2003  dsl Fix resize of windows with subwins.
Let window size be given as a -ver number => lines from bottom.
Fix trace calls of pointers
(approved by Brett Lumn)
 1.6  10-Feb-2003  dsl resize subwindows when a window is resized, otherwise the subwin has
pointers into the ether.
(approved by christos)
 1.5  23-Dec-2002  jdc Only reset flags if the "window" is not a pad.
 1.4  22-Oct-2002  blymn Fix lint nits mainly with the len parameter type in hash_more.
 1.3  19-Jul-2002  blymn * Added new function idcok - this closes PR 10802
* Added sentinels to the line structures when in debug mode to try
to pick up data overwrite problems, if they occur.
 1.2  02-Jan-2002  blymn Remove extraneous tabs from blank lines.
 1.1  20-Sep-2001  blymn Add code to allow resizing of windows and the underlying terminal.
 1.10.2.1  11-May-2004  tron Pull up revision 1.11 (requested by kleink in ticket #297):
PR/25397: David A. Holland: bug in second loop of resizeterm
(win used uninitialized), hidden by wrong gcc appeasal.
 1.12.8.1  03-Sep-2007  wrstuden Sync w/ NetBSD-4-RC_1
 1.12.6.3  07-Feb-2007  blymn Destroy non-spacing storage before resizing happens.
 1.12.6.2  21-Jan-2007  jdc Apply the changes that add debug "areas" on HEAD to the wcurses branch.
Add correspending changes to the debug code that is only present on the branch.
 1.12.6.1  21-Jan-2007  blymn Wide curses merge
 1.12.4.2  01-Sep-2007  pavel Addendum to ticket #842:
Apply patch from jdc to correct compilation with -DDEBUG. closes PR lib/36868.
 1.12.4.1  28-Aug-2007  liamjfoy Pull up following revision(s) (requested by jdc in ticket #842):
lib/libcurses/tstp.c: revision 1.36
lib/libcurses/resize.c: revision 1.15
Fix resizing bug where the values of LINES and/or COLS changed while we
were resizing windows, leading to inconsistencies between the sizes of
stdscr and curscr.
Should fix the curses part of PR lib/36702.
 1.14.4.2  09-Jan-2008  matt sync with HEAD
 1.14.4.1  06-Nov-2007  matt sync with HEAD
 1.18.2.1  18-May-2008  yamt sync with head.
 1.20.28.2  20-Mar-2017  pgoyette Sync with HEAD
 1.20.28.1  07-Jan-2017  pgoyette Sync with HEAD. (Note that most of these changes are simply $NetBSD$
tag issues.)
 1.25.2.1  21-Apr-2017  bouyer Sync with HEAD
 1.26.12.1  10-Jun-2019  christos Sync with HEAD
 1.26.10.3  26-Nov-2018  pgoyette Sync with HEAD, resolve a couple of conflicts
 1.26.10.2  20-Oct-2018  pgoyette Sync with head
 1.26.10.1  30-Sep-2018  pgoyette Ssync with HEAD
 1.26.4.2  04-Oct-2018  martin Pull up following revision(s) (requested by roy in ticket #1047):

lib/libcurses/curses_private.h: revision 1.64
lib/libcurses/curses_private.h: revision 1.65
lib/libcurses/initscr.c: revision 1.33
lib/libcurses/curses_screen.3: revision 1.24
lib/libcurses/curses_screen.3: revision 1.25
lib/libcurses/newwin.c: revision 1.52
lib/libcurses/fileio.c: revision 1.6
lib/libcurses/ripoffline.c: revision 1.4
lib/libcurses/resize.c: revision 1.28
lib/libcurses/ripoffline.c: revision 1.5
lib/libcurses/resize.c: revision 1.29
lib/libcurses/screen.c: revision 1.34
lib/libcurses/setterm.c: revision 1.67

curses: fix ripoffline

When creating stdscr, ensure it's placed and sized in accordance with
lines ripped off.

LINES is no longer adjusted for lines ripped off.
POSIX makes no mention that it should be adjusted.
Bottom lines are now placed correctly.
Lines ripped off are now displayed after calling initscr.

ok kamil@

Fixes PR #53635

-

curses: resize ripped off windows
The application must still redraw them though.

-

Fix typos in curses_screen.3
Fn -> Ft in the resize_term(3) prototype
funcion -> function
 1.26.4.1  03-Oct-2018  martin Pull up following revision(s) (requested by roy in ticket #1043):

lib/libcurses/resize.c: revision 1.27
lib/libcurses/get_wch.c: revision 1.19
lib/libcurses/getch.c: revision 1.70

curses: resizeterm(3) should always send KEY_RESIZE

Fixes #53636

OK kamil@
 1.30.6.1  31-May-2021  cjep sync with head

RSS XML Feed