Curses 1.15
Sponsored Links
Curses 1.15 Ranking & Summary
File size:
0.080 MB
Platform:
Any Platform
License:
Perl Artistic License
Price:
Downloads:
910
Date added:
2007-05-09
Publisher:
William Setzer
Curses 1.15 description
Curses is a terminal screen handling and optimization.
SYNOPSIS
use Curses;
initscr;
...
endwin;
Curses::supports_function($function);
Curses::supports_contsant($constant);
Curses is the interface between Perl and your systems curses(3) library. For descriptions on the usage of a given function, variable, or constant, consult your systems documentation, as such information invariably varies (:-) between different curses(3) libraries and operating systems. This document describes the interface itself, and assumes that you already know how your systems curses(3) library works.
Unified Functions
Many curses(3) functions have variants starting with the prefixes w-, mv-, and/or wmv-. These variants differ only in the explicit addition of a window, or by the addition of two coordinates that are used to move the cursor first. For example, addch() has three other variants: waddch(), mvaddch(), and mvwaddch(). The variants arent very interesting; in fact, we could roll all of the variants into original function by allowing a variable number of arguments and analyzing the argument list for which variant the user wanted to call.
Unfortunately, curses(3) predates varargs(3), so in C we were stuck with all the variants. However, Curses is a Perl interface, so we are free to "unify" these variants into one function. The section "Supported Functions" below lists all curses(3) function supported by Curses, along with a column listing if it is unified. If so, it takes a varying number of arguments as follows:
function( [win], [y, x], args );
win is an optional window argument, defaulting to stdscr if not specified.
y, x is an optional coordinate pair used to move the cursor, defaulting to no move if not specified.
args are the required arguments of the function. These are the arguments you would specify if you were just calling the base function and not any of the variants.
This makes the variants obsolete, since their functionality has been merged into a single function, so Curses does not define them by default. You can still get them if you want, by setting the variable $Curses::OldCurses to a non-zero value before using the Curses package. See "Perl 4.X cursperl Compatibility" for an example of this.
Objects
Objects are supported. Example:
$win = new Curses;
$win->addstr(10, 10, foo);
$win->refresh;
...
Any function that has been marked as unified (see "Supported Functions" below and "Unified Functions" above) can be called as a method for a Curses object.
Do not use initscr() if using objects, as the first call to get a new Curses will do it for you.
Security Concerns
It has always been the case with the curses functions, but please note that the following functions:
getstr() (and optional wgetstr(), mvgetstr(), and mvwgetstr())
inchstr() (and optional winchstr(), mvinchstr(), and mvwinchstr())
instr() (and optional winstr(), mvinstr(), and mvwinstr())
are subject to buffer overflow attack. This is because you pass in the buffer to be filled in, which has to be of finite length, but there is no way to stop a bad guy from typing.
In order to avoid this problem, use the alternate functions:
getnstr()
inchnstr()
innstr()
which take an extra "size of buffer" argument.
SYNOPSIS
use Curses;
initscr;
...
endwin;
Curses::supports_function($function);
Curses::supports_contsant($constant);
Curses is the interface between Perl and your systems curses(3) library. For descriptions on the usage of a given function, variable, or constant, consult your systems documentation, as such information invariably varies (:-) between different curses(3) libraries and operating systems. This document describes the interface itself, and assumes that you already know how your systems curses(3) library works.
Unified Functions
Many curses(3) functions have variants starting with the prefixes w-, mv-, and/or wmv-. These variants differ only in the explicit addition of a window, or by the addition of two coordinates that are used to move the cursor first. For example, addch() has three other variants: waddch(), mvaddch(), and mvwaddch(). The variants arent very interesting; in fact, we could roll all of the variants into original function by allowing a variable number of arguments and analyzing the argument list for which variant the user wanted to call.
Unfortunately, curses(3) predates varargs(3), so in C we were stuck with all the variants. However, Curses is a Perl interface, so we are free to "unify" these variants into one function. The section "Supported Functions" below lists all curses(3) function supported by Curses, along with a column listing if it is unified. If so, it takes a varying number of arguments as follows:
function( [win], [y, x], args );
win is an optional window argument, defaulting to stdscr if not specified.
y, x is an optional coordinate pair used to move the cursor, defaulting to no move if not specified.
args are the required arguments of the function. These are the arguments you would specify if you were just calling the base function and not any of the variants.
This makes the variants obsolete, since their functionality has been merged into a single function, so Curses does not define them by default. You can still get them if you want, by setting the variable $Curses::OldCurses to a non-zero value before using the Curses package. See "Perl 4.X cursperl Compatibility" for an example of this.
Objects
Objects are supported. Example:
$win = new Curses;
$win->addstr(10, 10, foo);
$win->refresh;
...
Any function that has been marked as unified (see "Supported Functions" below and "Unified Functions" above) can be called as a method for a Curses object.
Do not use initscr() if using objects, as the first call to get a new Curses will do it for you.
Security Concerns
It has always been the case with the curses functions, but please note that the following functions:
getstr() (and optional wgetstr(), mvgetstr(), and mvwgetstr())
inchstr() (and optional winchstr(), mvinchstr(), and mvwinchstr())
instr() (and optional winstr(), mvinstr(), and mvwinstr())
are subject to buffer overflow attack. This is because you pass in the buffer to be filled in, which has to be of finite length, but there is no way to stop a bad guy from typing.
In order to avoid this problem, use the alternate functions:
getnstr()
inchnstr()
innstr()
which take an extra "size of buffer" argument.
Curses 1.15 Screenshot
Curses 1.15 Keywords
Curses 1.15
terminal screen handling
terminal screen
screen handling
curses
function
variants
3
functions
optional
Curses 1.15
Libraries
Programming
Bookmark Curses 1.15
Curses 1.15 Copyright
WareSeeker periodically updates pricing and software information of Curses 1.15 full version from the publisher, so some information may be slightly out-of-date. You should confirm all information before relying on it. Software piracy is theft, Using crack, password, serial numbers, registration codes, key generators is illegal and prevent future development of Curses 1.15 Edition. Download links are directly from our publisher sites, torrent files or links from rapidshare.com, yousendit.com or megaupload.com are not allowed
Featured Software
Want to place your software product here?
Please contact us for consideration.
Contact WareSeeker.com
Related Information
functions of management
trigonometric functions
functions math
functions of the liver
what are the functions of the liver
quadratic functions
functions of the heart
curses and hexes
jordan variants
liver function
curses spells
functional behavior assessment
how does the heart function
variants on a medieval tune
curses lyrics
functionalism
functional family therapy
function of the pancreas
Related Software
CuteNews provides a powerful news management system that uses flat files. Free Download
Cmenu is a Perl extension for menuing and data entry in perl scripts. Free Download
PDCurses is a public domain curses library for Win32, DOS, OS/2 and X11. Free Download
xmms-curses is a simple application for controlling XMMS from the command line. Free Download
Apache2::ASP was developed in an attempt to address some of the problems associated with web application development in Perl. Free Download
Tibco::Rv are Perl bindings and Object-Oriented library for TIBCOs TIB/Rendezvous. Free Download
Xcerdisp is an X windows version of Microsofts Pocket PC Remote Display Control powertoy (cerdisp). Free Download
Gequel is a MySQL GUI for manipulating records (insert, modify, delete, search). Free Download
Latest Software
Popular Software
Favourite Software