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.
I remember there was a kernel module for the Matrox/MPlayer combination. You get a new device that MPlayer could use. You did get `-vo mga` for the console and `-vo xmga` for X11; you couldn't tell the difference, and both produced high-quality hardware YUV output.
This is an older thinkpad I am using, 4 cores, 16G of ram. LLVM is now dependency you cannot get rid of. That is painfull, but in the morning, after several hours it is usually done. Rust is LLVM plus I am not sure what, really painfull. And Gentoo also forces many different arches and flags for some reason, use flags are masked, you cannot easily disable them.
Error handling in Go is actually very nice. You do not have unhandled errors, not possible unless you really want to not handle the error. Now I even use it similar in Python, amazing how many errors I did not handle at all. But what got me into using Go is that there is no libc dependency, just system calls, static binary, that is just amazing. I can compile Go compiler in like few minutes. Rust I cannot even compile after 24h, I use rust-bin in Gentoo,luckily that exists.
Window positioning? You cannot position the window, you cannot send a hint, nothing? So my pop-up with GTK4 will randomly be placed somewhere, anywhere, without any control. OK, GTK4 went further and also removed popups without the parent, so you hack that with an invisible anchor window and then write platform-specific code for sane platforms that CAN, of course, move the window. And let's not talk about window icons that you have to put somewhere on the file system?
I like how even the nus product (jpegli) is a significant improvement. I am in the process of converting my comic book collection. I save a lot of space and still use JPEG, which is universally supported.
IUP has custom-drawn controls for tables and cells (additional controls), and it uses another CD (canvas draw) library for that, not internal IUP Draw functions. I also started rewriting that to use the core IUP drawing functions instead. I also added a few more drawing functions, for rounded rectangles, bezier curves, and gradients. But ALL drivers, including Motif, have native table controls, so I really want to add one.
Edit: Also, the GLcanvas control now has an EGL driver, with native Wayland support for GTK3, GTK4, and Qt6 (needs private headers). I modernized a bit of everything, added support for APPID, DARKMODE, etc. Linux uses xdg-open rather than hardcoding browsers. Win32 driver is not using the Internet Explorer web control but the WebView2 with custom loader, on GTK, you do not have to worry about the WebKitGTK, it will find the correct library with dlopen, etc, etc. But, there is still a lot to do.
To me, this argument always sounds like someone is being forced or threatened into creating a desktop app. It was never supposed to be easy; the goal is to create an app that users would want and will actually use.
I am working on the UI library and bindings for Go. Still not finished, but currently, the same app can be compiled for Win32, Cocoa, GTK2, GTK3, GTK4, Qt5, Qt6, and Motif. There is a web browser control, a GL canvas, and a regular canvas. I still work on the native table control, though.
I often use <img> with "width" on GitHub, so that I do not have the scrollbars on the main page, and one can click on the image to see the original size. It is ugly, but what is the alternative in Markdown? Several images instead of one?
I know a few apps that did the same (mpv for example). If you still have it in home root it uses that, when you move it to .config it uses that instead. Auto migrating could and would create issues.
People are talking about AI everywhere, but where can we find documentation, examples, and proof of how it works? It all ends with chat. Which chat is better and cheaper? This local story is just using some publicly available model, but downloaded? When is this going to stop?
I do not give up on my openbox. I use it with LxQt. Now there is a Labwc, similar to openbox. It uses its XML spec for config and is similar. But I am still on X until all issues are resolved. Can I use openbox on KDE now? It used to be possible, I can choose WM in LxQt. Back then every WM had a --replace option.
Protocol, maybe, and there was no "Wayland"; there was Gnome and KDE. I was only recently able to try Labwc with LxQt, and I occasionally try to see if there are some improvements because it is not usable currently. The biggest issue is that every implementation is different; there is not even a shared common library. If Xorg developers are now working exclusively on Wayland, when are they going to start programming?
The best apps I've used have implementations for every OS and UI separately. Usually, everyone uses the easier route, but it will only be good enough, not the best. But again, now your app works only on Windows.
I stopped using Firefox when they removed support for ALSA. I think it is possible to compile with it, but the bin is just PulseAudio. I don't want to compile it every week. That is my only issue, and while I liked Firefox, but they are losing users in a stupid way.
How can starting a browser be a best practice? This app is lightweight and does not even use a GUI toolkit. You would roughly use 20x more memory. How is that a best practice?