The GtkTreeView tutorial. An overview on GtkTreeView, GtkTreeModel, and related classes. It was written for GTK 2.x, but the API and design haven’t changed since then.
The “How do I” pages on the GNOME wiki. A list of short guides to help you implement specific functionality for integrating with GNOME.
The GTK Inspector; the inspector allows you to query the state of any GTK application, and change things like widget properties and CSS styling at run time.
OK, I just subscribed as you suggested on the gtk mailing list. But I am some sort of sceptical still, can not really believe that Mr E. Snowden joins this discourse forum.
For the documentation, when someone ask me, I generally point people to
Recently I discovered that a PyGTK book exists – never heard about that one before. Seems to be a clone of the C book from 2007 of Mr. A. Krause.
And finally, we have some Nim bindings with a mini tutorial too:
[EDIT] I just remembered the DEVHELP tool, which is designed to discover the GTK C API. I think it is very helpful to find structures and functions fast, also for languages other than C. I used it a lot when I wrote the experimental NEd Nim editor some years ago. I just launched it again, seems still to work, but fired some errors messages unfortunately: “(devhelp:1988): GLib-CRITICAL **: 07:41:58.732: g_source_set_ready_time: assertion ‘source->priv != NULL’ failed”
Documentation is indeed a pressing need for this project and so we’ll need to definitely think about how to write a good set of documentation for GNOME that is comprehensive. The fact that documentation is spread out all over the place and there is no canonical source making it hard to find resources to write GNOME code is something that should be fixed.