Chapter 1. GNOME-DB Programming

Table of Contents
Keeping Up with the Developers
The GNOME Application Framework
Gnome Programming

GNOME (the GNU Network Object Model Environment) is an ongoing project that aims to create a complete user environment for Unix and Unix-like systems. The term "user environment" is a little vague. To clarify, GNOME is not a windowing environment (instead, it uses the X Window System); it is not a window manager (GNOME cooperates with several window managers). Instead, the GNOME user environment consists of:

Applications

GNOME includes a variety of software applications, from complex applications such as personal information managers, spreadsheets and word processors, to simple applications such as address books, diversions, and multimedia utilities.

Application Framework

This part of GNOME is of most interest to us. The application framework includes the libraries, documentation, and utilities that you'll use to build graphically rich applications that rely on features of the GNOME environment. Some of the GNOME libraries include Gnorba, a wrapper around CORBA; GTK+, a widget set and event-driven GUI application development kit; and GLIB, a library that includes support for data structures such as hashes and linked lists.

Session Management

GNOME session management helps applications remember what state they were in when you log out. The next time you log in, the applications restores the desktop and applications. Web browsers can remember what document you were browsing, and your word processor can open the document you were editing and position the insertion point where you left off.

Desktop Environment

The GNOME file manager resembles file managers found in other operating systems (such as the Macintosh Finder and Windows Explorer). It not only lets you browse files on your computer, but supports a variety of other file systems (including tar files and FTP sites). It also supports a document-centric user interface model by launching the corresponding application when you double-click on a document.

Figure 1-1 shows a screenshot of a GNOME desktop, with the Gnumeric spreadsheet and the GNOME calendar applications running.

Figure 1-1. The GNOME Desktop

Keeping Up with the Developers

Although not for the faint of heart (or those wishing for a stable system), nothing is more exhilarating than tracking the development versions yourself. The best way to keep up with the latest developments is to learn about current developments, get the source, and compile it. To do this, you can follow these steps:

Subscribe to mailing lists

Before you download or compile the source code, monitor some of the core mailing lists for a while. There is a list of mailing lists at www.gnome.org. You can either subscribe to the lists or use the Web page to read recent postings. If you are planning to build GNOME from source, you probably want to read gnome-devel-list to figure out what the current trends in GNOME development are.

Read the Gnotices

Current news on GNOME can be found at http://news.gnome.org/gnome-news/.

Use CVS

Like many open source projects, GNOME uses CVS to allow many users to collaborate on the same source code. You can find instructions on getting GNOME out of CVS in the GNOME FAQ ( http://www.gnome.org/gnomefaq/).

Compile, compile, compile

Follow the instructions in the GNOME FAQ to keep your local copy of the CVS archive up to date, and recompile the source code as often as you like.