Review Request: Support for transparent panel without composition
David Nolden
zwabel+reviewboard at gmail.com
Sat Apr 4 19:01:59 CEST 2009
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
http://reviewboard.kde.org/r/472/
-----------------------------------------------------------
(Updated 2009-04-04 10:01:58.590349)
Review request for Plasma.
Changes
-------
Also map from desktop-view to global coordinates(No clue whether a desktop-view can be places at other coordinates than (0, 0))
Some style cleanup + reduce the patch a bit more
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 (updated)
-----
KDE/trunk/kdebase/plasma/containments/panel/panel.h 940781
KDE/trunk/kdebase/plasma/containments/panel/panel.cpp 940781
KDE/trunk/kdebase/plasma/shells/desktop/desktopview.h 940781
KDE/trunk/kdebase/plasma/shells/desktop/desktopview.cpp 940781
KDE/trunk/kdebase/plasma/shells/desktop/panelview.h 940781
KDE/trunk/kdebase/plasma/shells/desktop/panelview.cpp 940781
KDE/trunk/kdebase/plasma/shells/desktop/plasmaapp.h 940781
KDE/trunk/kdebase/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