GTK+/Gnome Application Development
Penned by Havoc Pennington, GTK+/Gnome Application Development is clearly a jewel in the vast sea of programming books. Not only is it well-written, clear and humorous, but the book is also released under an open license, meaning you can download the entire text for free. The free text is available at http://developer.gnome.org/doc/GGAD. I would still recommend purchasing the print version, however, since ink on paper is easier on the eye than any computer monitor.
The first part of the book is an overview of the basics. Chapter One introduces Gnome, the second chapter introduces glib (the low-level utility library behind Gnome) and Chapter Three introduces GTK+.
Part II is, in itself, all you need to learn how to build a Gnome application. The fourth chapter explains how to create a source tree the Gnome way. Chapter Five goes over Gnome application basics, such as initialization, configuration files and session management. The core of the application, the GnomeApp widget, is covered in Chapter Six. The seventh chapter explains how to communicate with users through dialogs. Chapter Eight is a checklist that comes in handy when starting a new project.
Part III covers advanced GTK+ and Gnome techniques. Chapter Nine explains, in detail, the GTK+ object and type system. Gdk basics are dealt with in the tenth chapter. Chapter Eleven is a tutorial on creating new widgets, using GtkWidget. At a higher level than the Gdk basics covered in Chapter Ten, Chapter Twelve explains the GnomeCanvas, and Chapter Thirteen tells you how to write your own GnomeCanvasItem.
The first appendix is a listing of the hierarchy of GTK+ and Gnome objects, detailing which parents belong to which children and vice versa, and can be extremely useful at times. Appendix B lists every GTK+/Gnome header file and tells you what it contains. The third appendix holds the frequently asked questions, the fourth lists on line resources for further GTK+/Gnome enlightenment and the fifth gives you full code listings for programs in the book. The final appendix is the Open Publication License, under which the book is published.
If you're interested in GTK+ and/or Gnome programming, this book should be at the top of your shopping list. It's a delight to read and its utility is unquestionable. Five stars, without the slightest hesitation.
Ben Crowder has been working with Linux for the past two and a half years and has loved every second of it. He currently lives in Utah and can be reached at firstname.lastname@example.org.