Home / LinuxUser / 2008 / 10 / Fortgeschrittenes Basteln

Newsletter abonnieren

Lies uns auf...

Folge LinuxCommunity auf Twitter

Top-Beiträge

„Klickbunt auf dem Server? Warum nicht, wenn's hilft!"
(208 Punkte bei 7 Stimmen)
Bezahlstandard
(121 Punkte bei 4 Stimmen)

Heftarchiv

LinuxUser Heftarchiv

EasyLinux Heftarchiv

Ubuntu User Heftarchiv

Ubuntu User Heftarchiv

Partner-Links:

Das B2B Portal www.Linx.de informiert über Produkte und Dienstleistungen.

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.

Einem Freund empfehlen    Druckansicht Bookmark and Share
Kommentare

1973 Hits
Wertung: 110 Punkte (8 Stimmen)

Schlecht Gut

Infos zur Publikation

Infos zur Publikation

title_2013_06

Aktuelle Ausgabe kaufen:

Heft bestellen Heft als PDF kaufen

LinuxUser erscheint monatlich und kostet in der Nomedia-Ausgabe EUR 5,95 und mit DVD EUR 8,50. Weitere Informationen zum Heft finden Sie auf der LinuxUser-Homepage.

Im LinuxUser-Probeabo erhalten Sie drei Ausgaben für 3 Euro. Das Jahresabo (ab EUR 60,60) können Sie im Medialinx-Shop bestellen.

Tipp der Woche

Terminator
Viele Terminals im Griff mit Terminator
Tim Schürmann, 07.05.2013 10:57, 1 Kommentare

Wer morgens nach dem Einschalten des Rechners erst einmal mehrere Terminals öffnet und sich diese mühevoll auf dem Bildschirm drapiert, der sollte einen Blick auf Terminator werfen. Das kleine...

Aktuelle Fragen

Kontakt via QR code hinzufügen
Herman Sproesser, 17.05.2013 17:46, 3 Antworten
Hi hab in der aktuellen ausgabe 06.2013 den artikel über QR Codes gelesen. Ich hab nartürlich...
Dateimanager Dolphin, wo legt er die Datei Kommentare ab?
Uwe Heine, 16.05.2013 15:19, 1 Antworten
Suse Linux 12.1 - KDE 4.7.2 / Dolphin 1.7. Ich habe bei vielen Dateien über Dolphin Kommentare...
wie baut man Kernel Module so, dass sie mit jedem Kernel laden?
GoaSkin , 22.04.2013 10:22, 1 Antworten
Hallo, baut man anhand eines Kernel-Sources Module, nutzt Linux im Normalfall eine strikte V...
Problem beim Installieren von SuSe 12.3
Georg Prokert, 14.04.2013 00:04, 16 Antworten
Hallo, auf meinem neuem Laptop (Acer Aspire V3-771, Intel Core i5-3230 M, Intel HD Graphics 4...
lvm wieder loswerden
Peter Dibbern, 11.04.2013 16:28, 4 Antworten
Ich habe sämtliche alten Kisten ausgeschlachtet und aus der Teilen einen Rechner zusammengeschrau...