Transparent themes without composition

David Nolden zwabel at
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.

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):

Color-matched version:

Color-matched plus reflection:

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