The GtkBook is an ambitious project that aims to create new useable and world class documentation for the Gtk tool kit, in code as well as concepts.

Its is aimed to be useful to the hacker as well as the novice in their attempt to master the nuances of the Gtk toolkit to develop better free-software faster and easier.

The documents are to be written in simple unprepossesing english and are expected to be translated to many languages as soon as the project nears initial release stages.

Gtk is a toolkit thats patronized widely and rightly at that. Its the initial learning curve that we target in this book and we have to overcome for any serious programmer to contribute to the Gtk world.

The project is titled A Journey through GTK.

Development Mode

This project will aim to write this book, via the *

  • this wiki,
    • Conventions for the wiki, please include all project files with a GtkBook prefix, so that we can ask someone to tar.gz the GtkBook* files to us for updating in our SF repository.

  • mailing lists gtkbook[at]freelists[dt]org).
    • Write files in LaTeX and post it to the list.

Anyone can contribute via WIKI here, and we will update the code/docs in our gtkbook repository at SourceForge. The main idea of opening up a wiki is to enable faster development of the book.


We will use the GNU FDL'd license, or if GNOME foundation needs another model which is free, then fine.

Rationale behind the license is to follow GTK+ in development, as its a moving target. Other licenses will obsolete the work and be self destructive.


We would be really happy if you can finish this book with all the details in this TOC's. A brief version of the actual TOC is here.

Table Of Contents

Table of Contents
Copyrights Copyrights,Licenses and Legal B.S [FDL'ed]
Acknowledgements Acknowledgements
Chapter1       Introducing GTK+, GDK & GLib
Chapter2       Beginning on the GTK+ journey
Chapter3       The Basic Widgets
Chapter4       MVC based Widgets
Chapter5       Pango, Fonts & i18n , l10n : The pango library
Chapter6       GTK+ & GDK: Color & Graphics
Chapter7        The object model of Gtk: GObject,Glib subs systems
Chapter8       Accesibility in Style, with GTK+: Accelerators, Stock, Style
Chapter9       Introduction to Glade & LibGlade
Chapter11       A peek into GNOME progamming.
Chapter12       Components:Extra GNOME programming
Chapter13       Paradigms of event driven programming.
Chapter14       Platforms and Language Bindings. {C,C++,C#,Python,Perl,Ruby,Scheme,Octave,..}
Appendix A
Support for Gtk, mailing lists, URL, useful websites.: Setting up GTK+ on GNU Linux Win32. Compiling from the source.
Appendix B
Limited, GTK+ API Reference for used functions in example code.and explanations.
Appendix C
Using vi and emacs: pointers to tutorials, and docs.A simple 2 page Vi 2 page Emacs tutorials.
Appendix D
GNU command-line programs at a glance. [patch, diff, cvs, gdb etc..]
Appendix E
The gcc compiler and other GNU tools libtool,automake, autoconf etc.
Appendix F
Source code of these progams and associated Makefiles on CD!
Appendix G
Online resources and websites
GlossaryGlossary of Terms:

Contact Person

You can mail me or the Lists for ideas and discussion of the project.

Download Book

A preliminary release with examples, code and docs is available at the page.


Attic/GtkBook (last edited 2013-11-23 00:05:29 by WilliamJonMcCann)