GNOME Developer Tutorials
In this section you will find tutorials for creating GNOME applications,
applets, components, and more.
We have tried to provide PostScript versions for you to print where
applicable. If there is a tutorial that is kept off-site and has no
PostScript, please contact the author.
Joining the GNOME Project
If you are considering joining the GNOME Project and would like help
finding out how to contribute, who to contact, or how to get started, read
Joining the GNOME Project.
Tutorial Topics
Tutorials are available that cover the following areas:
- Developer Platform:
-
Bonobo,
GConf,
Glade,
Gnome Canvas,
GnomeVFS
GObject,
Gtk+,
libxml,
libxslt,
ORBit,
Pango,
- Desktop:
-
Gnome 2,
Gstreamer,
Metacity,
Panel Applets,
Scrollkeeper
- Miscellaneous:
-
autoconf/automake,
CVS,
Internationalization,
gDesklets,
Gnome Icons,
Michael Meeks on C
-
Mark Galassi's autoconf tutorial
-
Shimaki Matsubara's Japanese autoconf/automake tutorial
-
Online version of GNU Autoconf, Automake, and Libtool from New Riders.
-
Dirk-Jan C. Binnema wrote a tutorial On Writing A Bonobo Control.
-
Part 1 of Michael Meeks' Introduction to Bonobo series: Bonobo & ORBit
-
Part 2 of Michael Meeks' Introduction to Bonobo series: Basic Bonobo use
-
Part 3 of Michael Meeks' Introduction to Bonobo series: Implementing a new component
-
Tom Tromey's tutorial on how to import a new GNOME project into the CVS tree.
-
Shimaki Matsubara's Japanese CVS Tutorial.
-
Browse the manual from CVS Home.
-
Martin Grimme's How to Make Desklets
-
Mikael Hallendal and Richard Hult (of Imendio) wrote: Introduction to GConf and GnomeVFS.
-
Havoc Pennington's article on Gconf online or a PostScript copy.
-
Rikke D. Gile's Graphical Interface Development with Glade2.
-
Eddy Ahmed wrote an introductory tutorial, Developing GNOME Apps With Glade, a Tutorial for writelinux.com.
-
Ishan Chattopadhyaya wrote an introductory tutorial, Starting off in Glade/GTK+.
-
Glade ships with a FAQ, a Turbo Start guide, and a manual that are accessible from the Help menu.
-
Mathieu Lacage's GObject tutorial. (pdf)
-
Mikael Hallendal and Richard Hult (of Imendio) wrote Getting ready for GNOME 2, Part 1, for IBM developerWorks' Linux Zone.
-
Daniel Robbins (of Gentoo Linux) wrote follow-on article GNOMEnclature: Getting ready for GNOME 2, Part 2, for IBM developerWorks' Linux Zone.
-
Malcolm Tredinnick's Porting applications to the GNOME 2.0 platform.
-
GNOME Accessibility for Developers
-
GNOME Human Interface Guidelines (1.0)
-
George Lebl wrote a nice tutorial, GNOMEnclature: Livening things up (Graphics made easy using the GNOME Canvas),for IBM developerWorks.
-
Mikael Hallendal and Richard Hult (of Imendio) wrote: Introduction to GConf and GnomeVFS.
-
Mikael Hallendal and Richard Hult (of Imendio) wrote Writing GnomeVFS Modules, for IBM developerWorks' Linux Zone.
-
Jakub Steiner's Gnome Icons Tutorial.
-
Application Development Manual ( PostScript | pdf )
-
Plugin Writer's Guide ( Postscript | pdf )
-
For a start you should take a look at the GTK+ 2.0 Tutorial
-
Tim-Philipp Müller's GTK+ 2.0 Tree View Tutorial. (tar.gz | pdf | docbook)
-
Havoc Pennington's mini FAQ on Setting Colors in Gtk+
-
Shimaki Matsubara's Japanese GTK Tutorial.
-
A Korean GTK+ tutorial.
-
Malcolm Tredinnick has written an excellent document, called Internationalising GNOME applications, that explains the process of adding translation support to an existing GNOME application.
-
Shimaki Matsubara's Japanese gettext Tutorial.
-
Christian Rose's L10N Guidelines for Developers.
libXML
-
James Henstridge wrote the "Using the SAX Interface of Libxml" tutorial that gives an explanation of what the SAX interface of libxml is, when you might want to use it, and how to write parsers with it. It is a good idea to read this if you are planning on making your application use XML to read/write data. HTML | PostScript.
-
The home page for the libxml (gnome-xml) project has some useful links and information.
-
John Fleck's libxml tutorial
-
John Fleck's libxslt tutorial.
-
libxslt home page.
-
Glynn Foster (of Sun Microsystems) wrote a nice tutorial, Creating a Metacity Theme.
-
Part One
Topics: Fatal Instinct: Bad List Iteration, A Good Pattern: Good List Iteration, Pitfalls With GHashTable
-
Part 2
Topics: Good Taste and Readability, BonoboXObject: Real World Usage, Inheriting vs. Aggregating
-
Part Three
Topics: Forward Declarations, Porting Code to Gnome 2.0, Avoiding Re-Entrancy Bugs, Dereferencing Function Pointers, Electric Fence
-
Ewan Birney has information on using ORBit (the CORBA implementation used by GNOME).
-
Read Gergo Erdi's tutorial on Writing GNOME panel applets using the GTK+/GTK-- widget set. HTML | PostScript (Gnome 1.x)
-
Andrew Burton's tutorial on Writing GNOME panel applets in Gnome2.
-
Tony Graham's The Pango Connection: Part 1.
-
Tony Graham's The Pango Connection: Part 2.
-
Dan Mueth's Writing ScrollKeeper OMF Files V1.0.
How You Can Help
If you would like to contribute a tutorial, refer to the
Developer Documentation Project page.