6 ms·
> GTK+ 3 stopped changing in drastic ways, which was well-received, and we are finally seeing applications moving from GTK+ 2. It's almost as if devs care more
by bla2 8y ago
> GTK+ 3 stopped changing in drastic ways, which was well-received, and we are finally seeing applications moving from GTK+ 2.
It's almost as if devs care more about stable APIs than about endless churn for minor features!
- jchw 8y agoI don't know if the GNOME/GTK folks will ever really understand, though. The thing is, it would be OK to have new features and even feature breaks. It's just, every GNOME release had a corresponding GTK release and a number of new things broke in GTK for it. You couldn't use a third party theme without waiting to see what was going to break next. There's no strong guarantees unlike with say, Qt, where generally speaking true API breaks are much rarer. People probably would've had less trouble and been less upset if Gnome wasn't in a privilege position and had to just be another user in the ecosystem.
- vetinari 8y agoNumber of new things broke == Theming. Which was specifically marked as unstable, together with a reason why it was marked unstable (being reworked with CSS). Gnome and other apps didn't break, because they weren't concerned about theming themselves.
- r3bl 8y agoHaving a modular desktop environment kind of loses its purpose if a module (theme, extension) can bring the entire user session down. Just this week, me upgrading a GNOME extension resulted in the user session completely crashing, getting me back to the login screen, and making me lose about half an hour of work. Now, of course, I could put the blame on the sole developer that developed that specific extension (one of the preinstalled ones in Ubuntu now), but I don't. I blame GNOME that a botched extension update lead to the entire session crashing, instead of doing something normal (like reverting to the previous version and showing "update failed").
- zzzcpan 8y agoThis fragility is architectural though and possibly even cultural now. People who promote gnome and make decisions adopting it for mainstream distros somehow believe that such poor level of quality is acceptable. It's how systemd got into mainstream too.
- jchw 8y agoRedhat has killed the Linux desktop with this kind of mentality. No matter what I do, things are broken nowadays. Wayland was broken promises; most of the same issues exist in Wayland still, except now sometimes pasting crashes my desktop, and I can't take screenshots without the compositor's permission. Systemd actually delivered on some of its promises, but not without some brutal side-effects. Same for PulseAudio really. I don't like using Linux anymore as I did before all of this stuff became basically mandatory. We did all of this refactoring, rebuilding, and yet... Where's heterogeneous graphics card support? Where's heterogeneous DPI support? Why does multiple desktops still suck? Even using all open source drivers, Linux feels dated and immature at the same time :( I miss feeling like it was ahead of Windows.
- digi_owl 8y agoRH management basically do not care, because most of this happens in Fedora. With RHEL, RH basically snapshots whatever churn that is happening in the larger Linux ecosystem, and maintains said snapshot for a decade or more.
- keithpeter 8y agoRHEL 7 is seeing changes in the DE version (Gnome 3.8 to 3.22) and other library changes within the 10 year support period so not frozen as much as RHEL 6. Swings and roundabouts.
- bonzini 8y agoHeterogenous DPI is years ahead in Wayland than it is in Windows.
- jchw 8y agoGNOME didn't break because its theme was effectively blessed, being updated roughly in lockstep with GTK. However, not every user of GTK exists inside of GNOME. Consider: - An app running in Windows or macOS - An app running inside of KDE or another desktop environment While the Adwaita theme certainly looks OK, having it be the only stable option is beyond absurd, and makes GTK 3 useless for anyone outside of GNOME, including GIMP, which I believe ironically was the origin of GTK itself to begin with. While I can't think of another example of where GTK broke other than theming, that doesn't really make it OK. Marking it unstable may effectively cover their ass for fulfilling their promises, but in my opinion that's ridiculous for an aspect of the library that literally can't be ignored.
- vetinari 8y agoGNOME doesn't have it's own theme, it uses whatever GTK uses, i.e. Adwaita by default. Gnome Shell, which is one of the few parts that does have it's own theming, doesn't use GTK at all. The reason why theming was unstable is, that it was being reimplemented. That's a thing you cannot do overnight, it takes some time. So if you want a theme that is not adwaita, you have to do exactly the same thing that the adwaita people did: update it for each release. Yes, that takes time too. Doing things in explicitly marked unstable internals of any framework will get you the authors protecting themselves against you. In Windows, the theme authors got signed themes, in MacOS they got SIP. Yes, it is not a insurmountable problem to avoid both, that's not their purpose, but when something breaks, it is obvious who's fault it is. GIMP is still Gtk 2 app, so it wasn't concerned with broken theming at all. They have their own work to do with the switch to GEGL.
- hackbinary 8y ago>> Gnome Shell, which is one of the few parts that does have it's own theming, doesn't use GTK at all. https://github.com/GNOME/gnome-shell/blob/1f03599d1cf888f73a33363212b99905064e2c9e/src/main.c#L16 https://github.com/GNOME/gnome-shell/blob/1f03599d1cf888f73a... Seems to me that "#include <gtk/gtk.h>" means that gnome-shell does use gtk. Or maybe I am missing some nuance of your statement.
- digi_owl 8y agoThere is a reason why the principle people being xdg-app/flatpak are from the Gnome camp. It is basically their band-aid for a self-inflicted wound, while blaming the distros...
- ploxiln 8y agoAnother great example is CSD (client-side decorations). Classic X window managers do not handle them well, and many users do not want them, but they were added in GTK+ 3.10 with no reasonable way for the window manager to disable them. Basically breaking all environments besides Gnome. Thus work-arounds like https://github.com/PCMan/gtk3-nocsd https://github.com/PCMan/gtk3-nocsd
- blattimwind 8y ago> GTK+ 3 stopped changing in drastic ways, which was well-received, and we are finally seeing applications moving from GTK+ 2. Eight years after GTK+ 3 was released. And people felt the Qt4->5 transition was slow...