Bug 476137

Summary: When run without plasma-integration (i.e. outside of Plasma) choosing a dark color scheme in the in-app color scheme chooser makes dark-colored icons invisible
Product: [Applications] Elisa Reporter: contact
Component: generalAssignee: Matthieu Gallien <matthieu_gallien>
Status: CONFIRMED ---    
Severity: normal CC: nate
Priority: NOR    
Version First Reported In: 23.08.2   
Target Milestone: ---   
Platform: Other   
OS: Linux   
Latest Commit: Version Fixed/Implemented In:
Sentry Crash Report:
Attachments: screenshot

Description contact 2023-10-27 06:50:02 UTC
SUMMARY
When I set Elisa to the Breeze Dark theme all the glyphs/icons on the window remain dark over the dark background. They are very hard to see in many spots. I've restarted the application and it still happens.

STEPS TO REPRODUCE
choose Breeze Dark as the Color Scheme in Elisa

OBSERVED RESULT
glyphs in the Elisa window are dark and hard to see over dark window background.

EXPECTED RESULT
glyphs should be light and dark background

SOFTWARE/OS VERSIONS
Linux: Pop! OS 22.04
Comment 1 Nate Graham 2023-10-27 15:24:24 UTC
1. Can you attach a screenshot of the window that shows the issue?
2. Are you changing the color scheme internally, from the hamburger menu's "Color Scheme" menu? Or another method?
Comment 2 contact 2023-10-27 21:53:06 UTC
Created attachment 162605 [details]
screenshot
Comment 3 contact 2023-10-27 21:54:45 UTC
I'm changing it from the hamburger menu's "Color Scheme" menu.
Comment 4 Nate Graham 2023-10-30 18:15:03 UTC
Ok, this is a bit unfortunate. What's going on is that the icons aren't being re-colored  because the re-coloring logic happens in plasma-integration, which presumably you're not using because you're not on Plasma. In this situation the expected way to get the icons to look correct is to switch to the "Breeze Dark" icon theme, which has the icons hardcoded to a light color, rather than requiring that they be re-colored.

However that would only make sense if you were using a dark theme everywhere. If you are, you can safely use the Breeze Dark icon theme.

If not, then you can install plasma-integration and then the recoloration will work. However that might pull in a lot of other things... it depends on how your distro packaged things.

I wonder if there's anything we can do to improve this situation. Maybe hide the color scheme menu when we detect the app is running with a QPT that isn't plasma-integration. Or maybe we can work towards moving the recoloration code into kiconloader so you don't need plasma-integration.
Comment 5 Nate Graham 2023-10-30 18:45:49 UTC
Talked with some other contributors regarding this. Our practical options are within Elisa are:

1. Within the app, detect when the user has chosen a dark color scheme via the in-app color chooser menu, and if you're using the Breeze icon theme, automatically substitute Breeze Dark. If you're using a 3rd-party icon theme where we can't know if there's a dark version available, then screw it, you're on your own. Downside: still represents a broken promise when using 3rd-party icon themes.

2. Hide the color chooser menu when not using plasma-integration as the QPT. Downside: hides a feature that we advertise and that can sometimes work properly in some contexts.


Longer term, our options for Qt changes outside of Elisa are:

1. Upstream KDE's icon recoloration feature to Qt, so that it's active by default when using a KDE app without plasma-integration installed

2. More broadly, create different infrastructure for "KDE app integration" and "Qt app integration when run on Plasma" because they're undesirably connected right now