Review Request: Support for transparent panel without composition

David Nolden zwabel+reviewboard at gmail.com
Mon Mar 30 09:54:44 CEST 2009


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

Review request for Plasma.


Summary
-------

Many people can not, or do not want to use composition. A semi-transparent panel highly increases the appeal of a Desktop, and there currently is only very few plasma themes available that have a nice-looking panel without transparency enabled.

All other major linux Desktop-Environments support transparent panels without composition(KDE 3.x, GNOME, and others), and since usually the only thing that needs to be visible through the panel is the Desktop itself, using a composition-less approach does not have much disadvantage here.

Here's I'm proposing a patch to achieve  this in a relatively clean way: The panel is painted and updated as if it was a plasmoid on the Desktop itself, grabbing the painted area plasma-internally directly from the  underlying desktop-view. The corresponding area of the panel is updated whenever the desktop is repainted, which means that animated plasmoids partially hidden under the panel, animations like the desktop-fading, moving plasmoids partially under the panel, etc. "just work".

Result: A nice looking panel for everyone, less work for theme designers. Please don't leave those behind who don't want or can not use desktop composition!

(Note: If you try this out, it doesn't work with all themes, since some themes seem to have no alpha-information in the non-composition case).


Diffs
-----

  trink/KDE/kdebase/workspace/plasma/containments/mid-panel/panel.cpp 940781 
  trink/KDE/kdebase/workspace/plasma/containments/panel/panel.cpp 940781 
  trink/KDE/kdebase/workspace/plasma/shells/CMakeLists.txt 940781 
  trink/KDE/kdebase/workspace/plasma/shells/desktop/desktopview.h 940781 
  trink/KDE/kdebase/workspace/plasma/shells/desktop/desktopview.cpp 940781 
  trink/KDE/kdebase/workspace/plasma/shells/desktop/panelview.h 940781 
  trink/KDE/kdebase/workspace/plasma/shells/desktop/panelview.cpp 940781 
  trink/KDE/kdebase/workspace/plasma/shells/desktop/plasmaapp.h 940781 
  trink/KDE/kdebase/workspace/plasma/shells/desktop/plasmaapp.cpp 940781 

Diff: http://reviewboard.kde.org/r/472/diff


Testing
-------


Thanks,

David



More information about the Plasma-devel mailing list