Commit Graph

35 Commits

Author SHA1 Message Date
blymn a887f4aff9 Fix for PR lib/52063
Many thanks to  Onno van der Linden (o.vd.linden@quicknet.nl) for providing
the bulk of the patch that fixes the issue.
2018-11-16 10:12:00 +00:00
roy d34c5681a4 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
2018-10-02 17:35:44 +00:00
roy 3cd3ec3cb0 Put back filter(3) I mistakenly removed in r1.29 2017-03-20 10:20:16 +00:00
roy 0d7cbb25e8 Disable typeahead being set to infd by default as this seems to cause
refresh issues in nvi.
2017-02-17 11:18:38 +00:00
roy 8dcd50a6a0 Move ESCDELAY to curses.c so all globals are close to each other.
Remove _reentrant and use ESCDELAY and TABSIZE as we're not really
reentrant.
2017-01-31 09:17:53 +00:00
roy a2ac1ce48c Implement POSIX Curses Soft Label Key functions. 2017-01-24 17:27:30 +00:00
roy c77e1d014f 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.
2017-01-11 20:43:03 +00:00
roy 25445577c0 Implement POSIX curses function ripoffline(3). 2017-01-10 10:13:24 +00:00
roy 50a63ac8d2 KNF.
Normalise coding style.
White space police.
Sprinkle some extra braces to make the flow more clear.

No functional changes.
2017-01-06 13:53:18 +00:00
roy a663bc11be Implement POSIX Curses typeahead function. 2016-12-31 22:47:01 +00:00
roy 1c3d328353 Add the POSIX filter() function to libcurses. 2016-12-30 22:38:38 +00:00
christos 600fe0a3fe fix memory leaks (from Rin Okuyama) 2015-11-26 01:05:08 +00:00
dholland 4bded2208d After consultation with jdc@, apply the patch from PR 42412 even though
the crash went away -- it's not clear that it went away for any reason
besides by accident.

The change is: use calloc instead of malloc for allocating SCREENs.
2010-06-10 05:24:55 +00:00
roy 98eb889579 Userland now builds and uses terminfo instead of termcap.
OK: core@, jdc@
2010-02-03 15:34:37 +00:00
jdc 7cc6075b0e Keep pushed-back characters locally. Fixes problems where KEY_* symbols
are pushed back.  Should fix the arrow keys part of PR pkg/37173.

While we are here, make getch() and get_wch() check for resize immediately,
instead of reading a key, checking for resize and then having to push-back
the just read key.
2007-12-08 18:38:11 +00:00
blymn e124de36d8 Merge in wide curses code done as a Summer of Code project by
Ruibiao Qiu.
2007-05-28 15:01:53 +00:00
jdc 1f221324cf Add debug "areas" that allow selective debugging by setting the
"CURSES_TRACE_MASK" environment variable.  Postive vales include
debug areas, negative values exclude them.
2007-01-21 13:25:36 +00:00
jdc ed312f0773 When deleting windows and screens, also set to NULL the standard names
that refer to the window or screen just deleted.
Add some more debugging information.
2006-08-23 19:23:14 +00:00
jdc 92cd5d7a66 We should check against NULL here.
From Brett Lymn.
2004-03-23 21:17:20 +00:00
jdc efc30049d8 Add KEY_RESIZE support and a SIGWINCH handler.
Fixes PR bin/20032.
This requires a change to KEY_MAX, which affects libform and libmenu, so we
need to change libcurses major number.
2004-03-22 18:57:10 +00:00
agc eb7c1594f1 Move UCB-licensed code from 4-clause to 3-clause licence.
Patches provided by Joel Baker in PR 22280, verified by myself.
2003-08-07 16:42:00 +00:00
dsl 87e998f336 Remove __winlistp, add *screen to WINDOW and initialise in newwin().
Make delwin() remove window from list of windows on its screen.
Free win->lspace and win->lines for subwins (they only share text space).
Free things in the correct (and same) order if malloc() fails in __makenew().
Adjust delscreen() for delwin() removing itself from winlist.
Fixes potential massive corruptions if delwin() called on a main window.
NB: not responsible for the sysinst core dumps :-(
2003-07-30 11:19:00 +00:00
jdc e6800497da Keep the cr->nl translation state in a separate variable, so that we can
do the translation ourselves (if the tty didn't do it for us).
Add debugging to track functions that change tty state.

Fixes PR 20834 by Stephen Borrill.
2003-04-05 10:06:59 +00:00
dsl d75ec8181e 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)
2003-02-17 11:07:19 +00:00
jdc 60f7009432 I was slightly too agressive removing clearok() in revision 1.8.
Add back a clearok(stdscr) for terminals where the startup sequence
doesn't clear the screen.
2003-02-02 17:52:29 +00:00
jdc 2d83114a86 ARemove (no longer used) __nca. 2003-01-27 21:09:20 +00:00
blymn a3c6a58ea6 Added halfdelay() function. 2003-01-09 12:48:04 +00:00
jdc 4b9cace222 Handle function argument changes to __newwin().
Don't call clearok() for new windows in newterm() - it caused a screen erase
on the first refresh() of the window.
2002-12-23 12:25:10 +00:00
jdc 4eb3ef3dac Set the curses default colours to white on black when using colour.
See the Single UNIX Specification, Version 2 :

  http://www.opengroup.org/onlinepubs/007908799/xcurses/can_change_color.html

Also, add the functions :

	use_default_colors();
	assume_default_colors(fore, back);

(from ncurses) that allow the terminal default colours or user-specified
default colours to be used.
2002-08-04 16:43:04 +00:00
itojun 2f69e2e14d handle non-tty cases more gracefully. 2002-06-26 18:23:28 +00:00
blymn ef5927835e Remove extraneous tabs from blank lines. 2002-01-02 10:38:27 +00:00
blymn 4118c45610 * Fixed uninitialiased variable problem in newterm
* Implemented better fix for screen not clearing for refresh()
  when newterm used to start curses.
2001-12-31 14:16:01 +00:00
blymn d7893fc457 Make newterm set the default screen if the old default screen was
ended, stops new vi crashing.  Thanks to Aymeric Vincent for the fix.
2001-12-30 13:20:35 +00:00
blymn 98f703ff1e Fix newterm so it syncs curscr to stdscr when term is created. Thanks
to Onno van der Linden for finding this bug.
2001-12-27 10:48:15 +00:00
blymn c84d91aad5 * Major change to add support for the newterm/set_term functions.
* Added fix to getch.c suggested by Gabriel Rosenkoetter (thanks :-)
2001-12-02 09:14:20 +00:00