Curses

Curses is a terminal screen handling and optimization.
Download

Curses Ranking & Summary

Advertisement

  • Rating:
  • License:
  • Perl Artistic License
  • Price:
  • FREE
  • Publisher Name:
  • William Setzer
  • Publisher web site:
  • http://search.cpan.org/~giraffed/Curses-1.21/gen/make.Curses.pm

Curses Tags


Curses Description

Curses is a terminal screen handling and optimization. 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 system's curses(3) library. For descriptions on the usage of a given function, variable, or constant, consult your system's 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 system's curses(3) library works.Unified FunctionsMany 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 aren't 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( , , 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.ObjectsObjects 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 ConcernsIt 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. Requirements: · Perl


Curses Related Software