[Panel-devel] applet facilities

Aaron J. Seigo aseigo at kde.org
Wed Jan 4 23:49:20 CET 2006


hi all...

so while playing with applet related code in plasma and messing around with SK 
i've arrived at the following thoughts. please discuss them, expand on them, 
add to them, etc...

applet theming needs to be centralized. right now it's a PITA to try and get 
all your SK widgets looking the same. and they look far nicer when they do. i 
have noticed some graphical themes are carried across SK widgets, but it's 
pretty haphazard. the biggest thing is the widget background and borders, 
really. these are already written in as part of the plasma theme, so that 
shouldn't be a big issue. and this way the user can select a given widget 
style and all the widgets will match. there is no reason "custom backgrounds" 
for applets can't be added, of course. but applets shouldn't have to care 
about it; this should be handled by the AppletComposer.

applet configuration should be standardized. requiring PyQt is a bit much (and 
becomes insane if people will be mix'n'matching applets in different langs), 
and we can do better than using KDialog. i'm thinking we use KConfigXT XML 
and include those in the applet bundle. an AppletConfigXT class would then 
read in the KConfigXT XML and create an appropriate KConfigSkeleton item. 
combined with a designer .ui file, this can create automagically working 
config dialogs. designer files can be instantiated at runtime (obviously) and 
connected with a KConfigSkeleton object (also obvious =). so an applet could 
simply call:

	showConfig();

and given a .ui file get a nice shiny GUI. if the .ui is missing, we could 
provide a standard (boring) widget or even rely on KConfigDialog to autogen 
the UI for us.

applet bundles: applets should come with bundles. C++ based applets will ship 
both a library and a bundle, while script applets will provide just a bundle 
with the scripts included. basically what sk does right now. i would like to 
sanitize the layout of the bundles, though, and define how things are 
generally laid out. that way we can provide a nice little bundle assembler 
GUI for applet authors.

general theming: i'm currently working with ken weimer to nail this puppy down 
better. looks like right now it'll be a set of svg files in a zip file with a 
directory structure like this:

/plasma
     \___ chain_endcap_left.svg
     |___ .... more files ...

by keeping all the files in a /plasma dir, we can then add more directories in 
the future so that hopefully a theme pack may include svg's for widget 
styles, window decorations and plasma bits... we should have some sample 
svg's to play with in svn shortly, courtesy of ken.

-- 
Aaron J. Seigo
GPG Fingerprint: 8B8B 2209 0C6F 7C47 B1EA  EE75 D6B7 2EB1 A7F1 DB43

Full time KDE developer sponsored by Trolltech (http://www.trolltech.com)
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: not available
Url : http://mail.kde.org/pipermail/panel-devel/attachments/20060105/aabff9ea/attachment.pgp


More information about the Panel-devel mailing list