[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