Extender theming issues.
Rob Scheepmaker
r.scheepmaker at student.utwente.nl
Thu Oct 9 15:47:48 CEST 2008
Hello everyone.
As you might have noticed, I've added support for theming the background of
extenderitems through a standard panelSvg svg in the desktoptheme. While this
is certainly an improvement over not having a background at all, it's still
not as neat as I would like it to be. Notice this mockup that pinheiro made:
http://img223.imageshack.us/img223/3504/extenderstj5.png
at the right bottom you'll see a lovely look for extenderitems: a standard
applet background minus bottom border. When the extender has to appear in a
Plasma::Dialog, this look can actually be accomplished quite easily: set
dialogs contents margins to 0 if it displays an extender, and you're almost
there. Since currently the extender-background.svgz is the same as the dialog
background, extenderitems are drawn perfectly over the dialog background, and
we even profit from dialogs handling of rounded corners. Another option is
hide the dialog background if an extender is drawn and handle the masking
ourself. Even that is not too difficult.
The problem occurs when we would like to keep this same look when the extender
is contained in an applet on the desktop, which is currently the case with the
kuiserver applet. The clocks don't have this issue for example, since even on
the desktop, it's extender is displayed in a dialog. The issue here is, that
dialog background and the applet background are different svg's. Just setting
the margin on the applet to 0 doesn't work here since the applet background
svg's have shadows, and thus don't align properly with the extender background
(not to speak about removing the option to combine an extender and other
widgets in a layout without making it look very weird).
We also can't just obey the margins as set in the panelSvg, since in that case
we would have two borders: the standard background of the applet, and the
background of the extenderitems within that border. We could require applet
backgrounds to set two margins: one for extenderitems and one for ordinary
widgets, but that would still give problems when combining the two in one
layout, which I think should be possible.
I really hope I've made the issues clear, since I discovered it can be quite
difficult to communicate this 'visual stuff' clearly, and I'd really love to
hear some suggestions on how to make extender theming as appealing as possible
without making the codebase a mess or removing a lot of the flexibility it
currently has.
Regards,
Rob Scheepmaker
More information about the Plasma-devel
mailing list