KDE Architecture - Applets
KDE's panel (also known as kicker) allows small programs, called "applets", to be embedded. Currently, for example the clock and the pager are implemented as applets.
Applets can run either in the internally (i.e. in the panel's process space) or externally (i.e. as separate processes). The advantage of the first method is that the memory overhead is not higher than really necessary. On the other hand, an unstable applet can crash the whole panel. This can not happen with an external applet which communicates with the panel via a DCOP connection.
From the programmer's point of view, the difference between internal and external applets is transparent. He implements an applet as a dynamically loadable library and inherits from the KPanelApplet class in the libkdeui library. In order to notify the panel about a new applet, it has to install a .desktop file in the directory share/apps/kicker/applet in the KDE directory hierarchy.
Initial Author: Bernd Gehrmann