Commit Graph

42 Commits

Author SHA1 Message Date
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
christos
50c795e166 don't coredump if we call endwin when initscr fails. 2016-11-24 14:49:08 +00:00
christos
8fd1aec131 Instead of turning off the 8th bit on resume, turn it on, as it is on by
default. Problem reported by atatat@ when suspending vi and resuming loses
the ability to use the alt key.
2013-10-15 13:00:52 +00:00
christos
ef87b14708 Fix for systems that don't have TCSASOFT as intended originally. Simplify. 2011-08-29 11:07:38 +00:00
roy
98eb889579 Userland now builds and uses terminfo instead of termcap.
OK: core@, jdc@
2010-02-03 15:34:37 +00:00
roy
43d5eb454b 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.
2009-07-22 16:57:14 +00:00
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