Commit Graph

36 Commits

Author SHA1 Message Date
jdc 34bea28655 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.
2007-08-27 19:54:29 +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 beb55bfff9 Handle cases where the application installs a SIGWINCH handler after the
curses one is installed by:

  1.  not reinstalling the curses one after restarting
  2.  not sending KEY_RESIZE

Also, update the size of curscr, stdscr and __virtscr to match the new
screen size, so that their sizes are always updated.

Fixes the cases where applications call endwin() and then refresh() in
their SIGWINCH handler (i.e. the resizing problems in PR pkg/27777).
2006-08-25 17:04:32 +00:00
jdc 52ef6583f9 Add some more debugging information. 2006-08-23 19:23:55 +00:00
jdc 8dded85639 Change TSTP handler back to using signal().
This fixes a problem where vi would not suspend.
Also, make sure that the signal handlers aren't set or removed multiple times.
Finally, add debug output when the signal handlers are set and removed.
2004-03-25 07:35:40 +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 880234af7e Stop def_prog_mode() saving incorrect termio settings.
Make set_prog_mode() set the correct settings.
I'm not certain how much restoration set_prog_mode() should do, but it
definitely doesn't want to do all of __restartwin().
Maybe __restartwin() should be calling set_prog_mode()?
2003-07-10 12:50:18 +00:00
dsl 386a8e5059 Don't restartwin() if it isn't stopped.
Ensures we don't save the modified tty flags (as well as doing all the
initialisation twice) if the application (eg systat) calls curses functions
in its own restart code.
2003-05-28 20:19:42 +00:00
dsl 1473d232c3 Don't do __stopwin() if it is already stopped.
Allows error messages from programs like sysinst() to be seen.
(There is an explicit stopwin() before the error message is output,
and a second in the atexit() called cleanup() routine)
2003-05-18 10:02:07 +00:00
jdc 7aea6936d1 Reset cursor visibility after restarting the screen, as the cursor visibility
setting can be changed when the screen is restarted.
2002-08-04 14:11:59 +00:00
blymn ef5927835e Remove extraneous tabs from blank lines. 2002-01-02 10:38:27 +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
blymn 4aa92dbcd1 There was a missing check for curscr != NULL, fixed. 2001-01-14 08:12:47 +00:00
jdc 606508da77 Rename variables refering to termcap capabilities from NN to __tc_nn. Case
adjusted to match termcap capability.  A few other variable names renamed too
(ones related to or derived from termcap variables).
2000-12-19 21:34:24 +00:00
jdc 172e7c6926 Move setting of __endwin so that we also change it from the stop handler. 2000-06-15 21:20:16 +00:00
jdc 76e63b5fc4 Use __restartwin() in reset_prog_mode() and __stopwin() in
reset_shell_mode().
2000-05-22 05:54:37 +00:00
jdc 985e3d49d7 Send, if necessary, 'ks' or 'ke' sequences from keypad() and wgetch().
Fixes PR 10116.
2000-05-17 16:23:49 +00:00
jdc 4076d037fb Use __unsetattr() to unset attributes on 'curscr'. 2000-04-27 00:27:23 +00:00
blymn 66cab71c72 * Added rcs id line to files missing it.
* Added code to __restartwin to restore meta and cursor visibility states
* Added code to __stopwin to disable meta.
* Added the *line group of functions for drawing character lines.
2000-04-24 14:09:41 +00:00
blymn aaf74682b9 Added functions to replace what were previously macros in curses.h
(this is a requirement of SUSv2) - the old macro behaviour can be
restored by defining _CURSES_USE_MACROS.
Changed function prototypes to use ANSI style.
All externally visible functions now have ANSI style declarations.
2000-04-15 13:17:02 +00:00
jdc 725597b1c6 Replace __TERMATTR with __ATTRIBUTES (includes colour).
Add def_prog_mode() and reset_prog_mode().
2000-04-12 21:36:36 +00:00
blymn 23464ee534 Made data structures opaque 2000-04-11 13:57:08 +00:00
mrg 586d4ce109 Upgrades the standard NetBSD curses library to provide some
of the SYSV curses facilities.  The added features are the collapsing
of arrow and function keysequences (as defined by termcap for the
terminal) into symbolic code returns thus relieving the application of
recognising multi-character key sequences.  Other features are the
capability to perform a timed wait for a key (good for when you are
not sure if there is a keypress ready or not) and the capability for
turning off the inter-key timeout when assembling multi-character
function keys.

this work was done by Julian Coleman <J.D.Coleman@newcastle.ac.uk>
and blymn@baea.com.au (Brett Lymn).  i'm just integrating it.  thanks
HEAPS guys!
1999-04-13 14:08:17 +00:00
perry cabb4ca447 merge with lite-2 1998-01-30 04:33:32 +00:00
phil 621f2971b1 Changes to make endwin() act like a SIGSTP in terms of nicely restarting
curses mode.  Taken from e-mail about PR 3981.  (Still some stuff left
in PR3981 to deal with.)
1997-11-13 00:40:27 +00:00
phil 1507e4ad2c Make endwin() save state so a subsequent call to wrefresh restores curses
and makes endwin()/wrefresh() act like a SIGTSTP.
1997-09-12 21:08:22 +00:00
mikel 716747aa72 RCSid police, fix warnings 1997-07-22 07:36:20 +00:00
cgd d29088dab1 clean up import 1994-08-17 21:51:41 +00:00
cgd f2149bfd60 changes from branch 1994-01-24 08:36:38 +00:00
cgd 2f65b6139d repeat after me: "I hate rcs ids" 1993-11-09 04:06:43 +00:00
cgd 019bbd1316 update to new version from berkeley. doesn't compile yet, nor
does it have rcsid's.  this is for diffs.
1993-11-09 03:34:01 +00:00
mycroft 4a9141f643 Actually use the signal number we're passed. 1993-08-10 02:12:47 +00:00
mycroft 62a3457d0e New version from uunet. 1993-08-07 05:48:37 +00:00
mycroft e9d867ef50 Add RCS identifiers. 1993-08-01 17:54:45 +00:00
cgd 61f282557f initial import of 386bsd-0.1 sources 1993-03-21 09:45:37 +00:00