The FAQ authors want to thank:
The original authors of GTK+ were:
Since then, much has been added by others. Please see the AUTHORS file in the distribution for the GTK+ Team.
GTK+ is a small and efficient widget set designed with the general look and feel of Motif. In reality, it looks much better than Motif. It contains common widgets and some more complex widgets such as a file selection, and color selection widgets.
GTK+ provides some unique features. (At least, I know of no other widget library which provides them). For example, a button does not contain a label, it contains a child widget, which in most instances will be a label. However, the child widget can also be a pixmap, image or any combination possible the programmer desires. This flexibility is adhered to throughout the library.
Peter Mattis informed the gtk mailing list that:
"I originally wrote gtk which included the three libraries, libglib, libgdk and libgtk. It featured a flat widget hierarchy. That is, you couldn't derive a new widget from an existing one. And it contained a more standard callback mechanism instead of the signal mechanism now present in gtk+. The + was added to distinguish between the original version of gtk and the new version. You can think of it as being an enhancement to the original gtk that adds object oriented features."
GTK+ == Gimp Toolkit
GDK == GTK+ Drawing Kit
GLib == G Libray
In the GTK+ distribution's doc/ directory you will find the reference material for both GTK and GDK, this FAQ and the GTK Tutorial.
In addition, you can find links to HTML versions of these documents by going to http://www.gtk.org/. A packaged version of the GTK Tutorial, with SGML, HTML, Postscript, DVI and text versions can be found in ftp://ftp.gtk.org/pub/gtk/tutorial
There are now a couple of books available that deal with programming GTK+, GDK and GNOME:
The example code from Eric's book is available on-line at http://www.bcpl.net/~eharlow/book
The free version of the book lives here: http://developer.gnome.org/doc/GGAD/
And Havoc maintains information about it and errata here: http://pobox.com/~hp/gnome-app-devel.html
Information on mailing lists relating to GTK+ can be found at:
http://www.gtk.org/mailinglists.html
First, make sure your question isn't answered in the documentation, this FAQ or the tutorial. Done that? You're sure you've done that, right? In that case, the best place to post questions is to the GTK+ mailing list.
Bugs should be reported to the GNOME bug tracking system ( http://bugs.gnome.org). To report a problem about GTK+, send mail to submit@bugs.gnome.org.
The subject of the mail should describe your problem. In the body of the mail, you should first include a "pseudo-header" that gives the package and version number. This should be separated by a blank line from the actual headers.
Package: gtk+ Version: 1.2.0
Substitute 1.2.0 with the version of GTK+ that you have installed.
Then describe the bug. Include:
--sync
command line option.
There is an on going port of GTK+ to the Windows platform which is making impressive progress.
See http://www.iki.fi/tml/gimp/win32 for more information.
A list of some GTK+ based application can be found on the GTK+ web server at http://www.gtk.org/apps/ and contains more than 350 applications.
Failing that, look for a project to work on for the GNOME project, http://www.gnome.org/ Write a game. Write something that is useful.
Some of these are:
In addition to the above, the GNOME project ( http://www.gnome.org) is using GTK+ to build a free desktop for Linux. Many more programs can be found there.
Ask on gtk-list for suggestions. There are at least three IRC clients already under development (probably more in fact. The server at http://www.forcix.cx/irc-clients.html list a bunch of them).