easyeffects icon indicating copy to clipboard operation
easyeffects copied to clipboard

New UI doesnt follow qt6ct themes

Open fabioraitz opened this issue 1 month ago • 30 comments

EasyEffects Version

8.0.0

What package are you using?

Flatpak (Flathub)

Distribution

Linux Mint 22.2

Describe the bug

The new 8.0 version, with QT, wont follow qt6ct theming on linux mint.

fabioraitz avatar Nov 10 '25 13:11 fabioraitz

An important detail is that we use Qt, qml and kirigami. We do not force any style on our side. What you are seeing may be a limitation of qml or kirigami.

wwmm avatar Nov 10 '25 13:11 wwmm

I'm having the same issue. It's the only QT app that seems to ignore the colors set by qt5ct and qt6ct. It does use the correct font set by qt5ct/qt6ct tho.

Lunix-420 avatar Nov 10 '25 21:11 Lunix-420

Also got same issue as above

Shorkerrr avatar Nov 10 '25 22:11 Shorkerrr

I'm having the same issue. It's the only QT app that seems to ignore the colors set by qt5ct and qt6ct. It does use the correct font set by qt5ct/qt6ct tho.

Do you use other Kirigami apps that follow qt6ct?

Digitalone1 avatar Nov 10 '25 22:11 Digitalone1

Do you use other Kirigami apps that follow qt6ct?

I normally don't, but I just tried to install another one (Angelfish) and it seems to follow the QT theme set by qt5ct/qt6ct

Lunix-420 avatar Nov 10 '25 22:11 Lunix-420

Do you use other Kirigami apps that follow qt6ct?

I normally don't, but I just tried to install another one (Angelfish) and it seems to follow the QT theme set by qt5ct/qt6ct

Can confirm that this phenomena is happening on my system too, aswell as the KDE systemsettings app. all but easyeffects seem to theme just fine

Shorkerrr avatar Nov 10 '25 22:11 Shorkerrr

I normally don't, but I just tried to install another one (Angelfish) and it seems to follow the QT theme set by qt5ct/qt6ct

Then we are missing something. @wwmm will try to figure out what.

Digitalone1 avatar Nov 10 '25 22:11 Digitalone1

Then we are missing something. @wwmm will try to figure out what.

It is possible. At some point during the year it took to finish the Qt port there was one occasion where Kirigami changed how the app should setup theme configuration. Maybe they changed this again and we do not know.

I will try to do some tests with qt6ct. But the fact KDE developers do not recommended it to be used inside KDE https://discuss.kde.org/t/how-to-get-kate-to-respect-qt6ct-window-color-theme-again/28948/8 because it can break things is a little concerning...

wwmm avatar Nov 11 '25 00:11 wwmm

Might need a KColorSchemeManager::instance(); call in the main.cpp. See https://invent.kde.org/libraries/kirigami-addons/-/blob/master/src/app/kirigamiapp.cpp?ref_type=heads#L43

CarlSchwan avatar Nov 11 '25 00:11 CarlSchwan

Might need a KColorSchemeManager::instance(); call in the main.cpp. See https://invent.kde.org/libraries/kirigami-addons/-/blob/master/src/app/kirigamiapp.cpp?ref_type=heads#L43

I've updated our master branch with this. If this fixes the problem the tutorial https://develop.kde.org/docs/getting-started/kirigami/advanced-maincpp/ will need an update.

Now if possible people affected by the bug should test it.

wwmm avatar Nov 11 '25 00:11 wwmm

Might need a KColorSchemeManager::instance(); call in the main.cpp. See https://invent.kde.org/libraries/kirigami-addons/-/blob/master/src/app/kirigamiapp.cpp?ref_type=heads#L43

I've updated our master branch with this. If this fixes the problem the tutorial https://develop.kde.org/docs/getting-started/kirigami/advanced-maincpp/ will need an update.

Now if possible people affected by the bug should test it.

Didn't work for me, but I made a PR with a change that fixed it for me.

Lunix-420 avatar Nov 11 '25 05:11 Lunix-420

Just in case people here are not following the discussion at @Lunix-420 PR the only solution so far makes a mess when EE runs on GNOME. So it seems some help from Kirigami folks will be needed @CarlSchwan. I imagine there is a reason why Kirigami's tutorial forces the Breeze theme. But right now if we do that qt6ct does not work. And if we do not do it the theme becomes worse on gnome.

wwmm avatar Nov 11 '25 14:11 wwmm

While I'm aware that a fix for this issue is currently working on, there's a temporary workaround for those who are willing to compile qt5ct (or qt6ct). You can try patching qt5ct with this patch right here (or here for qt6ct) which should enable qt5ct and qt6ct to see and set KColorScheme, allowing EE (and most KDE apps) to follow the color theme of your choice.

Image

MeguMario avatar Nov 12 '25 03:11 MeguMario

Did the any of the qt6ct users have time to test the new EasyEffects configuration option that disables the application of the Breeze theme?

wwmm avatar Nov 22 '25 00:11 wwmm

Did the any of the qt6ct users have time to test the new EasyEffects configuration option that disables the application of the Breeze theme?

Widgets style are different, but colors don't match. They still breeze blueish.

Image

fabioraitz avatar Nov 22 '25 01:11 fabioraitz

Widgets style are different, but colors don't match. They still breeze blueish.

So the call KColorSchemeManager::instance(); does not help wit the colors. Which desktop do you use @fabioraitz ? A comment kirigami-addons says

Needed when not running with the Plasma QPlatformTheme to ensure colours get initialised

so I was expecting it to do something outside of KDE.

But now that I am reading this again I see it is not clear what initialized actually means in this case.

wwmm avatar Nov 22 '25 01:11 wwmm

Did the any of the qt6ct users have time to test the new EasyEffects configuration option that disables the application of the Breeze theme?

The background is also breeze blue to me. I'm on GNOME 49 with stock qt6ct

Image

MeguMario avatar Nov 22 '25 01:11 MeguMario

The background is also breeze blue to me. I'm on GNOME 49 with stock qt6ct

Hum... That option needs EasyEffects to be killed and restarted. Did you do it?

wwmm avatar Nov 22 '25 01:11 wwmm

The background is also breeze blue to me. I'm on GNOME 49 with stock qt6ct

Hum... That option needs EasyEffects to be killed and restarted. Did you do it?

Yes, assuming that I do that with the Quit option inside the hamburger menu.

also here's one with the fusion style for better visibility Image

MeguMario avatar Nov 22 '25 01:11 MeguMario

Which desktop do you use @fabioraitz ?

I'm using Cinnamon, on Linux Mint 22.2

fabioraitz avatar Nov 22 '25 01:11 fabioraitz

Needed when not running with the Plasma QPlatformTheme to ensure colours get initialised

so I was expecting it to do something outside of KDE.

But now that I am reading this again I see it is not clear what initialized actually means in this case.

I believe that qt6ct can't actually set KColorScheme (that most kirigami apps probably expect to use for settting color scheme). That's why there's a fork of qt6ct that allow just that.

Here's the list of color scheme that is available to that fork Image

And here is stock qt6ct

Image

Having KColorScheme properly set makes EE display the color as it should like on Plasma

Image

I believe we should do something akin to what kdenlive and krita do (which is choosing color scheme inside the app itself). Tho I don't know if it is possible with Kirigami app like this.

Image

MeguMario avatar Nov 22 '25 02:11 MeguMario

I believe that qt6ct can't actually set KColorScheme (that most kirigami apps probably expect to use for settting color scheme). That's why there's a fork of qt6ct that allow just that.

Oh... As I do not use qt6ct I had no idea. It makes sense.

Having KColorScheme properly set makes ES display the color as it should like on Plasma

It is good to know there is a way to make that happen.

I believe we should do something akin to what kdenlive and krita do (which is choosing color scheme inside the app itself). Tho I don't know if it is possible with Kirigami app like this.

I do not have any problem with this. I do not know how aligned this is with KDE's HIG or Kirigami design choices in general but until KDE's Union project is available to everybody I suppose it is an acceptable workaround. But at this moment I have no idea if it is actually possible to make a Kirigami app set the color theme like Krita is doing...

wwmm avatar Nov 22 '25 02:11 wwmm

continuing #4573 after patching qt6ct package in nix with a patch from qt6ct-kde package in AUR, a ton of arguing with AI and poking around kde color themes, I managed to make it transparent, but I still don't understand how to modify this thing

Image

anyone knows how, or if it even possible? Like I see that my bars are different from ones in screenshots on the repo

DADA30000 avatar Nov 29 '25 12:11 DADA30000

anyone knows how, or if it even possible? Like I see that my bars are different from ones in screenshots on the repo

If you use our master branch you will see that it now allows users to set custom colors to the graph. Maybe with a clever selection of colors you can get what you want.

wwmm avatar Nov 29 '25 14:11 wwmm

I believe we should do something akin to what kdenlive and krita do (which is choosing color scheme inside the app itself). Tho I don't know if it is possible with Kirigami app like this.

I was able to do that

Image . I've added a new configuration option to the `style` section of EasyEffects preferences window. I only see the same color themes that KDE system settings shows me. Probably because I do not have others installed.

I tried to implement this in a way that the default theme is respected if the user does not manually select a custom theme. Let me know if something unexpected happens.

wwmm avatar Dec 02 '25 01:12 wwmm

I tried to implement this in a way that the default theme is respected if the user does not manually select a custom theme. Let me know if something unexpected happens.

It is actually working quite well on my end, minus the text and some elements look broken but that one is because of Breeze (or Fusion) not being the default style. I think this should work well for most default setup out there (assuming Breeze is enforced by default or not overrided).

https://github.com/user-attachments/assets/b347971d-0687-460c-b954-019981c2727f

EDIT: Demo with Fusion style to better represent the default settings that most users may use

https://github.com/user-attachments/assets/ae7c96b5-8926-4136-946b-d552ac5e0a59

MeguMario avatar Dec 02 '25 05:12 MeguMario

I believe we should do something akin to what kdenlive and krita do (which is choosing color scheme inside the app itself). Tho I don't know if it is possible with Kirigami app like this.

I was able to do that Image . I've added a new configuration option to the style section of EasyEffects preferences window. I only see the same color themes that KDE system settings shows me. Probably because I do not have others installed.

I tried to implement this in a way that the default theme is respected if the user does not manually select a custom theme. Let me know if something unexpected happens.

I see that option, and it works, but there is no RGBA setting, and I kinda want transparency, is it possible to add alpha channel as well when using custom visualizer theme?

DADA30000 avatar Dec 09 '25 13:12 DADA30000

I see that option, and it works, but there is no RGBA setting, and I kinda want transparency, is it possible to add alpha channel as well when using custom visualizer theme?

Are you talking about the app color scheme or the spectrum? The spectrum graph has its own separated setting. For the custom graph colors I used a FormCard.FormColorDelegate as color picker but it does not seem it allows the alpha channels to be set. IS there a way to do that @CarlSchwan ? Or using a different widget is necessary?

wwmm avatar Dec 09 '25 14:12 wwmm

I see that option, and it works, but there is no RGBA setting, and I kinda want transparency, is it possible to add alpha channel as well when using custom visualizer theme?

Are you talking about the app color scheme or the spectrum? The spectrum graph has its own separated setting. For the custom graph colors I used a FormCard.FormColorDelegate as color picker but it does not seem it allows the alpha channels to be set. IS there a way to do that @CarlSchwan ? Or using a different widget is necessary?

yep, the spectrum one

also one additional offtopic thing I would want to have in EE, is it possible to make "fake" popup windows to be real windows? I just like blur (as you maybe already guessed :)), and blur is not applied to these "fake" popups, you can see about which popups I'm talking about in these screenshots

Image Image

It's not really that important, but still a nice thing to have :)

DADA30000 avatar Dec 10 '25 16:12 DADA30000

also one additional offtopic thing I would want to have in EE, is it possible to make "fake" popup windows to be real windows?

As the dialogs we are using inherit from a qml popup it is unlikely making them behave like a normal window is possible. And to be honest I am not a fan of the idea of having all of our dialogs becoming independent windows. Nothing against the blur but I prefer to have them as part of the main window.

That being said maybe there is some kind of flag that could be set to make the blur work. I have no idea.

wwmm avatar Dec 10 '25 21:12 wwmm