The Curses module has been updated, and a beta version is ready for
testing. Right now, it is only available at:
http://www.*-*-*.com/ ~wsetzer/Curses-1.03.tar.gz
I changed many, many things, so this module is probably broken on
every OS I didn't test it on; please give me feedback! When I feel
fairly confident that it's back to normal, I'll bump the version
number and put it on CPAN.
Thanks.
William
8<-8<-8<-8<- Cut 8<-8<-8<-8<-
The Curses extension to perl v5
Version 1.03
Copyright (c) 1994-2000 William Setzer
All rights reserved.
This program is free software; you can redistribute it and/or modify
it under the same terms as perl, specifically:
a) the GNU General Public License as published by the Free
Software Foundation; either version 1, or (at your option) any
later version, or
b) the "Artistic License" which comes with this Kit.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
Artistic License for more details.
You should have received a copy of the Artistic License with this
Kit, in the file named "Artistic". If not, I'll be glad to provide one.
You should also have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software Foundation,
Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
This is a dynamic loadable curses module for perl. You can get this
package at any CPAN archive.
Please see the INSTALL document for how to install it on your system,
the Curses pod (located at the end of "Curses.pm") for known
incompatibilities with other Perl programs, and the end of this
document for known compile or install problems.
New in 1.03:
o Completely retooled most of the important parts! Reread the INSTALL
document "just in case".
o New release is now also covered under the GPL, to appease the
license-challenged.
o Dropped support/instructions for perl with version less than 5.003.
o Fixed is_linetouched arg count.
o Added a Curses::Screen::new to allow for object oriented calls.
o Added suport for getmaxx() and getmaxy() for those Ultrix/Alpha
libs that dont have the -yx version.
o Added optional panel support! [*]
o Renamed the variable "rs" in the border function so it would no
longer conflict with one defined in threads.
o Additional VMS fixes.
o Additional support for IRIX.
o OpenBSD hints.
o Added support for the [ncurses] resize() function.
o Added NCR MPRAS 3.02 hints.
o Unpolluted na, sv_yes, sv_no, sv_undef.
o Added DESTROY method to quell "invisible" complaints.
o Added support for the COLORS and COLOR_PAIRS variables (and
function equivalents).
o Added cygwin hints.
o Deleted support for the following functions. (I couldn't remember
where I got them in the first place, and in some cases they
actually cause problems.)
getattrs gettmode mvcur setterm
o Also added support for the following functions. (I think [hope]
this is all of them :)
attr_get attr_off attr_on attr_set chgat curs_set cursyncup
def_prog_mode def_shell_mode delay_output delwin dupwin filter
getsyx getwin has_key mvderwin napms putwin redrawln redrawwin
reset_prog_mode reset_shell_mode scr_dump scr_init scr_restore
scr_set setsyx slk_attr slk_attroff slk_attron slk_attrset
slk_color syncdown syncup termattrs termname untouchwin use_env
o Removed support for the following variables. (They never worked,
but now Curses won't even tell you they don't work.)
ttytype My_term Def_term
My thanks to the following people:
walker at sky.nlm.nih.gov [Curses::Screen::new, IRIX fixes]
jrs at sys.uea.ac.uk [getmaxx, getmaxy]
drs1 at lucent.com [rs/thread conflict]
pvhp at forte.com [VMS fixes]
sgrozev at orbitel.bg [OpenBSD hints]
mike at unix1.allvirtual.com [OpenBSD hints]
James.Bailey at AtlantaGA.NCR.COM [NCR hints]
Todd.Miller at courtesan.com [OpenBSD hints]
mcafee at umich.edu [DESTROY method]
michael at shoebox.net [COLORS/COLOR_PAIRS support]
gombasg at inf.elte.hu [DESTROY method]
aweinberger at insweb.com [OpenBSD hints]
spinazzi at databankgroup.it [Cygwin hints]
[*] His full patch is yet to be integrated. The parts clearing the
way for forms and menu library support are not there yet.
Maybe next time... :)
I also reserve the right to fiddle around with package placement
for panels. Curses::Panels is a probable spot.
The "demo" program is for demonstration purposes only. If it
references a function your version of curses doesn't have, wrap it in
an "eval" and try again. Same goes double for the "gdc" program.
You can type "make cdemo" to make a C language version of the demo.
If you get the same results via "demo" and "cdemo", but they don't
look right, then it's a bug in your libcurses, not in Curses.
Enjoy!
William Setzer
William_Setzer at ncsu.edu
Known Problems
--------------
NCurses
getch() and getstr() don't work right under very old versions of
ncurses (around v1.8.5). Please upgrade to a newer version.
panel_hidden() test is reversed in v1.9.9.g. Please upgrade to
a newer version.