Review Request: Add a generic mechanism to render solid backgrounds behind plasma frames

David Nolden zwabel+reviewboard at gmail.com
Wed Apr 15 10:10:14 CEST 2009



> On 2009-04-14 20:17:33, Aaron Seigo wrote:
> > this does't need multiple backends (we have multiple settings for theming already: themes), and the colour should come out of the theme color scheme so it can be matched properly to the panel.
> > 
> > at the very least this can form the basis of the defaults; i'm unconvinced this needs to be configurable, since the idea is to at least replace the default black background for themes that don't provide opaque/ svg's (which is the proper route for themes)

@Aaron: This would solve another problem of plasma themes: Low configurability. One plasma-theme could cover more user tastes. Consider for example the Glassified theme: I think it's beautiful, but when using it with composition, I sometimes had the feeling it's too transparent. Still others might think it's great this transparent, and with such an option, the user could reduce the transparency by his own taste, and could also tint the theme to better fit his taste. It doesn't make sense to provide different variants of a theme just to cover slight variances in the user preferences, and it would also be hard to maintain.

The most important reason why the background-color should not _only_ be provided by the theme is because that way it cannot be in harmony with the wallpaper. The opaque oxygen theme for example looks nice with a blue wallpaper, but not at all with an yellow one, since the blue color in the panel is fixed. With composition, this harmony is provided by transparency, but without composition the harmony must come from the solid panel background.


- David


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
http://reviewboard.kde.org/r/591/#review924
-----------------------------------------------------------


On 2009-04-14 16:00:50, David Nolden wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> http://reviewboard.kde.org/r/591/
> -----------------------------------------------------------
> 
> (Updated 2009-04-14 16:00:50)
> 
> 
> Review request for Plasma.
> 
> 
> Summary
> -------
> 
> This allows making transparent themes "solid" in a relatively nice-looking way. My idea is that there would at least a few configurable background-providers: User-chosen solid color(with alpha value), user-chosen pattern(tinted by solid color with alpha-value), solid color autodetected from the background image(to make the colors match).
> 
> In this initial implementation, there is one background-provider for a color with an alpha-value. This might also be a nice way to customize themes even if composition is enabled, because it can be used to just reduce the transparency, and tint the theme into a user-chosen direction.
> 
> This isn't ready and doesn't have a user-interface, I'm mainly posting this for review to check whether the general approach is accepted.
> 
> To try it out, add something like:
> frameBackgroundColor=#ff0000
> frameBackgroundColorAlpha=255
> Into the [Theme] section of the ~/.kde4/share/apps/plasmarc file.
> 
> About the implementation:
> The main problem is identifying the specific frames that are intended to run as separate windows. I've done that using some simple string-matching, and it worked well in all my tries.
> 
> 
> Diffs
> -----
> 
>   trunk/KDE/kdelibs/plasma/CMakeLists.txt 953288 
>   trunk/KDE/kdelibs/plasma/framebackgroundprovider.h PRE-CREATION 
>   trunk/KDE/kdelibs/plasma/framebackgroundprovider.cpp PRE-CREATION 
>   trunk/KDE/kdelibs/plasma/framesvg.cpp 953288 
>   trunk/KDE/kdelibs/plasma/private/framesvg_p.h 953288 
>   trunk/KDE/kdelibs/plasma/theme.h 953288 
>   trunk/KDE/kdelibs/plasma/theme.cpp 953288 
> 
> Diff: http://reviewboard.kde.org/r/591/diff
> 
> 
> Testing
> -------
> 
> 
> Thanks,
> 
> David
> 
>



More information about the Plasma-devel mailing list