11 ms·
GTK 4 renders with OpenGL, has native a11y built-in, styled with a comprehensive CSS engine, runs on Linux/bsd/Mac/windows, has bindings for almost every notewo
by audidude 4y ago
GTK 4 renders with OpenGL, has native a11y built-in, styled with a comprehensive CSS engine, runs on Linux/bsd/Mac/windows, has bindings for almost every noteworthy language…
- aninteger 4y agoI've heard that native a11y support only works on GNOME, although I don't know for sure since Orca is just another GTK application. I believe a11y support was available starting back in GTK 2.x but I don't know ATK's full history.
- traverseda 4y agoQT also works alright with screen readers for what it's worth.
- c-smile 4y ago> GTK 4 renders with OpenGL It may do that but generally it still uses Cairo. BTW, I would not rely long run on OpenGL existence on Windows and Mac (especially). In any case GTK working on Windows and Mac is an artefact rather than something really usable. I suspect that efforts to support such multiplatform feature makes Linux native GUI development less developed. Generally Linux cannot be considered as a desktop OS as it has no stable and uniform system UI (window manager, graphics, etc.)
- audidude 4y ago> It may do that but generally it still uses Cairo. Uh, no it doesn't. I literally wrote the GL renderer, I know what I'm talking about. > In any case GTK working on Windows and Mac is an artefact rather than something really usable. Maybe pre-4, which is why it got redesigned. > I suspect that efforts to support such multiplatform feature makes Linux native GUI development less developed. What? > Generally Linux cannot be considered as a desktop OS as it has no stable and uniform system UI (window manager, graphics, etc.) Huh? You're out of your mind.
- c-smile 4y ago> Huh? You're out of your mind. Do we have such basic thing as `MoveWindow(wnd,x,y,w,h)` on GTK? Seems like still not: - https://stackoverflow.com/questions/58103333/set-frame-position-of-decorated-gtkwindow-on-screen https://stackoverflow.com/questions/58103333/set-frame-posit... - https://stackoverflow.com/questions/65508569/how-to-move-my-gtkwindow-to-a-specific-position-on-screen-in-gtkmm-4 https://stackoverflow.com/questions/65508569/how-to-move-my-...
- audidude 4y agoHow does that make it "not desktop"? This is literally the dumbest argument ever. It's one extra line of code. If you have the GDK X11 backend, get the XID and call MoveWindow() yourself. If you have a macOS Window, call [NSWindow setFrame]. I don't see why you expect GTK to be your abstraction for insecure UI practices. The compositor should be in control of this policy, not applications. Which is why that API isn't there any more.
- c-smile 4y agoGlad you've mentioned "GDK X11 backend". It means that GTK is not a desktop API. X11 is not a desktop API either as you cannot build with it GUI consistent with other applications on target platform. Linux is not a desktop OS. By any means. Dot. Until we have linux_move_window() function.
- smoldesu 4y agoYou're right, Linux isn't a desktop OS. Neither is Darwin or NT. To make an OS you need a system of desktop-providing tools. Windows is an operating system that provides a desktop stack to the NT kernel. MacOS is an operating system built on Darwin and Mach. Following this line of logic, there are dozens of opinionated Linux distributions that qualify for your definition of desktop OS. (RHEL, Fedora, Ubuntu, KDE Neon, et al.) Linux systems are no different than Darwin or NT ones if you compare like systems. If you spend all day comparing kernel features to OS features, I don't think you're going to make any meaningful discoveries.
- simion314 4y agoAll the news about GTK were about big projects dumping it in favor of Qt or other, did anything changed significantly? I only seen it used cross platform for extremely basic GUIs for Python apps. It also looked like shit==GNOME on Mac and Windows.
- dekhn 4y agoQt also supports GPU rendering. Ultimately Qt is based around a software rasterizer that can also be implemented using hardware primitives. It handles the abstraction better than any other framework I've used.
- audidude 4y agoGTK 4 allows widget to snapshot into a render-tree, which has OpenGL, Vulkan, and Cairo for software fallback rendering. It also provides diff'ing for minimal damage and all the other important bits.
- traverseda 4y agoIs there anything you specifically think QT is missing?
- audidude 4y agoI have no idea which project's you're alluding to, but I'm certain they weren't on GTK 4, which is what this thread is about.
- simion314 4y agoI was thinking at Wireshark, LXDE and a very popular Youtube Video where Linux Torvalds explains that GTK is so bad that the GUI app he was creating for diving switched to Qt because even his RedHat friends were unable to help him to do some ncie things in GTK. I never seen some cross platform app switching from Qt to GTK because GTK is better.
- traverseda 4y ago
- traverseda 4y ago> has native a11y built-in What does this mean? `a11y` isn't some standard for making your app accessible, in fact it mostly seems to be guidelines for how to make your website more accessible. Is there an `a11y` native app checklist somewhere that Gnome is compliant with (and presumably QT/kde isn't?). Am I missing some protocol Gnome is implementing that QT/kde isn't? Legitimate question, not snark, I've looked into in the past and I really don't see what Gnome's doing to comply with this that everyone else isn't.
- audidude 4y agoGTK 4 has built-in support for at-spi in it's native controls and provides GtkAccessible interfaces which you can use to make custom widgetry accessible. > I really don't see what Gnome's doing to comply with this that everyone else isn't. That's because Sun and GNOME created those layers two decades ago for Xorg.