Useful documentation for GTK

A list of useful links for writing applications with GTK.

  • The getting started tutorial in the API reference.
  • 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.
  • The GTK icon browser utility.

Will try to keep this up to date. Suggestions and links welcome!

Introduction to GTK application development with Vala by Alecaddd:
https://www.youtube.com/watch?v=7z0NVCrJr6A&list=PLriKzYyLb28mn2lS3c5yqMHgLREi7kR9-

Maybe Relm incl crates.io: Rust Package Registry could be added.

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

https://developer.gnome.org/gtk4/stable/

https://developer.gnome.org/gnome-devel-demos/stable/

Often people are not able to find these.

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”

Step by step GtkGLArea examples: Brick out, Asteroids, and Space Invaders

A blog covering usage of GTK with the D language. 35 entries and counting…

Topics to date:

  • installation of a D and GtkD development environment in both Linux and Windows,
  • various Window widgets and operations (sizing, placement, etc),
  • Buttons (image, labelled, radio, checked, etc.),
  • Menus, sub menus, as well as using images, checkboxes, and radio buttons as menu items,
  • accelerator keys and mnemonics,
  • Containers such as Boxes and Grids,
  • signals, callbacks, and events,
  • harnessing mouse events including the scrollwheel,
  • OOP development for D and GtkD.

Future topics include:

  • Dialog windows of various types,
  • spin, volume, and scale buttons,
  • combobox, comboboxtext, liststore and treeview widgets,
  • a bunch more that are still in the planning and research stage.

PSA: GJS documentation is back up and can be found at https://gjs-docs.gnome.org/

Thanks to Meg, Philip and Andrea :smile:

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.

I created an YouTube channel about Working with GTK3, CSS and C Language:

This can be useful for Beginners.
25 entries and counting…

The official rust tutorial is Introduction - GUI development with Rust and GTK 4, from the gtk-rs website