GTK still misses:<p>1. Anything close to AdjustWindowRectEx() function. See: <a href="https://docs.microsoft.com/en-us/windows/win32/api/winuser/nf-winuser-adjustwindowrectex" rel="nofollow">https://docs.microsoft.com/en-us/windows/win32/api/winuser/n...</a><p>2. MoveWindow(window,rect) where rect is window frame rectangle. Instead GTK has 6 other functions that do something close but no one of them do MoveWindow.<p>See: <a href="https://stackoverflow.com/questions/58103333/set-frame-position-of-decorated-gtkwindow-on-screen" rel="nofollow">https://stackoverflow.com/questions/58103333/set-frame-posit...</a><p>Windows has these functions, MacOS has their direct equivalents, but GTK does not have such, IMO basic, functionality.<p>Will we have anything like that in GTK4?
The part of GTK+ I've always hated the most is how much it relies on GObject, which is probably one of the worst ideas ever conceived by mankind. Reinventing a whole object system using C and shitload of macros is such an aberrant idea I cannot even start ranting on why it's an utter abomination. The fact it was born mostly from the hate the GNU project always harboured for C++ is what has always bewildered me the most. I understand that C++ in the nineties was a steaming pile of manure, but basically reinventing a poor man's copy of Objective-C just because they desperately wanted to write their stuff in C, and nothing else, is just too much.<p>And for what? GCC was basically the reference implementation of an Objective C compiler, a language that basically boils down to an object system hastily glued on top of C. I don't think it would have been so unreasonable to use that instead of rolling their own... I guess they had their reasons for not doing that, or not cooperating with GNUstep for that matters.<p>The irony is that has led to the creation of a million language bindings, such as Vala, Gtk#, PyGTK, Gtkmm, gjs, ... just to lower the massive learning curve of writing GTK applications in C. This is something Qt has clearly never struggled with, given that I've yet to see a relevant Qt app not based on C++ or (recently) QtQuick.
It's a serious blast to the past, and not necessarily a good one, to see versioning treated like this, where they'll pick 3.9? as a form of alpha/beta/RC phases for 4.0.<p>I think semver (more-or-less a formalization of what was already becoming popular before semver got published) makes more sense. Go ahead and use 4.0-alpha.1, 4.0-beta.1, 4.0-rc.1 as needed. The strings still sort fine.
Can someone point me to a roadmap/changes to be expected for GTK 4.0? I've looked on the blog and googled around, but couldn't find an authoritative source.
Anybody can share some recent experience with Gtk on Windows? In previous versions it worked, however results where quite "special" from a Windows point-of-view. Did they manage to get a more native feeling? Or is it still better to use wxwidgets on top?<p>I have some toy Qt projects for non-technical users, but with recent licensing stories around the Qt Company I'm looking at alternatives.
Good for them. Does this mean we're going to get a GNOME 4 as well? I'm quite curious to see what neat things the new version of GTK enables in practice.
Telegram has shown the enormous potential of Qt with the latest update. Not that I have a horrible time with GTK, but Qt just feels better and lighter overall. qutebrowser is another example of the amazing potential of Qt.
I use it as needed, but I think it’s way too complex overall.<p>Here’s an example: <a href="https://github.com/Const-me/Vrmac/blob/master/RenderSamples/09-VideoPlayer/GTK.cs" rel="nofollow">https://github.com/Const-me/Vrmac/blob/master/RenderSamples/...</a><p>Win32 equivalent: <a href="https://github.com/Const-me/Vrmac/blob/master/RenderSamples/09-VideoPlayer/Win32.cs" rel="nofollow">https://github.com/Const-me/Vrmac/blob/master/RenderSamples/...</a>
GTK is openly hostile to 3rd party developers and theme makers, ever since gtk became synonymous with gnome (around 3.0). This is going to be a nightmare for open-source developers and distros, which will likely be forced to support both for a long time to come.<p>Me? I'll keep writing tcl/tk applications. It's stable, cross-platform, and did I mention it's stable?