Hacker News new | ask | show | jobs
by stn_za 639 days ago
100% This.

Make desktop apps great again

2 comments

Note Qt5 is currently broken in some universe MATE desktop repos.

wxwidgets would likely be cleaner to maintain over the long-term, and seems more stable for event callbacks etc.

I'll admit some users like spelunking environment variables like QT_QPA_PLATFORM, and application specific python3-venv installs...

Sometimes a web SPA is just easier to avoid the whole mess of porting. =3

Install qt5ct and set

      #!/bin/sh
      export QT_QPA_PLATFORMTHEME=qt5ct 

at /etc/profile.d/qt5.sh with 0755 perms.
In some situations qt5ct was the problem at certain points in the past. In this case that trick won't work either.

The Cinnamon desktop package is functional in 24.04 LTS for "reasons" yet to be identified.

Thanks for trying to help though =3

OFC with qt5ct it's suggested to add the qgtk styles too. For instance, the GTK2/3 one to map your GTK2/3 (and 4) settings into the QT5 widgets.

BTW, to enforce Zukitre as the GTK4 theme with Elementary icons:

create /etc/profile.d/gtk.sh

       #!/bin/sh 
       export GTK_THEME=Zukitre
       export GTK_ICON_THEME=Elementary
And, yes, Zuki themes and the Elementary icon set must be installed too.
The theme overrides were not working, so the issue is likely in how the Qt5 template layer was built/integrated in the universe MATE build (Qt6ct seems unaffected, but will not help with code built on Qt5). i.e. the applications may not crash, but will look garbled and exhibit undefined GUI behaviors on legacy desktops. Overriding the themes and other documented workarounds will only suppress standard warnings, but have not had any impact on the core Qt5 issues.

For an LTS OS intended to be around for 12 years, I am not sure things have turned out well in user space and Qt5.

Hopefully, this saves someone a few hours of chasing this external issue in their own projects. =3

Uhm, I use Mate under Trisquel 11 (bound to Ubuntu 22 releases, but libre), it's the default desktop DE and I have no issues with neither qt5ct nor GTK theme overriding, which is more apt for Gnome3/OSTree based desktops than normal setups.
Why qt5ct when qt6 (and qt6ct) were released years ago, in 2020 ?
Same reason as usual. Not every application has been ported.
...why? I know this is the default opinion, but it's always seemed misplaced to me, even more so in 2024.

QT is run by a for-profit company ($QTCOM, TIL!) selling commercial licenses, Electron is maintained by OpenJS, who has it MIT-licensed all the way. QT uses a language that was designed in 1985 (literally 1-5y after GUIs first appeared) and Electron uses a language designed in 1995 (for the express purpose of modernized GUIs). QT stands alone on its monolithic rock, whereas Electron leverages Chromium and Node.js, two absolute powerhouses of free development and dependencies. Finally, and most importantly: the web is more beautiful and far more consistent than native-styled apps, and GUIs made whole-cloth from QT are almost always too ugly to even be in the running there. All of those downsides are worth it to save some RAM? Not even worth it, but worth lauding like it's a brave stance?

Sorry, just triggered my trauma from having to work in QT before I was able to find my true calling as a webslinger. No offense to the author of this particular app ofc, I'm sure it was the right choice for them and it looks well-executed for QT. ...Though if they used Electron, it could've been "Jocker" or "Tocker" (ts!) or "Chrocker" or "Electrocker" rather than "cock-er", but that's neither here nor there.

The argument is not so much for QT as it is against electron/web crap masquerading as desktop applications.