Proposal for a Shadow extension



Hi all,

at KDE we designed a new system to allow clients to specify the shadow to be rendered by
the compositor. It is our belief that only the client can know how the shadow has to look like
(e.g. consistent light model). We think that this system is not only useful for KDE, but for all
compositors/Desktop Shells and therefore I propose it here as an idea for addition to the
NetWM spec.

The general idea of our system is that the client specifies a hint and passes eight pixmap ids
(four corners and four sides) and the offset in all directions to the compositor through the
hint. The compositor then can decide to render the shadow based on the hint. A full
description can be found in [1].

We currently have three parties implementing the system:
* Oxygen Qt style
* Oxygen GTK style
* Plasma Desktop Shell

And there has already been further interest by other application with a custom style such as
Yakuake. For such applications it would be of most interest to have a cross-desktop solution.
[2]

If there is interest in such a system in a standardized way, I would draft an addition to the
NetWM spec. Of course we are willing to change the code and have not yet added new
methods to our public API in order to be able to integrate feedback from the broader
community.

Kind Regards

Martin Gräßlin
KWin Maintainer

[1]: http://community.kde.org/KWin/Shadow
[2]: Yes I know that this would improve CSD and that this sounds like being a hypocrite. But I
prefer having a proper system instead of clients starting to extend their window size to get
custom drop shadows and causing major breakage.

Attachment: signature.asc
Description: This is a digitally signed message part.



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]