plasma and new shadow mess
Aaron J. Seigo
aseigo at kde.org
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 ,
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
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...
Size: 198 bytes
Desc: This is a digitally signed message part.
More information about the kde-core-devel