plasma and new shadow mess

Aaron J. Seigo aseigo at
Sun Jan 6 00:44:18 GMT 2013

On Monday, December 24, 2012 17:12:22 Weng Xuetian wrote:
> Hi Plasma world,
> As new shadow lands in KDE 4.10 RC1, some unintentional mess is introduced.

as pointed out by others, these bug reports are about other things.

(thanks, btw, for fixing one of them! :)

> The problem is, custom widget using plasma svg doesn't get new shadow
> support automatically, some code must be written.

that shadows for windows were ever done by the application is a bug. this 
should always have been done by the window manager. they were done by the 
application for historical reasons (plasma-desktop started doing those shadows 
before kwin was able to accomodate its needs; once kwin was ready, we then had 
to adapt plasma code ..) 

so i understand how other uses (e.g. the OSD) could get it "wrong" by simply 
copying what we did in, e.g., plasma-desktop (or by simply being written a 
long time ago), but they are still *wrong*.

they simply need to be fixed to have the window manager handle that shadows. 
one way to do this easily is to use Plasma::Dialog. the OSD in kmix (and 
elsewhere) really shouldn't be using its own QWidget based thing at all. it 
ought to be a bit of QML in a Plasma::Dialog.

> What make this problem worse is, the necessary class for shadow is not
> public. And AFAIK there are already 3 copies of same code across different
> kde projects (kdelibs/plasma/private/dialogshadows ,
> kde-workspace/libs/plasmagenericshell/panelshadows, 

this is due to historical events. it debuted in kde-workspace, and once it was 
shown working there, we later added this to libplasma. as we are in the middle 
of moving to qml, which will cause changes to the shells in kde-workspace 
anyways, i decided to live with the small duplication of code for now and 
address it when the shells are reworked to be purely qml based. otherwise, 
we'd essentially be doing work twice. there is, however, no particular design 
based reason for the duplication of code between kdelibs and kde-workspace.

> and one of my own in
> kdeplasma-addons),

it would really be better if your copy was removed by moving to 
Plasma::Dialog. if there are barriers to this, sharing them with us on plasma-
devel would be a good first step.

> plasmagenericshell is a shared library but it doesn't
> install header..

yes, it is shared between applications in kde-workspace. it is not a public 

Aaron J. Seigo
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 198 bytes
Desc: This is a digitally signed message part.
URL: <>

More information about the kde-core-devel mailing list