Plasma

Plasma framework

Plasma framework is the core of the Plasma desktop.

It provides a framework of graphical widgets (Plasma::Applet) that can be organised into managed groupings (Plasma::Containment), such as a desktop or panel. It also provides a data abstraction layer (Plasma::DataEngine) and a corresponding service interaction layer (Plasma::Service) to make implementing widgets easier.

The Qt Quick framework and set of KDE Frameworks provide the underpinning for Plasma framework. As a result, it should work anywhere that Qt does.

Although Plasma framework is developed for the use of the Plasma desktop shell, currently known as Plasma 5, it is general enough to be useful in other applications. Amarok is using it for its context view, allowing for pluggable widgets to display and interact with the music collection, such as "current track" and "tag cloud" widgets.

Plasma framework itself only provides a framework, and the widgets, containments, data engines are all implemented as plugins (using C++, for widgets QML is prefferd). However, the framework is designed to make implementing these plugins as easy as possible, including providing scripting support.

Other important classes are:

The Plasma tutorials on TechBase provide a good introduction to writing plugins, such as widgets and data engines, for libplasma-based applications.

Author(s):
Aaron Seigo <aseig[email protected][email protected][email protected]e.org>
Alessandro Diaferia <aledi[email protected]afer[email protected][email protected][email protected]ail.[email protected]com>
Alex Merry <[email protected][email protected]ando[email protected]mguy3[email protected].me.[email protected]uk>
Alexander Wiedenbruch <wirr0[email protected][email protected][email protected]ail.c[email protected]om>
Alexis Ménard <darkt[email protected]ears[email protected][email protected][email protected]ail.[email protected]com>
André Duffeck <andre[email protected]@duf[email protected]feck.[email protected]de>
Andrew Lake <jambo[email protected]arde[email protected][email protected][email protected]oo.c[email protected]om>
Artur de Souza <asouz[email protected][email protected][email protected]e.org>
Bertjan Broeksema <b.bro[email protected]ekse[email protected][email protected][email protected]emai[email protected]l.net>
Chani Armitage <chani[email protected][email protected][email protected]mail.[email protected]com>
Davide Bettio <david[email protected]e.be[email protected][email protected][email protected]kdem[email protected]ail.n[email protected]et>
Dan Meltzer <hydro[email protected][email protected][email protected]notye[email protected]timp[email protected]lemen[email protected]ted.[email protected]com>
Fredrik Höglund <fredr[email protected][email protected][email protected]de.or[email protected]g>
Ivan Cukic <ivan.[email protected]cuki[email protected]c+kde[email protected]@gma[email protected]il.co[email protected]m>
John Tapsell <tapse[email protected][email protected][email protected]de.or[email protected]g>
Jordi Polo <mumis[email protected][email protected][email protected]mail.[email protected]com>
Kevin Ottens <ervin[email protected]@kde[email protected].org>
Montel Laurent <monte[email protected][email protected][email protected]e.org>
Marco Martin <notma[email protected][email protected][email protected]mail.[email protected]com>
Matt Broadstone <mbroa[email protected][email protected][email protected]gmail[email protected].com>
Petri Damsten <[email protected][email protected]iki.[email protected]fi>
Rafael Fernández López <eresl[email protected]ibre[email protected]@kde.[email protected]org>
Riccardo Iaconelli <ricca[email protected][email protected][email protected]kde.o[email protected]rg>
Richard J. Moore <[email protected][email protected]kde.[email protected]org>
Rob Scheepmaker <r.sch[email protected]eepm[email protected][email protected][email protected]stud[email protected]ent.u[email protected]twen[email protected]te.nl>
Robert Knight <rober[email protected]tkni[email protected][email protected][email protected]mail[email protected].com>
Sebastian Kuegler <sebas[email protected]@kde[email protected].org>
Siraj Razick <siraj[email protected]@kde[email protected].net>
Zack Rusin <[email protected][email protected]kde.[email protected]org>
Maintainer(s):
Marco Martin <notma[email protected][email protected][email protected]mail.[email protected]com>
License(s):
LGPLv2
This file is part of the KDE documentation.
Documentation copyright © 1996-2020 The KDE developers.
Generated on Mon Nov 30 2020 22:41:44 by doxygen 1.8.11 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.