The Gnome Development Framework: Gnome Libraries
The libraries in this section are a part of the gnome-libs package and were developed specifically for the Gnome Project.
libgnome is a collection of non-GUI-related routines for use by Gnome applications. It includes code to parse configuration files, for example. It also includes interfaces to some external facilities, such as internationalization (via the GNU gettext package), argument parsing (via the popt package), and sound (via the Enlightenment Sound Daemon, esound). The gnome-libs package takes care of interacting with these ex- ternal libraries, so the programmer does not need to concern herself with their im- plementation or availability.
libgnomeui collects GUI-related Gnome code. It consists primarily of widgets de- signed to enhance and extend GTK+. Gnome widgets generally impose user interface policy, which permits a more convenient API (since there is less for the programmer to specify). It also results in applications with more consistent interfaces, of course.
Highlights of libgnomeui include:
• The GnomeApp widget, which makes it easy to create a nice main window for your application. It uses another widget called GnomeDock which enables users to rear- range and “undock” toolbars.
• The GnomeCanvas widget which makes it easy to write intricate, flicker-free cus- tom displays.
• The Gnome stock pixmaps (icons for open, close, save, and other operations).
• Convenient routines for creating and using dialogs.
• The GnomePixmap widget which is more versatile than GtkPixmap.
libgnorba provides CORBA-related facilities, including a security mechanism and object activation. (Object activation is the process of obtaining a reference to an object that implements a given interface; it can involve executing a server program, loading a shared library module, or asking an existing program for a new object instance.)
This small library contains a terminal widget (ZvtTerm) you can use in your Gnome programs.
This library contains graphics rendering routines by Raph Levien. The routines in- cluded here are released under the GNU Library General Public License and used in the GnomeCanvas widget; Raph Levien also sells an enhanced proprietary ver- sion. libart_lgpl provides antialiasing, microtile refresh regions, and other magic. In essence it is a vector graphics rasterization library, functionally analogous to the PostScript language.