Ncurses

ncurses is a library for use with C programs, providing the program with functions to manipulate a video monitor operating as a character display. Examples of this sort of program are editors such as vi and emacs, when not being run as full GUI programs. The functions provided include such things as moving the cursor, changing background and foreground colors, and clearing the screen. It does not support vector images, image manipulation. or the display of photos.

When you run a command line program, usually it's the sort where lines of text scroll up the screen, perhaps stopping for you to enter some input -- all on a line-by-line basis. These sorts of programs are said to have a command line interface. You run them from a terminal or terminal window.

Other terminal programs present to you a sort of text-based text-only GUI that takes place right there in the terminal. Programs like vim and lynx do this. When run, these programs take over the terminal's display, and use all width x height elements to create a sort of textual blocky GUI. Usually, this feat is accomplished using the ncurses library.

Ncurses-based programs tend to be fairly easy to use, and very fast.