The GTK development team has just announced GTK 4.0; The latest stable version of the popular graphical user interfaces development toolkit. After 4 years of continuous work, the GTK 4.0 series brings tremendous changes over the GTK 3.X branch.
You can read more about these changes in details from the official GTK blog post, which we’ll not copy here since you’d need to see the detailed videos and screenshots by yourself.
However, there are some interesting remarks about GTK 4.0
Some API Stability At Last
GTK 4.0 is marked as API-stable; Meaning that if you were a software developer and you wanted to build a UI for your program using GTK 4.0, then you don’t need to be afraid of API-breaking changes in GTK 4.2, 4.4 or 4.6, as they will not exist at all.
The GTK development team is committed into making the API stable and backward compatible for all the minor versions in the stable 4.X branch:
Which means that as a software developer, you can start porting your GTK 3 application into GTK 4.0 right now.
GTK 4.2 and 4.4 may add some new features, but they will never screw up your software, as the developers promise.
Each major GTK version (E.g 5.X or 6.X) are expected to be released after 2-3 years.
Feels Bad For The Latest Arrivals
Xfce 4.14 took 4 and half years to port from GTK 2 to GTK 3, and barely finished around just one year ago.
GIMP, the original program for which the entire GTK toolkit was written in the first place, released GIMP 2.99.2 just one month ago, finally featuring the GTK 3 interface by default.
It feels bad for these projects which now find their selves in need of porting to GTK 4.0, to enjoy its new features.
Of course, none of these projects have to start immediately porting to GTK 4.0. But GTK 5.0 should be released in around 2-3 years according to the current plans announced by the GTK team, and hence these projects should definitely speed up or they will miss GTK 4.X as well.
GIMP started working initially on the GTK 3 port in 2012, and didn’t finish until 2020. How many years will it take it to port to GTK 4? One can wonder.
These large projects seem to take more than 3 years to completely finish their ports, which means that in the future, they might need to skip some GTK releases in order to not keep repeating the porting process each few years.
It is for this reason, Blender, one of the most successful open source projects in history, chose to build its own UI toolkit and made it under its control rather than depending on another party to build it. (It is a custom UI built on OpenGL).
But should GIMP and Xfce and similar projects do the same? Only time will tell.
For now, you can download GTK 4.0 from its official website, or expect its arrival soon in your distribution’s official repositories.
FOSS Post is a high-quality online magazine about Linux and open source software. With a team of professional writers from all over the world, we bring you the latest articles, analysis and reviews related to open source.
Articles published with this account are written as a collaborative effort between writers. You can email us at firstname.lastname@example.org
So I’m curious. I have a software project I began in late 2020 / early 2021, using Gtk3.0. It has already surpassed my expectations in terms of raw power achieved, having never worked with Gtk before.
In the process of developing the application, however, I frequently found many much needed functionality that was DEPRECATED, forcing me to look further for functionality that was up to date, so I could use it with Gtk3.0.
Now that Gtk4.0 has been released in 2020 (I believe), I’m thinking I better get to porting my application over to Gtk4.0. Only thing is, I’m using Raspberry Pi OS (Debian Linux) on a Raspberry Pi, and for whatever reason, Debian has yet to include the runtimes needed in support of Gtk4.0. This is somewhat maddening, I must admit, and unfortunately indicates to me that very little (if anything) has improved in this aspect of the software industry after years and years.
I have noticed, nearly ALL published books on Gtk are copyright 2008 (or Older). Simon Long’s Intro to C & GUI Programming is the exception, published in 2019. In his book, Simon makes reference to Gtk2.0, yet Gtk3.0 must have been released soon afterward.
I have broached this subject in the Gtk forums, only to receive very little response, some of which has come with more than a hint of an attitude.
So those of us who use Debian Linux (or Mint and possibly Ubuntu) may be left out in the cold for how long? Unless we are able to follow the incredibly long witches brew of a recipe on the Gtk website that explains how to BUILD Gtk4 from source code. Starting with Meson and then Ninja? After that we must install (in order) about 4 or 5 modules, before finally building our own Gtk4 binary?
If there are millions of Raspberry Pi owners, how many of us are going to be redundantly doing the same thing, merely to try and keep our Gtk applications up to date? I apologize for the hint of sarcasm on my part. I would just like to roll up my sleeves and focus on bringing my application up to date.
Anyway, hats off to Gtk for making such an impressive platform in the first place!
You could try Flatpak to become independent from your distribution’s packages.
I am working in a gtk3 fork since some time ago:
I ported some applications and it just works.