Paul Bottin edited this page Nov 25, 2012 · 6 revisions
Clone this wiki locally



The curses library provides a set of functions to access the console or terminal on a very low level. It also provides a kind of window manager where the term "window" refers to a rectangular area of the console screen.


  • You can control all features that the underlying terminal provides, including colors, font attributes or console mouse support.
  • Due it is a native library and the V8 script engine does not have to to perform expensive operations (like for example refreshing a portion of the screen) the scripts run very fast.
  • The window handling capabilities are ideal for creating console user interfaces.


  • If you just want to print "Hello world!" or move the console's cursor, this library won't make it easier.
  • You cannot use standard in- and output provided by node while curses uses it.
  • You will need to have one of the supported compiler toolchains installed.
  • Although the curses library is available for many platforms the implementations may differ in some aspects. This means the programmer has to keep an eye on platform interopability.


Hello World

Screenshot 1


Screenshot 2