Difference between revisions of "Applications/Ncurses"

From HPC
Jump to: navigation , search
(Created page with "==Application Details== * Description: ncurses (new curses) is a programming library providing an application programming interface (API) that allows the programmer to write...")
 
m
Line 16: Line 16:
 
* Form library
 
* Form library
 
* Menu library
 
* Menu library
 +
  
 
===Compiling Programs===
 
===Compiling Programs===
Line 28: Line 29:
 
==Further Information==
 
==Further Information==
  
[[https://www.gnu.org/software/ncurses/ https://www.gnu.org/software/ncurses/]]
+
* [[https://www.gnu.org/software/ncurses/ https://www.gnu.org/software/ncurses/]]
 +
* [http://invisible-island.net/ncurses/ http://invisible-island.net/ncurses/]

Revision as of 13:50, 3 April 2017

Application Details

  • Description: ncurses (new curses) is a programming library providing an application programming interface (API) that allows the programmer to write text-based user interfaces in a terminal-independent manner. It is a toolkit for developing "GUI-like" application software that runs under a terminal emulator. It also optimizes screen changes, in order to reduce the latency experienced when using remote shells.
  • Version: 6.0
  • Modules: ncurse/6.0
  • Licence: GNU

Usage Examples

Libraries provided

Ncurses provides the following sub libraries for use within the library:

  • Curses library
  • Panel library
  • Form library
  • Menu library


Compiling Programs

In order to use the library, it is necessary to have certain types and variables defined. Therefore, the programmer must have a line:

         #include <curses.h>

at the top of the program source. The screen package uses the Standard I/O library, so <curses.h> includes <stdio.h>. <curses.h> also includes <termios.h>, <termio.h>, or <sgtty.h> depending on your system. It is redundant (but harmless) for the programmer to do these includes, too. In linking with curses you need to have -lncurses in your LDFLAGS or on the command line. There is no need for any other libraries.


Further Information