GTK3+, Glade, GCC, and all that stuff.

December 22, 2025

Coding Applications in a Shifting Environment

Building apps in Linux is like building on sand. Many underlying resources regularly morph into something similar but different. And this usually breaks downstream code. So, mainating a working app becomes an exercise in fixing things that weren't broke.

On favorite example are the GCC/G++ compilers. Successive versions often change the rules about syntax. This, a program that compiled perfectly well a week suddley becomes riddled with errors. Fopr the developer, it's a constantly moving target.

Several of the applications presented here use GTK 3+ and Glade.

Another problem area is GUI development. GTK (formerly GIMP ToolKit) is a free open-source widget toolkit for creating graphical user interfaces (GUIs) targeted at Linux and specifically GNOME (though with some use in other desktop environments). It is licensed under the terms of the GNU LGPL, allowing both free and proprietary software to use it. (Wikipedia)

In December, 2020, GTK4 was released. GTK4 breaks GTK3. Code written for GTK3, in most cases, needs to be substantially modified to work in GTK4 and many features in GTK3 are not available in GTK4.

Likewise, GTK 3 broke GTK 2. It was argued that GTK4 would be a stable release and that future releases would not require significant code re-writes. However, the road map for GTK5 calls for significant changes to the GTK 4 API. This make GTK 4 even less attractive.

GTK 3 is no longer under development but it is maintained. Many projects (such as GIMP, Cinnamon, MATE, XFCE, and others) are based on GTK 3. With another major mess impending with GTK 5, it is uncertain how many projects will make the effort to port to GTK 4. It is more likely that GTK3 will fork and continue development under another name. Although, to be fair, some refer to GTK4 is an incompatible fork of GTK3.

GTK3 remains functional, maintained, and is supplied in most Linux distro repositories.

Glade is a GUI interface builder which generates XML files for GTK3 projects. It is also a casualty of GTK4. It's output has limited use with GTK4. It's final release was on 10 August 2022. It is presently not under development but is a stable and mature product that works well. Unfortunately, many distros have dropped it from their repositories as it is no longer under maintenance. It is, however, available at:

https://glade.gnome.org/

A replacement, named Cambalache, is under development but it is considered a work in progress by many.

Bottom Line

- At present, I have no plans to port my code to GTK4.

- GTK3 works, is maintained, and will be around for many years to come.

- None of the code here requires Glade to run but it is needed if the code needs to be modified with respect to the GUI,

- Glade works, is not currently maintained but, did I mention, it works?

- My guess is that we will soon see a fork of GTK3 and Glade and wave goodbye to the GTK crash test.

Stay tuned.


PulseAudio

PulseAudio has been replaced by pipewire. Several apps available on this site were written for PulseAudio. Pipewire has a PulseAudio API which permits software written for PulseAudio to work with pipewire. To date, I have not seen any problems other than a default buffer issue which was easily corrected.