Plasmoids sind Widgets die direkt auf der KDE-Oberfläche platziert werden können. Beispiele für Plasmoids sind ein Notizblock, Kalender und eine Anzeige der Festplattenbelegung.
Neben QML können Plasmoids auch in C++, JavaScript, Ruby oder Python erstellt werden.
Um Plasmoids mit QML erstellen werden mindestens KDE 4.6 und das Qt-SDK in der Version 4.7.1 vorausgesetzt.
Unterhalb des Anwendungsverzeichnisses befindet sich eine Datei metadata.desktop
, die allgemeine Informationen über das Plasmoid bereitstellt und ein Ordner content
, der den eigentlichen Code der Oberfläche (Ordner ui
) und dahzugehörige Daten (Ordner data
) enthält. Der Code wird üblicherweise über eine Datei main.qml
ausgeführt.
Nochmals die Struktur:
Ähnlich wie bei einem Debian-Paket, können auch bei Plasmoids Metadaten angegeben werden. Diese befinden sich in der Datei metadata.desktop
.
Folgende Variablen stehen zur Verfügung:
Variable | Bedeutung |
---|---|
Encoding | Encoding des Textes |
Name | Name des Plasmoids |
Name[Sprache] | Name des Plasmoids in der angegebenen Sprache |
Type | |
ServiceTypes | |
Icon | Icon, das KDE für das Plasmoid anzeigt |
Comment | Kommentar |
X-Plasma-API | Sprache in der das Plasmoid geschrieben ist, für QML ist das declarativeappletscript |
X-Plasma-MainScript | Haupt-Skript des Plasmoids, üblicherweise ui/main.qml |
X-Plasma-DefaultSize | Standard-Größe des Plasmoids |
X-KDE-PluginInfo-Author | Name des Autors |
X-KDE-PluginInfo-Email | Mail-Addresse des Autors |
X-KDE-PluginInfo-Website | Website des Plasmoids/Autors |
X-KDE-PluginInfo-Category | Kategorie unter der das Plasmoid angezeigt wird |
X-KDE-PluginInfo-Name | Installationspfad: ~/.kde/share/apps/plasma/<X-KDE-PluginInfo-Name>/ |
X-KDE-PluginInfo-Version | Versionsnummer |
X-KDE-PluginInfo-Depends | Abhängigkeiten |
X-KDE-PluginInfo-License | Lizenz |
X-KDE-PluginInfo-EnabledByDefault | Falls true , wird das Plasmoid von KDE in der Auswahl angezeigt |
Für unser Beispiel verwenden wir folgende Datei:
[Desktop Entry] Encoding=UTF-8 Name=Hello World! Name[de]=Hallo Welt! Type=Service ServiceTypes=Plasma/Applet,Plasma/PopupApplet Icon=contents/data/proggen-logo.png Comment=A simple QML-plasmoid. X-Plasma-API=declarativeappletscript X-Plasma-MainScript=ui/main.qml X-Plasma-DefaultSize=200,100 X-KDE-PluginInfo-Author=Daniel Marth X-KDE-PluginInfo-Email=nufan@proggen.org X-KDE-PluginInfo-Website=http://proggen.org/ X-KDE-PluginInfo-Category=Examples X-KDE-PluginInfo-Name=org.proggen.helloworld X-KDE-PluginInfo-Version=0.1 X-KDE-PluginInfo-Depends= X-KDE-PluginInfo-License=GPL X-KDE-PluginInfo-EnabledByDefault=true
Das komplette Beispiel kann hier heruntergeladen werden: helloworld.zip
Installiert kann das Plasmoid über den Befehl:
plasmapkg -i helloworld
Wobei helloworld
der Name jenes Ordners ist, der unser Plasmoid enthält. Die Deinstallation erfolgt ähnlich:
plasmapkg -r helloworld
In diesem Fall steht der letzte Parameter jedoch für den Namen des Plasmoids, falls dieser vom Namen des Ordners abweicht. Eine Liste aller installierten Plasmoids kann ebenfalls abgefragt werden:
plasmapkg -l
Um sich das ständige neu Installieren während der Entwicklungsphase zu ersparen, kann auch plasmoidviewer
verwendet werden:
plasmoidviewer helloworld
Mit dieser Methode können auch Fehlermeldungen ausgelesen werden.
Über das Kontextmenü des KDE-Desktops kann nun der Add Widgets…
-Dialog aufgerufen werden, in diesem nun unser Plasmoid mit unserem Logo angezeigt wird. Eventuell müssen zuerst Widgets über das selbige Kontextmenü entsperrt werden.
Nun kann das Plasmoid per Drag-And-Drop auf dem Desktop platziert werden.