Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 549824 - Qt4 applications use wrong palette and icons w/ Breeze within a KDE 5.x session
Summary: Qt4 applications use wrong palette and icons w/ Breeze within a KDE 5.x session
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] KDE (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: Gentoo KDE team
URL: https://bugs.kde.org/show_bug.cgi?id=...
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2015-05-18 15:34 UTC by Matthias Dahl
Modified: 2015-06-24 15:00 UTC (History)
0 users

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Matthias Dahl 2015-05-18 15:34:02 UTC
If Breeze is configured for Qt4 applications through qtconfig, all Qt4 applications will use a slightly incorrect color palette as well as icon set depending on KDE_SESSION_VERSION: If it is set to 4, the styling works just fine but if it is set to 5, the color palette is slightly off and the wrong icon set is picked up.

I filed an appropriate bug upstream which is being ignored thus far unfortunately. But it also has some example screenshots to demonstrate the issue.

After testing OpenSUSE Tumbleweed for this issue, I was _not_ able to reproduce it there. It checked their environment, applied patches for specific packages and even tested some patches that seemed somewhat related -- but thus far, I haven't been able to figure out what makes their environment different from ours.

User's from archlinux are reporting similar issues:
https://bbs.archlinux.org/viewtopic.php?id=192878

I have yet to try Kubuntu to see if it is reproducible there but judging from what was posted elsewhere, it should work just fine there as well (like with OpenSUSE Tumbleweed).

So it is either something that we are doing wrong on our end _or_ it is indeed a bug somewhere in the huge ecosystem that some dists have fixed by themselves and haven't upstreamed (yet?). :-(

I would appreciate any help I can get on tracking and figuring this one out... because thus far I have invested a huge amount of time and still haven't been able locate the real culprit.

Reproducible: Always

Steps to Reproduce:
1. start KDE 5.3 session
2. qtconfig
3. if breeze is not already active, set it and save and restart qtconfig


Actual Results:  
The progress-bar (showing 50%) is shown in a dark blueish color.

Expected Results:  
Should be shown in the correct light breeze color.

1)
~amd64 system w/ kde overlay and kde 5.3 / kde applications 15.04.1 unmasked appropriately.

2)
This can also easily be reproduced in a clean environment like a fresh new user that has no remnants of previous KDE4 or KDE5 sessions/configurations.
Comment 1 Matthias Dahl 2015-05-18 18:36:18 UTC
Ok, just tested on Kubuntu 15.04 and Qt4 apps _do_ get the correct colors assigned -- just like with OpenSUSE.

Thus far, I haven't found anything in their patches and/or environment either that could explain why it is working there though. :(
Comment 2 Matthias Dahl 2015-05-19 14:47:58 UTC
Here some additional information I have been able to gather:

1)
Setting a symlink .kde -> .kde4 "fixes" (as in: workaround) the problem.

2)
The color that doesn't get picked up when not everything is properly in place is "BackgroundNormal" from the "Colors:Selection" section of kdeglobals.


I spent hours trying to figure out why this is different from other distributions but I came up empty-handed. If KDE_SESSION_VERSION=5, ".kde" is additionally searched for kdeglobals but not exclusively, thus it should still work. Also I have no idea where the ".kde" comes from. KSharedConfig (which uses KStandardDirs) should all be ".kde4".

If anyone has any ideas whatsoever, please I am all hears and I would appreciate any help I can get.
Comment 3 wojtek 2015-05-19 18:44:05 UTC
I don't have KF5 installed but ~/.kde probably comes from /usr/bin/startkde (kde-base/kdebase-startkde-4.11.*).

/usr/bin/startkde --> shell script
Comment 4 Matthias Dahl 2015-05-21 13:44:46 UTC
Mystery solved. ;-)

We are not pulling in "kde-base/qguiplatformplugin_kde" if one does a clean KDE 5.x install, thus the Qt4 plugin never gets installed and all sorts of problems show up as a consequence. Usually it is pulled in through "kde-base/kdebase-meta". Once it is installed, everything works really perfectly without the need for any workaround and/or patches -- just like on every other distro.

Just to make it clear: It is also installed on other KDE 5.x-based distros. :)

Question is: Where should this dependency be added to because it is clearly required and should be fixed?

For what it is worth: This whole ordeal gave me a good excuse to dive deep into how to debug Qt properly with naked gdb and I came to learn a lot about and love gdb macros. ;-)

(In reply to wojtek from comment #3)
> I don't have KF5 installed but ~/.kde probably comes from /usr/bin/startkde

Thanks for taking the time, it is very much appreciated. But those (environment variables, ...) were the very first things I checked. :-)
Comment 5 Andreas Sturmlechner gentoo-dev 2015-06-14 09:36:04 UTC
Should be solved now, using plasma-desktop[qt4] and breeze[kde4]?
Comment 6 Matthias Dahl 2015-06-24 15:00:16 UTC
(In reply to Andreas Sturmlechner from comment #5)
> Should be solved now, using plasma-desktop[qt4] and breeze[kde4]?

Yes, that is correct. I will mark this bug as fixed then. Thanks for the reminder, so it won't stay open forever. :-)