This forum has been archived. All content is frozen. Please use KDE Discuss instead.

[Idea] Mix & match breeze and breeze dark

Tags: None
(comma "," separated)
User avatar
pedrorodriguez
Registered Member
Posts
115
Karma
0
OS
Hi. I've been using the breeze themes since the first release, and it looks great. Kudos. One small observation, however. I am currently using breeze dark for my desktop theme (panel & widgets), and regular breeze for color scheme and icons. Everything looks great except for the cashew menu, things like bookmarks in krunner or session options in kicker. They are some kind of grey which is very similar to the breeze dark color, so they are almost invisible. If I use the breeze dark icons, they look just fine, but you can't see icons in applications unless you also switch to the breeze dark color scheme. I believe if you wanted to have a regular breeze panel, but breeze dark color scheme for applications you would have the same issues. Other widgets like network manager aren't affected by this.

Would it be possible to fix this somehow? Maybe I'm not using the breeze themes as intended, but I happen to like a dark panel, and light applications.
User avatar
garthecho
Registered Member
Posts
57
Karma
0
OS
This reminds me of a related issue. You can see in this photo that the grey monochrome icon in the blue button doesn't look nice, and should be rendered white. I would love to see functionality added to detect the color of the background and choose the appropriate monochrome icon to use against it.

Image
User avatar
Uri_Herrera
Registered Member
Posts
215
Karma
0
OS
Well, no, you're supposed to use the light theme with the dark icons and viceversa, Plasma widgets use the icons provided by the Plasma theme. That said, I think Qt can change the color of the SVG, I think, maybe it's a feature that the KDE Frameworks can add at some point. But I don't know if, it's indeed possible to, how performance would be affected.

Because I tell you, mixing both icon themes is not going to happen.
hugo.pereira@free.fr
Registered Member
Posts
133
Karma
0
Uri_Herrera wrote:That said, I think Qt can change the color of the SVG

Googled a bit, have found no way to do that that is not ugly (e.g.: parse the svg text file and replace colors on fly). There are also 'QGraphicEffects' but wont apply on icons.
kdeuserk
Registered Member
Posts
207
Karma
0
Hugo, whats wrong with parsing the file on the fly? Maybe we could introduce special labels in the svg file that hint the used colors and the alternative color to be chosen and replace all those colors in the file, or is this operation too expensive?
rauhala
Registered Member
Posts
1
Karma
0
How about simply loading icons from Breeze Dark icon theme when using Breeze Dark Plasma theme and Breeze icon theme? PlasmaCore.IconItem already does something similar: it prefers icons from Plasma theme. It is used for eg. monochrome tray icons. PlasmaCore.IconItem displays a lot icons correctly when mixing light and dark but it also prefers monochrome tray icons so we can't simply use it. QIconItem is used for displaying normal application icons but it always uses icons from the default icon theme.

Also we want to allow using other icon themes with Breeze Plasma theme. However it is still possible to support mixing light and dark themes. Here's my idea:
  • Add metadata to icon themes about icon's color scheme type(Light / Dark) and a name of an inverted version of the icon theme. For example, Breeze is a light icon theme and it's inverted version is Breeze Dark.
  • Add a way to figure out Plasma theme's color scheme type(Light / Dark). It could be calculated automatically from textColor or add a metadata field to Plasma themes.
  • A QML component to do the icon loading. We could extend PlasmaCore.IconItem with logic for picking icons from the correct icon theme based metadata and add a style property(ApplicationStyle and PlasmaStyle) to avoid using monochrome tray icons. Or maybe add the logic to QIconItem.
  • Convert all uses of QIconItem in plasmoids to PlasmaCore.IconItem with style property set to ApplicationStyle. We would also have to ensure that icon name is passed to PlasmaCore.IconItem instead of a QIcon so PlasmaCore.IconItem can do the icon loading by itself.
hugo.pereira@free.fr
Registered Member
Posts
133
Karma
0
kdeuserk wrote:Hugo, whats wrong with parsing the file on the fly? Maybe we could introduce special labels in the svg file that hint the used colors and the alternative color to be chosen and replace all those colors in the file, or is this operation too expensive?


That would imply a lot of dirty code (which I am not even sure is doable inside widget style), that is not robust (meaning: nothing prevents someone the change the color tag in the icon and break the style), is not portable to other svg icon themes, and useless (or irrelevant) for png icon themes. So really a workaround/hack rather than a solution.
(and also: that would break as soon as you use a different widget style)
luebking
Karma
0
Also see viewtopic.php?f=285&t=123468 in this regard


Bookmarks



Who is online

Registered users: abc72656, Bing [Bot], daret, Google [Bot], lockheed, Sogou [Bot], Yahoo [Bot]