curses
Bindings for the native curses library, a full featured console IO library.
Compiles on Windows with Visual Studio 10 or Linux/UNIX with GCC toolchain.
The curses library for the target system will automatically be downloaded
and compiled into a static library on installation.
On Windows the PDCurses library will be used and on Linux/UNIX it links against
the ncurses library.
Installation
To install curses just type:
npm install curses
or install from GIT
git clone git://github.com/fresc81/node-curses curses
cd curses
npm install .
Rebuild
If you have changed the C++ sources:
node-gyp rebuild
Usage
var curses = require('curses')
, stdwin = curses.initscr()
, GLYPH_COLOR = 1
, BORDER_COLOR = 2
;
if (curses.has_colors()) {
curses.start_color();
curses.init_pair(GLYPH_COLOR, curses.COLOR_GREEN, curses.COLOR_BLACK);
curses.init_pair(BORDER_COLOR, curses.COLOR_WHITE, curses.COLOR_BLACK);
}
curses.wattrset(stdwin, curses.color_pair(BORDER_COLOR));
curses.wclear(stdwin);
curses.box(stdwin, 0, 0);
curses.wrefresh(stdwin);
var sub_height = 20
, sub_width = 30
, sub_top = 1
, sub_left = 1
, subwin = curses.subwin(stdwin, sub_height, sub_width, sub_top, sub_left)
;
curses.wbkgd(subwin, ' '.charCodeAt(0)|curses.color_pair(GLYPH_COLOR)|curses.A_REVERSE);
curses.wclear(subwin);
curses.box(subwin, 0, 0);
curses.wmove(subwin, 1, 8);
curses.wattrset(subwin, curses.color_pair(GLYPH_COLOR));
curses.waddstr(subwin, "Hello world!");
curses.wrefresh(subwin);
curses.wgetch(subwin);
curses.endwin();
Look at the bottom of curses.cc to
see what already has been implemented.
See the ncurses manual for descriptions of the functions.
ncurses HOWTO
ncurses manual