Transparent themes without composition
David Nolden
zwabel at googlemail.com
Fri May 1 19:06:09 CEST 2009
I want to raise a discussion here how to make transparent themes look nice
without composition support.
So:
When a theme designer makes a theme transparent, then he wants something to
show through the theme. Without composition, the window manager will not
supply that background, so in order to keep it looking similar to the way the
designer has intended, plasma needs to paint a background behind the theme.
The question is now, how the background should look. The best thing about
transparent themes is that they adapt to the background wallpaper. When you
have a blue wallpaper, the panel is blue, when you have a red wallpaper the
panel is red, etc.
Some themes have opaque versions, like oxygen. These usually just pick a
random background color, and put it statically into the background. In oxygen
for example the panel is always blue, which imo looks ugly with for example an
orange background, while it perfectly fits to the default oxygen wallpaper. It
makes much more sense to dynamically transform these transparent themes into
opaque ones, to create a coherent desktop look.
In practice this would mean: Take the average color of the wallpaper, and
paint it behind all the floating parts of the theme(panel, krunner, etc.).
This already looks quite nice. But since many plasma themes have a glassy
look, they highly profit from something more shining through them, since
that's the only way they can retain that look. Transparency is not available,
but even without composition, one could use another metaphor instead:
Reflection. Just pick an arbitrary image, and paint it behind the theme object
and behind the color, and voila, themes look as nice as with composition, even
without it, and without fake transparency.
Just as a comparison:
Normal opaque version (Color fixed by theme):
http://zwabel.wordpress.com/files/2009/05/opaque_panel.png
Color-matched version:
http://zwabel.wordpress.com/files/2009/05/color_matched_panel.png
Color-matched plus reflection:
http://zwabel.wordpress.com/files/2009/05/color_matched_panel_with_background.png
In order to reach all this, I propose allowing the theme to paint behind
floating parts:
- A color given through the configuration file
- A pattern given through the configuration file
With the color thing implemented, adding support for a pattern is only a
question of a few lines, and I cannot see a rational reason behind not
allowing it when allowing the color.
I have implemented this, had it for review for quite long without significant
feedback, committed it, and now it was reverted, so please let's have a
rational discussion on this. Please keep in mind that not all users can use
composition (That subject is out of discussion).
Greetings, David
More information about the Plasma-devel
mailing list