Development/Architecture/KDE4/Plasma

From KDE TechBase

Plasma is the name of the new desktop which replaced KDesktop in KDE4. You may think that it is a union of SuperKaramba and KDesktop, but it's more. It's a whole concept of functionality and beauty.

Its implementation is based on the Qt Graphics View Framework introduced in Qt 4.2.

From a developer point of view there are some classes in libplasma who play central roles.

  • Corona: extends QGraphicsScene and provides functionality for adding applets and karamba themes.
  • Widget: extends QGraphicsItem and works as simple elements in the desktop. There are some built-in in libplasma as icons or buttons.
  • Applet: extends Widget and implements sophisticated functionality as rss display, a clock or system monitoring.
  • DataEngine: The common use of a DataEngine is to provide data to an applet for display. This allows a user interface elements to show all sorts of data.

Further reading