I work on the IUP fork, where I have and support the Qt driver, which works with both Qt5 and Qt6, and I only need a couple of checks to make it work on both. I often check if I broke the Qt5 build; nope, all good there, hard to break. For GTK3 and GTK4, those must be separate drivers; there's no way you can handle that with a couple of checks. Everything is different. That was possible to some extent and works with GTK2/GTK3 (single driver), but there are so many checks and workarounds there. Qt is so nice to work with.
I am working on the IUP fork (UI toolkit) , with many new drivers/backends and features, and, of course, I added Haiku because it looks and performs so well, it works differently from what I used to see, making it even more interesting. The result: the absolute king in memory usage was the Win32 driver, like 4M for Hello World; in Haiku, that is 3M! For comparison, the GTK4 driver uses 40M; GTK3 and Qt6 ~15. WinUI is something like ~25.
My first association when someone mentions Matrox is MPlayer and mga_vid kernel module. I had G200, and hardware YUV acceleration worked perfectly. Direct access to hardware from MPlayer, it worked very nice, in console with `-vo mga` and in X11 with `-vo xmga`, there was no difference at all.
I heard this repeated many times. You can create closed-source Qt apps without paying any money. You cannot statically link, though; you must obey the LGPL license; that is all.
And yes, you cannot use commercial modules, but that is kinda expected.
Sure, you need to wrap it in C, but there is also `cfltk` that is maintained and used in Rust bindings.
Btw., the difference in memory usage is huge with GTK4. FLTK hello world is ~10M, GTK3 is ~15M, GTK4 is 40M! With Cairo rendering, it's about 30M, but still a lot.
Nice, I just use lxqt-openssh-askpass, but I am on X11. A lighter alternative (for single-text input) would be FLTK. Version 1.4 is really nice, with Wayland support, and they even draw custom window decorations on GNOME. Both Cairo and FLTK should be able to compile with -X; not sure, though, about the status of the Zig bindings.
Why not fix all the issues with private jets and yachts first? Why don't they use regular public transportation as we all do? Instead, let's bash poor Clanker, who reviews kernel code.
Well, AI or not, it is interesting to see Swift and Flutter without Dart. But is SNI Tray there? I see something in the top-right corner of that panel, but I'm not sure what it is.
Yes, and you need an army of people to "wrap" WebKit just like that. E.g., the WebKit port on Haiku, of course, is not in good shape because it has more code than the whole of their OS. EFL once had a WebBrowser control/component, maintained by Tizen devs, but of course, it has now been removed. There is no manpower to maintain such control.
I would like to see a similar project that fixes Wayland. Like, can someone vibe-code window positioning, add SSD to GNOME (damage was already done, but still), and add the ability to send events so you can automate and drive the app offscreen for testing.
I did something similar with `go bind`, a library used on both desktop and Android, they simply exchanged JSON, though not on millions of devices. However, today I have a nice cross-platform UI library with native controls, based on IUP, where cross-platform actually means everything, including iOS and Android (and even Haiku). So, you write an app in plain Go, just once, that's it. OK, you would not want the same layout on desktop and mobile, of course, but still the same app.
However, it is still a work in progress, and I would like to improve the mobile support. There are currently many Android-only or iOS-only attributes, but users would still miss some APIs. What are the most essential OS APIs one would need in the app? You can check the library here https://github.com/gen2brain/iup-go .
Who enables CGO just for DNS resolution? That is not a thing for a long time, you just reminded me of that. Sure, if you have some complex config instead of a simple default, you would want to use libc and getaddrinfo, that is on you. What other issues are there? Go simple uses the network protocol for DNS, and it reads just resolve.conf; it does not care about LDAP or NSS or whatever there is.
What about wp_pointer_warp_v1? That should be supported in some compositors. But not sure how to actually "send" the click event.
I often try a session with Labwc/LxQt instead of my Openbox/LxQt, and while there is progress, still not fully usable, so still no Wayland for me. But with X11, I can at least add xvfb, xdotool, and other utils, and AI has no problem writing (and testing) a GUI for me.
I am guessing wp_pointer_warp_v1 in Wayland, but not sure if all compositors support that. And that is just for moving the cursor. Can we "send" a wl_pointer click like that?
I have a nice setup on my Linux for iOS apps. I compiled the OSXCross toolchain, and also copied iPhoneOS.sdk and iPhoneSimulator.sdk from the macOS VM. With some wrappers, I can compile iOS apps (Obj-C) on my Linux machine, sign them with zsign, and use go-ios to install them on the device.
At first, I just used simulator builds to test (and debug) on the macOS VM, in the simulator, but that was slow and painful. Finally, I bought a used iPhone, all bruised, just so I could test it on a real device. The main issue for me was signing, one cannot register a macOS VM (maybe with some kext hacks?), I managed to enable developer mode on the phone (crazy process, but it worked with Xcode in a VM), I registered the phone on the website, and paid those damn 99$.
I used that for my cross-platform UI library with native controls, based on IUP. Now, future users of the UI toolkit do not need to care about Mac, iOS, or tooling; it just works. You can check the toolkit (WIP) here https://github.com/gen2brain/iup-go .
100% of the employers I worked for (one employee) never did that switch. The license did not affect us; we had nothing to do with AWS and the like, so we just continued using Redis like before. We already had our RPM builds, so whatever course distros took, we did not even care to look.
What does "scale"even mean in UI context? 10 or 100 controls in app makes difference how exactly? Retained apps redraw when needed, they are idle most of the times. How redrawing every frame helps to scale?
Disaster. Well, I read stories about Rust and how there isn't much in the stdlib, but this is just too much. How many dependencies are there, on average, in other projects? I guess I am spoiled with Go.
But this is also just silly. The maintainer here did nothing (just a little chat here and there), but is sure that only optimizations are missing for this to be production-ready. How so, based on what exactly?
I have been working for several months (maybe half a year) on the IUP fork, a cross-platform UI library with native controls https://github.com/gen2brain/iup-go . I added more drivers/backends, Cocoa, WinUI, Qt, GTK4, FLTK, and EFL. New controls, like Table, Popover, Toggle SWITCH, and modern Tray support. WebBrowser control uses modern browsers; there is a JAVASCRIPT attribute for proper hybrid native/web apps. GLCanvas now uses EGL for both X11 and Wayland, and of course, there is proper Wayland support for all Linux toolkits. I still have a long list of TODO with issues I want to fix, all the docs that need updating, etc. The plan is to post a "Show HN" after I finish with all current tasks.