this is a comprehensive and well-written book that will stand you in good stead getting started with GTK/Gnome development
GTK+ was originally written to build The GIMP, an excellent graphics manipulation program freely available on most UNIX/Linux systems, subsequently used as the base for building Gnome, a popular (and freely available) GUI desktop environment for UNIX and Linux environments.
This book assumes a degree of 'C' programming and Linux development knowledge, but little prior knowledge of GTK or GNOME and you don't have to be a Linux programming expert to get started with this book. Coverage starts with the basics of the library utilities, but quickly moves on to real applications. There is good coverage of all the main topics, though I did notice that where there are GTK and Gnome overlaps, such as menus, the book skips the GTK version almost completely and describes only the Gnome version. I think this is reasonable, given the title and the fact that the Gnome versions generally are more advanced. The book stops short of trying to be a complete reference to Gnome, so there is only passing mention in the introduction of advanced topics such as libgorba and bonoobo. That said, there is plenty of well-explained material in the book and a reasonable amount of example code, though some of these examples are of code from inside gnome itself, which I wasn't sure was as helpful as an example of application code would have been.
Havoc Pennington is one of the Gnome developers and the insider knowledge shows. For the adventurous there is even a short section on how to install the Gnome source tree and an overview of the autoconf and automake configurations that should be set for compiling it. The book is well written, with those extra insider tips that can make all the difference. So long asyou are not looking for information on the bleeding edge of Gnome development, this is a comprehensive and well-written book that will stand you in good stead getting started with GTK/Gnome development.