GTK 4.0 Toolkit Officially Released
GTK 4.0 features new widgets and reworks to existing elements, integrated media playback support, GPU acceleration improvements like work on its new Vulkan renderer, and better macOS support are some of the leading highlights. Some other additions include data transfer improvements, overhauling shaders, GPU accelerated scrolling, custom entry widgets are easy to make, OpenGL rendering improvements beyond the Vulkan work, restoring work on HTMl5 Broadway, better Windows support, and more.
GTK 4.0 is now considered stable for applications to begin supporting it. GTK 3 will continue to be maintained for the "foreseeable future" while GTK 2 is no longer going to be supported beyond one more point release.
(Score: 3, Touché) by Lester on Thursday December 17 2020, @08:45PM (2 children)
GIMP, once the flagship of GTK. In fact, GTK was created as a GUI lib for GIMP, replacing Motif.
Why are 4 and 5 are each three years. Weel that is waht they said. GTK plans according with GTK+, version numbering, and long-term support [lwn.net], there will be a new release each three years, that obviously will break compatibility.
This article nails down my feelings "Why do we keep building rotten foundations?" [wordpress.com]
(Score: 2, Insightful) by Anonymous Coward on Thursday December 17 2020, @09:39PM (1 child)
Code which has GTK+ 2.6 as baseline, for no loss of functionality has to require GTK+ 3.12 minimum. Which is 3+ years since 3.0; i.e. Don't be an early adopter. Coincidentally, GTK+ 2.6 itself is nearly 3 years since 2.0, too.
Now it is better; old relics like feature parity are annulled by party decree right from the start:
"Warping the pointer is disorienting and unfriendly to users. GTK 4 does not support it. In special circumstances (such as when implementing remote connection UIs) it can be necessary to warp the pointer; in this case, use platform APIs such as XWarpPointer() directly." https://developer.gnome.org/gtk4/stable/gtk-migrating-3-to-4.html#id-1.7.4.3.9 [gnome.org]
A tiny little question that raises; if I need a compatibility layer and platform API calls anyway, why not use platform API for everything and let GTK+4 with their "new incompatible releases" happen to somebody else?
(Score: 2) by Lester on Friday December 18 2020, @12:24PM
There are three kind of users:
Usually early adopters are using just one release, the last one that was beta not long time ago. Conservative users use the current stable release. And stiff users, use one stable version ago, or two, or even three stable versions ago. There are a few early adopters, a few stiff users, and most users are conservative users
GTK, because its lack of backward compatibility, is getting that most users are conservative users, and work in a single version, instead of several. Early adopters use several different versions, not just one. And conservative users are reduced to almost zero, because versions become obsolete before they get the critical mass.