View previous topic :: View next topic |
Author |
Message |
mi_unixbird Tux's lil' helper
Joined: 24 Jul 2015 Posts: 138
|
Posted: Mon Nov 25, 2024 1:30 am Post subject: Recent update made Qt6 no longer use qt5ct |
|
|
I use qt5ct to set my theme, specifically I use it to edit qtcurve. After the update to Qt6 for some applications, in particular Kate, this still worked fine and with QT_QPA_PLATFORMTHEME=qt5ct the QT6 applications still respected that.
But after a recent update that's gone and they switched to obeying qt6ct, which would be fine if not for the fact that qtcurve doesn't exist for qt6 at this point so it all looks very mismatched.
Is there some particular reason for this and a way to force it to use qt5ct again? _________________ execctl --path exec filectl --current-directory list |
|
Back to top |
|
|
Ionen Developer
Joined: 06 Dec 2018 Posts: 2892
|
Posted: Mon Nov 25, 2024 4:18 am Post subject: |
|
|
Qt6 applications simply cannot use Qt5 theme plugins like qt5ct, if it "worked" before then there must be some confusion (maybe that particular application was not ported to Qt6 yet).
fwiw qt6ct also recognizes *THEME=qt5ct (so that the variable can be set for both Qt5 and Qt6 at same time), but that doesn't mean that Qt6 applications are ever actually using qt5ct (it's using qt6ct if it's installed and whatever settings you have there). |
|
Back to top |
|
|
mi_unixbird Tux's lil' helper
Joined: 24 Jul 2015 Posts: 138
|
Posted: Mon Nov 25, 2024 12:30 pm Post subject: |
|
|
Ionen wrote: | Qt6 applications simply cannot use Qt5 theme plugins like qt5ct, if it "worked" before then there must be some confusion (maybe that particular application was not ported to Qt6 yet).
fwiw qt6ct also recognizes *THEME=qt5ct (so that the variable can be set for both Qt5 and Qt6 at same time), but that doesn't mean that Qt6 applications are ever actually using qt5ct (it's using qt6ct if it's installed and whatever settings you have there). | The last Kate update was in 13 October looking at it though so something was definitely different. I'm pretty sure I restarted kate at least once since then.
Note that I didn't even have qt6ct installed at that time. I specifically installed it because Kate looked weird to see if it would fix it, but it didn't. _________________ execctl --path exec filectl --current-directory list |
|
Back to top |
|
|
mi_unixbird Tux's lil' helper
Joined: 24 Jul 2015 Posts: 138
|
Posted: Mon Nov 25, 2024 12:40 pm Post subject: |
|
|
Okay, I found it now; it's actually fairly weid how it should be done. There are two settings in Kate under “Settings” “application style”. This can actually just be set to “qt5ct”, at which point it still looks weird in the wrong colors, but there's also an “application color scheme” setting. This should be set to “default” which will then pick the qt5ct color scheme when done.
It indeed doesn't actually seem to use qt5ct's qtcurve but only an approximation thereof, but I think this is what I had before. No idea why this suddenly got flipped.
Looking at it it can only actually be set to either qt5ct or qt6ct when the latter be installed as it disappeared again after I removed it and I didn't have it installed before so though it sort of works now, there has definitely been some change.
In fact, it doesn't seen to save it is the issue, when restarting it it always puts the colors back to light; it's a quick thing to set it back and I tend to continuously keep my text editor on, but it's a bother all the same. _________________ execctl --path exec filectl --current-directory list |
|
Back to top |
|
|
fedeliallalinea Administrator
Joined: 08 Mar 2003 Posts: 31447 Location: here
|
|
Back to top |
|
|
mi_unixbird Tux's lil' helper
Joined: 24 Jul 2015 Posts: 138
|
Posted: Tue Nov 26, 2024 2:56 pm Post subject: |
|
|
I tried the patch which required some editing since half of it was already applied to my kcolorscheme by the looks of it but it did nothing.
It seems more of an issue of Kate not saving settings here now. It has a setting to use qt5ct and it's default color scheme, and while it keeps the former setting during restarts, it somehow ignores the latter and has to be set to it again after each restart. _________________ execctl --path exec filectl --current-directory list |
|
Back to top |
|
|
mi_unixbird Tux's lil' helper
Joined: 24 Jul 2015 Posts: 138
|
Posted: Thu Jan 30, 2025 7:55 pm Post subject: |
|
|
Okay, after another patch completely fucked it up I did some digging and it turns out it's a feature, not a bug. Apparently kde applications have completely removed the original qt6 color definitions and now rely on their own custom kcolorscheme definitions which define far more colors.
To fix this issue, simply get a hold of a color scheme, I did this by installing kvantum, and then copy any in /usr/share/color-schemes to ~/.local/share/color-schemes and editing it. Kate and other kde applications that have a “window color scheme” setting should now be able to see your custom definition. The format should be easy enough to understand, far more easily than the original definitions in any case which were just a list of hexadecimal color values with no indication of which applied to which while these are key=value pairs that at least indicate to what they apply.
To actually set any of this as default, you need the qt6ct-kde fork of qt6ct, which needs to be used for applications that don't have a “window color scheme” option and always just use the default set by qt6ct.
If you ask me, KDE just removing interoperability outside of plasma for KDE applications like this is a pretty hefty loss of features that should at the very least be an option to enable it again, but it is what it is. Also, these kcolorscheme definitions can currently only be edited with kde-systemsettings, qt6ct-kde, while suggesting it can copy and edit them, actually can't do, as in it does nothing and creates faulty files. I'm really happy the format, unlike for the other qt color definitions is at least very human readable because if it weren't it would be an exercise in frustration. _________________ execctl --path exec filectl --current-directory list |
|
Back to top |
|
|
|