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