ISBN 0-7357-0078-8 Price £28.99 UK
Havoc Pennington with a foreword by Miguel de Icazza
Foreword, 13 Chapters, 6 Appendices and Index in 496 pages
Chapter List
1 Introduction
2 glib: Portability and Utility
3 GTK+ Basics
4 Creating Your Source Tree
5 Gnome Application Basics
6 The Main Window: GnomeApp
7 User Communication Dialogues
8 Gnome Application Checklist
9 The GTK+ Object and Type System
10 Gdk Basics
11 Writing a GtkWidget
12 GnomeCanvas
13 Writing a GnomeCanvasitem
Appendix
A
GTK+/Gnome Object Hierarchy
Appendix
B
Table of Header Files
Appendix C
Frequently Asked Questions
Appendix D
Online Resources
Appendix E
Code Listings
Appendix F
Open Publication Licence Version 1.0
Index
Synopsis
Gnome and the Gnome foundation have been around for a while now. It has been accepted as a respectable desktop system to the extent that Hewlett-Packard are sending out some of their computers with Gnome as the default desktop software. The founder of the Gnome foundation is Miguel de Icazza. Miguel has set up Ximian Inc in more recent times which produces software which is similar to Gnome software. The difference is that Ximian is aimed at a paying commercial market. Applications such as Evolution have been produced. This is essentially a look alike clone of Outlook for the GNU/Linux desktop.
Review
Over the years as free software has developed and evolved we have seen it
become more sophisticated and user friendly. Miguel de Icazza who has
written the foreword to this book spends a lot of time explaining to people
that free software and the GNU/Linux desktop should be easy to use.
He starts his foreword by telling people about the importance of free
software. The introduction takes this one stage further by
asking the question "What is Gnome ?" and the following text is a good example
of the sort of things that people should know about if they want to understand
some basic ideas about Gtk+ and Gnome programming methods. The author
of the book is Havoc Pennington. He started programing Gtk+ with version
1.0 and has been an active Gnome developer since then. Five different
technical reviewers helped to improve and reshape the book before it was
published. The author makes this clear in his acknowledgements and
thanks them all of their hard work.
The rest of the book goes into uncovering the GTK+ object system, working with the event loop, managing the Gdk substrate, writing custom widgets, and mastering the GnomeCanvas. There are three parts which make up the thirteen chapters. Part I is the Overview followed by PartII which looks at building a Gnome Application. Part III goes into Advanced Gtk+/Gnome techniques. An assumption is made that the reader is conversant with the C programing language and GNU/Linux development.
It's probably at about chapter three that the useful stuff begins with Gtk+ basics. Some helpful hints about the code are introduced. Hello World is shown yet again in yet another programming language. The reader is taken through how it works by stages of examples that show various bits and pieces. Some basic visual elements are shown to get the reader used to what comes next. It's also at this point that the main loop and main loop basics are explained before moving on to more advanced concepts. Chapter four starts by creating your source tree. An overview of this is presented and a source tree list is shown to help the wouldbe developer. Some relevant GNU documentation is mentioned later in this chapter. At chapter five Gnome application basics are shown. This is a rudimentary introduction to aspects of a Gnome application. The rest of the book up to chapter twelve explains the workings of an application and how to get the best out of development methods. At chapter twelve the GnomeCanvas is shown. This is an important part of learning about the Gnome development methods. It shouldn't be missed. Chapter thirteen follows up by giving examples of the GnomeCanvasItem. The appendices finish off a useful volume with some some information which may not be available elsewhere.
If you are someone who has worked in GNU/Linux development and you would
like to know more about the use of Gtk+ tools and Gnome development then you
should find that this is a book for you.
Review by Richard Ibbotson
Richard is the organiser for Sheffield Linux User's Group
– you can view their web site at –
http://www.sheflug.co.uk.