New gtk-rs release and more

The latest gtk-rs release is officially available since today. The perfect time to explain some of the contributions I made.

Docs, docs, docs …

A huge amount of effort went into documentation for this release. The people working on gtk-rs gir provided huge improvements to the automatically generated docs! I also tried to contribute to those efforts and, among other things, updated the content of the crate landing pages.

Landing page generated by gir-rustdoc.

Besides the content there was another ongoing problem with docs: For license and technical reasons gtk-rs docs cannot be on That also meant that there was no real solution for handling docs for different versions. While it felt pretty wrong to redo things that already does, I created gir-rustdoc. It generates a landing page listing the documentation links for different releases. It ensures that references to gtk-rs crates work and automatically links to the correct version. On GitLab the script collects different doc versions from artifacts and merges them to one GitLab page. And finally, it hacks a warning about outdated and development versions into the documentation pages. I tried ensure that the use of the script needs very little configuration and integrates as seamless as possible. However, I should have created a test repository for GitHub as well before things landed on the gtk-rs repos there. Debugging in CI with a real project usually isn’t fun.

Redesign of

What originally started as a small design improvement ended up in a complete redesign of the website. The original website was from the very early days of the project. I’m very happy that we developed the start page into a direction that provides space for many aspects of the gtk-rs projects. These include crates, the GTK 4 in Rust book, related rust bindings like libadwaita-rs and the documentation of gtk-rs gir.


A lot of work went into consolidating documentations, tutorials and examples. I am optimistic that all those efforts will simplify onboarding a lot.

I have not touched web design for many years. Having features like flex-boxes available really simplifies web-design a lot. That was quite a nice experience 🙂

Rust Handy bindings

Besides updating the Handy bindings to work with the new gtk-rs version I also fixed a bunch of broken links in the documentation and added a basic example. Last but not least, there is now support for Handy 1.2. So the new libhandy-rs 0.8 release is already available and compatible with the latest gtk-rs release!