Aufmacher

Fortgeschrittenes Basteln

Plasmoiden für KDE 4 programmieren

01.10.2008
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
 

Ä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.
  • 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.
  • 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.
  • 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.
  • 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.
Kommentare

Infos zur Publikation

LU 09/2015: Paketverwaltung

Digitale Ausgabe: Preis € 4,95
(inkl. 19% MwSt.)

Mit der Zeitschrift LinuxUser sind Sie als Power-User, Shell-Guru oder Administrator im kleinen Unternehmen monatlich auf dem aktuelle Stand in Sachen Linux und Open Source.

Sie sind sich nicht sicher, ob die Themen Ihnen liegen? Im Probeabo erhalten Sie drei Ausgaben zum reduzierten Preis. Einzelhefte, Abonnements sowie digitale Ausgaben erwerben Sie ganz einfach in unserem Online-Shop.

NEU: DIGITALE AUSGABEN FÜR TABLET & SMARTPHONE

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

Tipp der Woche

Grammatikprüfung in LibreOffice nachrüsten
Grammatikprüfung in LibreOffice nachrüsten
Tim Schürmann, 24.04.2015 19:36, 2 Kommentare

LibreOffice kommt zwar mit einer deutschen Rechtschreibprüfung und einem guten Thesaurus, eine Grammatikprüfung fehlt jedoch. In ältere 32-Bit-Versionen ...

Aktuelle Fragen

Scanner EPSON Perfection V 300 photo und VueScan
Roland Welcker, 19.08.2015 09:04, 1 Antworten
Verehrte Linux-Freunde, ich habe VueScan in /usr/local/src/vuex_3295/VueScan installiert, dazu d...
Empfehlung gesucht Welche Dist als Wirt für VM ?
Roland Fischer, 31.07.2015 20:53, 2 Antworten
Wer kann mir Empfehlungen geben welche Distribution gut geeignet ist als Wirt für eine VM für Win...
Plugins bei OPERA - Linux Mint 17.1
Christoph-J. Walter, 23.07.2015 08:32, 3 Antworten
Beim Versuch Video-Sequenzen an zu schauen kommt die Meldung -Plug-ins und Shockwave abgestürzt-....
Wird Windows 10 update/upgrade mein Grub zerstören ?
daniel s, 22.07.2015 08:31, 9 Antworten
oder rührt Windows den Bootloader nicht an? das ist auch alles was Google mir nicht beantw...
Z FUER Y UND ANDERE EINGABEFEHLER AUF DER TASTATUR
heide marie voigt, 10.07.2015 13:53, 2 Antworten
BISHER konnte ich fehlerfrei schreiben ... nun ist einiges drucheinander geraten ... ich war bei...