An object-oriented console widget library
Introduction
ocurses (or Object-Curses) is a widget library for use in the console (ie,
text mode). Despite the growing popularity and availability of graphical
interfaces (think the M$ market here) the console is an important part of
a system. In order to make writing console apps (such as fullscreen editors)
easier, ocurses takes advantage of the C++ object-oriented system to provide
and interface to the lower-level ncurses calls by means of widgets (simple
building blocks such as buttons, dialogs, menus and tables). Many X widget
libraries are available such as Gtk+ and Motif, but ocurses is AFAIK the
only text-mode one for C++ (someone please correct me here).
I began ocurses because I found myself rewriting the same code for many little
applets; it would save me effort in the long run to have a widget library. I
tried to make the interface simple without obscuring flexibility, and if it
resembles Gtk-- it's because Gtk-- is the (other) widget set I use most.
Status
Latest release: alpha 20000821
ocurses is still at the alpha stage of development. That means it's still being
written and many parts will be incomplete, buggy or missing. However, I'm open
for suggestions as to things to add, which may or may not be there in version
0.1
Developers:
Downloading
You can get ocurses from the sourceforge project page (see below).
Dependencies
You will need libraries for C++ development, and ncurses. I use version 4.2,
but that shouldn't matter too much. Sometime in the future I plan to remove
ncurses from ocurses and handle the terminal myself.
Compilation
ocurses should be fairly easy to compile. Once you've downloaded the archive,
untar it. It will unpack into a directory named ocurses/. In this directory
you will find additional documentation.
A makefile is provided to compile. ocurses doesn't use autoconf. It is
developed on a RedHat 6.2 (Intel) system, but it should be reasonably portable.
If you have difficulty compiling, first edit the Makefile to make sure it's
pointing at the right libraries and header files. Still having problems?
Email me and I'll help sort it out.
Installation
make install
should do the trick. It should install everything OK
(you will need to do it as root, though). Personally I have a symlink from
/usr/local/lib/libocurses.so to ocurses in my home directory.
Links
Thanks to the people of SourceForge who are kindly hosting this and many
other projects!
BTW UK folks can get penguins at
Cybercandy.
I am in no way affiliated with ifive brands or cybercandy
You can contact me by email,
leo.howell@ntlworld.com.
(C) Copyright 2000 Leo Howell