4 ms·
The GTK project is hard to understand. They develop with a philosophy that is almost the antithesis of the kernel (which basically says "changes that break prog
by appleflaxen 10y ago
The GTK project is hard to understand. They develop with a philosophy that is almost the antithesis of the kernel (which basically says "changes that break programs are bugs"). It would be fine for an application being used directly by end users, but for a library and gui system it is bonkers. I have tried to compile a gtk-based app from source, and had no end of difficulty just because my library release varied by a point-version.
It left a really crummy taste in my mouth.
I really like GTK, and once it's compiled it's great, but these aspects are really painful.
- makomk 10y agoThe GTK project basically got taken over by a bunch of Gnome developers who care less and less about non-Gnome users. Many major non-Gnome projects haven't even managed to make the jump to GTK 3 yet (which also seems to be roughly where the project jumped the shark); Firefox only switched a few months ago and GIMP is still thinking about it.
- audidude 10y agoEvery sentence here is inaccurate, so you might want to check your sources. 1) (It's GNOME in upper case) 2) gtk+ was not "taken over" by a bunch of GNOME developers. gtk+ always was largely shouldered by the GNOME project. Those that show up to play are at an advantage. 3) Switching to gtk+ 3.x was hard precisely due to the longevity of gtk+ 2.x. It managed to stick around for 10 years and exposed all private structures in public API. So people got used to doing bad things that following PIMPL helps avoid. So they did, making the transition harder. 4) Firefox's has very little incentive to change a working code-base. The ultimate incentive was HiDPI and Wayland support. Thing's that couldn't just be shoe-horned into gtk+ 2.x. 5) GIMP is not "still thinking about it". The sad state is that GIMP is being mostly worked on by one person (with some occasional help). It's a very large code-base which was very entrenched in gtk+ 2'isms that we moved away from (like public structure access). There is a nightly flatpak for 3.x if you'd like to test it and file bugs.
- OneNoteIsFree 10y agoDon't sweat it. You're on hackernews where circlejerk is more important than facts and useful information.
- makomk 10y agoThe main benefit of not exposing private structures in public API is that it lets you avoid breaking the ABI every version; if you're going to do that anyway, well. And no, I'm not exaggerating how long it's taking projects to move to gtk+ 3.x - Mozilla has been working on this since 2011, with lots of fun issues around widget styling and drawing (which is apparently poorly documented and keeps changing in ways that break applications). The removal of public structure access was the least of their problems. Even after all that effort, new gtk+ 3.x releases are still breaking stuff in Firefox and other apps. For example, scrollbars and check/radio buttons don't show up in Firefox with gtk+ 3.20 due to major changes in how widget drawing and styling works: https://bugzilla.mozilla.org/show_bug.cgi?id=1234158 https://bugzilla.mozilla.org/show_bug.cgi?id=1234158