[Panel-devel] Plug-ons

Sven Burmeister sven.burmeister at gmx.net
Wed Mar 21 19:11:36 CET 2007


Hello everybody!

Since this was mentioned in one of the status-meetings (so I am not the only 
one :)) I would like to ask if plug-ons would be a feasible way to attract 
more "beginner"-developers to KDE and provide the users with a lot of new 
tools and toys and enable companies to easily extend KDE-applications to 
their needs.

One of plasma's advantages, as far as I understood it, is that it will enable 
people to choose their favourite language for creating a plasmoid. That way 
one can start small, both, in terms of the application and the knowledge 
needed to code something useful.

Even for applications that do provide a plug-in interface there are not that 
many plug-ins around that can be installed easily by the user without 
compiling or any other burden than downloading. So it seems that it is not 
easy enough, yet the tools for providing this ease seem available.

If one, as a simple example, wanted to display a buddy's avatar next to 
kopete's chat-window one could do that using a plasmoid talking to kopete via 
dbus. There are two pre-requisites that would enable plasmoids to act as 
plug-ons.

1. The plasmoid is started if its parent window is started.
2. The window-manager allows the grouping of windows.

If I am not mistaken the window-manager holds all information about a window's 
state and whether it is closed/opened/minimised etc. If plasma and the 
window-manager could talk to each other and plasma would have a simple 
manager for starting/stopping plasmoids whenever their parent window is 
started/closed it would be all that is needed to create a lot of plug-ons.

The plasmoid would be grouped with its parent-window(s) by the window-manager 
and treated as if they were one in terms of focus and desktop to display on 
etc. This might even make Gimp's GUI less annoying. ;)

Displaying an avatar is more of a toy then a tool, but this technique could be 
used by companies to customise and extend kontact to their needs, e.g. 
display information about the sender of an e-mail which is gathered from a 
database server.

Sven


More information about the Panel-devel mailing list