Aufmacher

Plasmoiden für KDE 4 programmieren

Fortgeschrittenes Basteln

Plasmoiden erweitern den KDE-4-Desktop um sinnvolle Anwendungen. KDE-Entwickler Sebastian Kügler erklärt, wie Sie die kleinen Helfer programmieren.

In der letzten Ausgabe von LinuxUser haben Sie gelesen, was Plasmoiden sind, aus welchen Komponenten sie bestehen [1] und wie Sie eine Entwicklungsumgebung für KDE 4 aufsetzen [2]. Diesmal gehts ans Eingemachte: Sie lernen, wie Sie den KDE-Desktop um eigene Widgets bereichern. Der Artikel zeigt zunächst, aus welchen Komponenten Sie ein neues Plasmoid entwickeln und wie Sie es dann fachgerecht in KDE 4 einbetten. Der Desktop befindet sich allerdings weiterhin in der Entwicklung, so dass sich die API und das Build-System mitunter ändern. Bei Fehlermeldungen hilft unter anderem die KDE-Devel-Mailingliste [3] weiter.

Schritt für Schritt zum Plasmoid

Zur Illustration dient das Beispiel-Plasmoid "Dr. Ade", dessen Quellcode Sie auf der Heft-DVD sowie unserer Website finden [4]. Es zeigt einen Monitor, der sich einschaltet, sobald Sie einen USB-Stick einstöpseln (Abbildung 1). In einem Tooltip erscheinen weitere Informationen zum eingesteckten Stick. Sie platzieren "Dr. Ade" auf dem Desktop oder in der Fußleiste, indem Sie das Plasmoid vom Appletbrowser per Drag & Drop dorthin ziehen.

Abbildung 1: Sobald Sie einen USB-Stick in den passenden Port schieben, meldet sich das Plasmoid "Dr. Ade".

"Dr. Ade" demonstriert, wie Sie SVG-Grafiken einbinden und darin einzelne Elemente separat wiedergeben und animieren. Sie lesen zudem, wie Sie einen Konfigurationsdialog für das Plasmoid erstellen und die Konfiguration speichern.

Im Beispiel implementieren Sie das Widget in der Programmiersprache C++. Plasma unterstützt aber auch Plasmoiden in anderen Programmiersprachen wie Javascript, Ruby und Python.

Buildsystem und Co.

Beim Übersetzen und Installieren des Plasmoids spielen zwei Dateien eine Hauptrolle: plasma-drade-default.desktop und CMakeLists.txt.

Die Datei plasma-drade-default.desktop (Abbildung 2) enthält Metainformationen über das Widget. Hier tragen Sie Ihren Namen als Programmierer ein, bestimmen ein Icon für das Applet, die Lizenz sowie einige weitere Parameter. Über die installierte .desktop-Datei findet Plasma das Plasmoid später und stellt es den Anwendern über den Appletbrowser zur Verfügung.

Abbildung 2: Die "Desktop"-Datei des Plasmoids enthält die wichtigsten Eckdaten zu "Dr. Ade".

Aus der Datei CMakeLists.txt (Listing 1) erfährt das Build-System CMake, mit dem Sie den Code übersetzen, welche Dateien es kompilieren soll und in welches Verzeichnis diese jeweils gehören. Am einfachsten ist es, eine existierende Datei entsprechend anzupassen. Um sie etwa mit dem Benutzerinterface von "Dr. Ade" (dradeConfig.ui) zu übersetzen, verwenden Sie das CMake-Makro kde4_add_ui_files() aus Zeile 3. Um weitere Bibliotheken einzubinden, ergänzen Sie das Makro target_link_libraries() in der Zeile 5.

project(plasma-drade)
set(drade_SRCS drade.cpp)
kde4_add_ui_files(drade_SRCS dradeConfig.ui)
kde4_add_plugin(plasma_applet_drade ${drade_SRCS})
target_link_libraries(plasma_applet_drade plasma ${KDE4_KIO_LIBS}${KDE4_SOLID_LIBS})
install(TARGETS plasma_applet_drade DESTINATION ${PLUGIN_INSTALL_DIR})
install(FILES plasma-drade-default.desktop DESTINATION ${SERVICES_INSTALL_DIR})
install(FILES television.svg DESTINATION ${DATA_INSTALL_DIR}/desktoptheme/default/widgets/)

TIPP

Haben Sie nur Kleinigkeiten in der CPP-Datei geändert, überspringt CMake das Überprüfen der Abhängigkeiten, wenn Sie zum erneuten Übersetzen make -j3 install/fast verwenden.

Das CMake-Makro install kümmert sich um die Installation des übersetzten Applets, der .desktop-Datei und eventuell vorhandener SVG-Grafiken.

Letztere landen typischerweise im Verzeichnis mit dem Standard-Theme von KDE 4, das sie überlagern. Bringt das Plasmoid keine passende SVG-Datei mit, wählt Plasma automatisch die aus dem Default-Theme.

TIPP

Wählen Sie beim Erstellen des Applets Farben aus der Klasse Plasma::Theme, da andernfalls eventuell Kontrastprobleme auftreten. Dank dieser Funktion integriert sich Ihr Applet visuell gut in den Desktop, auch wenn neue Plasma-Themes eigene Farbpaletten mitbringen.

LinuxCommunity kaufen

Einzelne Ausgabe
 
Abonnements
 
TABLET & SMARTPHONE APPS
Bald erhältlich
Get it on Google Play

Deutschland

Ähnliche Artikel

  • Erste Plasma-Widgets bereits auf Maemo 5 portiert
    Am Maemo-Summit in Amsterdam verteilte Nokia 300 Internettablets N900 an KDE- und Qt-Entwickler. Jetzt gibt es bereits erste Ports von KDE-Programmen für Maemo 5.
  • KDE 4.11 erhält verbesserten Task-Manager
    Eike Hein hat in einem Blog-Beitrag einen Ausblick auf die überarbeitete Fensterleiste im kommenden KDE 4.11 gegeben. Verbesserungen gab es vor allem beim Layout und der Anordnung der Einträge auf der Leiste.
  • Plasmoiden erstellen mit JavaScript
    Seit Version 4.4 bietet die KDE Software Compilation die Möglichkeit, Plasmoiden in JavaScript oder QtScript zu schreiben. Dadurch eröffnet sich die Welt der KDE-Widgets auch Nicht-Programmierern.
  • Plasmische Chirurgie
    KDE 4 definiert den Desktop um. Was aber steckt hinter Plasma und was sind Plasmoiden? KDE-Entwickler Sebastian Kügler erklärt das neue Desktop-Design.
  • KDE-Miniprogramme mit Plasmate programmieren
    Das KDE-Projekt hat eine erste Alphaversion von Plasmate veröffentlicht. Die kleine Entwicklungsumgebung ist zum Schreiben der Plasmoide genannten Applets für den KDE-4-Desktop gedacht.
Kommentare

Infos zur Publikation

LU 10/2016: Kryptographie

Digitale Ausgabe: Preis € 0,00
(inkl. 19% MwSt.)

LinuxUser erscheint monatlich und kostet 5,95 Euro (mit DVD 8,50 Euro). Weitere Infos zum Heft finden Sie auf der Homepage.

Das Jahresabo kostet ab 86,70 Euro. Details dazu finden Sie im Computec-Shop. Im Probeabo erhalten Sie zudem drei Ausgaben zum reduzierten Preis.

Bei Google Play finden Sie digitale Ausgaben für Tablet & Smartphone.

HINWEIS ZU PAYPAL: Die Zahlung ist ohne eigenes Paypal-Konto ganz einfach per Kreditkarte oder Lastschrift möglich!

Aktuelle Fragen

Soundkarte wird erkannt, aber kein Ton
H A, 25.09.2016 01:37, 6 Antworten
Hallo, Ich weiß, dass es zu diesem Thema sehr oft Fragen gestellt wurden. Aber da ich ein Linu...
Scannen nur schwarz-weiß möglich
Werner Hahn, 20.09.2016 13:21, 2 Antworten
Canon Pixma MG5450S, Dell Latitude E6510, Betriebssyteme Ubuntu 16.04 und Windows 7. Der Canon-D...
Meteorit NB-7 startet nicht
Thomas Helbig, 13.09.2016 02:03, 3 Antworten
Verehrte Community Ich habe vor Kurzem einen Netbook-Oldie geschenkt bekommen. Beim Start ersch...
windows bootloader bei instalation gelöscht
markus Schneider, 12.09.2016 23:03, 1 Antworten
Hallo alle zusammen, ich habe neben meinem Windows 10 ein SL 7.2 Linux installiert und musste...
Ubuntu 16 LTE installiert, neustart friert ein
Matthias Nagel, 10.09.2016 01:16, 3 Antworten
hallo und guten Abend, hab mich heute mal darangewagt, Ubuntu 16 LTE parallel zu installieren....