Chapter 2. Gnome 1.x

Table of Contents

Gnome 1.0.x and Gnome 1.2.x
Gnome 1.4.x

The Gnome 1.x platform evolved in two steps: the first releases stayed completely API and ABI compatible, without any additions. These spanned the 1.0.x and 1.2.x versions. The 1.4.x versions introduced numerous new libraries and services which are now integrated in the core Gnome 2.x releases.

Gnome 1.0.x and Gnome 1.2.x

Better than discussing it for ages, the diagram below describes the Gnome 1.x platform:

This platform was based on GTK/glib 1.2.x with five other important packages:

  • imlib was used as the image loading library for Gnome: GTK did not offered such services and it was felt that being able to easily load a .png or .bmp file from the hard disk onto the screen was important.

  • libglade was a library which could be used to create at runtime from an XML file a GUI: it would instantiate widgets on the fly and connect the application's callbacks to the relevant widget's signals.

  • libxml 1.x was an XML parsing library.

  • ORBit was the CORBA implementation used in other Gnome applications: it was implemented the C mapping as defined by the specification and was used for IPC (Inter-Process-Communication). It was felt that the network transparency this system provided could allow us to create with minimum work a distributed system.

  • gnome-libs was the core library which put everything together: it contained useful re-usable widgets not part of GTK 1.2.x, libart, a high quality low-level vector graphics library, a canvas widget based on libart and libgnorba, a library used to instantiate CORBA applications (the equivalent of fork/exec for CORBA objects).