The Breeze Light/Dark desktop themes' highlight, hover, positive, neutral and negative colors are set in their colors files. If those colors came from system colorscheme, then the user could customize the look of their desktop even more, without needing to make a custom desktop theme. The BackgroundAlternate, BackgroundNormal, ForegroundInactive and ForegroundNormal colors would remain since the Breeze Light/Dark desktop themes are meant to force a light or dark color for widgets and panels.
I'm not sure if the taskbar is the only place that is hardcoded, it's the only one I tracked down manually.
Ideally we would have an accent color picker in KCM and lighter and darker shades can be generated automatically. (Of course all configurable)
I agree that a more user-friendly way to choose the "accent color" would be nice. A simple enough UI for this would be to add a combobox to the top of the colors KCM that maps to the current theme's highlight color and allows that to be quickly changed without editing the theme.
As usual, we've had this feature for ages, it's just not exposed as nicely in the UI as it could be.
Actually, it should work already. It's possible that the stylesheets don't work on transparent elements. For instance, here's the code for the blue bar that is used for the focused application:
<g id="focus-top" transform="matrix(1,0,0,-1,0,51)"> <rect class="ColorScheme-ButtonFocus" transform="scale(1,-1)" style="opacity:0.72000002;fill:currentColor;fill-opacity:1;stroke:none" id="rect4997-3-9" width="26" height="2" x="5" y="-28.000002" /> <rect y="-29" x="5" height="1" width="26" id="rect4999-2-9" style="opacity:0.72000002;fill:currentColor;fill-opacity:1;stroke:none" transform="scale(1,-1)" class="ColorScheme-ButtonFocus" /> </g>
Actually, the opacity and stylesheets work fine for the drive-multipartition icon. Maybe the stylesheets don't work because of the conflicting opacity and fill-opacity values? Maybe it's opacity in particular that's the problem? drive-multipartition uses fill-opacity.
I mention this because in the theming documentation it's not defined in terms of accent and a palette around it but as distinct colors, to get the desired effect we would need some code to generate a palette.
This is because the Breeze Light and Breeze Dark desktop themes come with their own built-in colorschemes. If you want your desktop theme to be the same as your system colorscheme, use Breeze, even if you're using a dark colorscheme.
The reason why there are 2 desktop themes with built-in colors is that a user may want to have something like a dark panel with light applications.
Sounds like this is one of those "Behaves Correctly" situations, but where we can make it more obvious because it's too complicated. Given that we now have Look And Feel packages, I wonder if we even need to keep around the separate Breeze Light and Breeze Dark Plasma themes anyway. Maybe what might make more sense is to just have a single "Plasma" theme that follows the colors in the color scheme by default, with a semi-hidden advanced option to have differing color schemes between Plasma and Apps.
Is there any reason Breeze Dark couldn't follow the color scheme just as Breeze does? Recreating Breeze Dark along with the accent color changes as a Breeze color scheme is a lot of unnecessary work (that I couldn't figure out after having extensively researched it). There should be a user-friendly way to change the main color used by the themes we ship with Plasma.
To answer your previous question; this specific task isn't about a program to generate color palettes, that was an aside as I think it might be worth exploring if we settle on this concept of 'accent color' because usually we would want a few similar colors to indicate different states, we want there to be enough contrast, and so on. I
There is: just use the "Breeze" Plasma theme, rather than the "Breeze Light" or Breeze Dark" theme. Then it will follow the color scheme. I agree that we need to expose this functionality in a much more user-friendly way.
I'm asking if there was any reason why Breeze Dark has the accent color in the taskbar hardcoded to blue, not if it's possible :) And I understand that people might want a dark taskbar, I do too, but I'm talking about the accent color not the dark background. I want to be able to change the accent color of Breeze Dark by changing the color scheme.
TBH, I just copied the Breeze Dark colorscheme and pasted it here: https://cgit.kde.org/plasma-framework.git/tree/src/desktoptheme/breeze-dark
Maybe if I removed the color settings for everything except the background and text colors, it would get the rest from the system colorscheme, but I don't know.
It does work, but unlike the Breeze desktop theme, changing the colorscheme doesn't work right away. You have to set the colorscheme, then either change to a different desktop theme and change back or restart plasmashell. I suppose it wouldn't hurt to make this change though.