Ein KDE-Plasma-6-Plasmoid von Grund auf erstellen

Read this article in English

Ein eigenes KDE-Plasma-Widget zu bauen klingt zunächst nach viel CMake, QML und Plasma-spezifischem Wissen. Das Template KDE Plasma 6 Plasmoid Template nimmt den wiederkehrenden Teil ab und lässt genau das übrig, was für das eigene Widget wichtig ist: Oberfläche, Einstellungen und die eigene Idee.

Video: Vom Clone zum Desktop

Was das Template bereits vorbereitet

Das Repository enthält ein minimales, aber vollständiges Plasma-6-Projekt: eine kompakte Darstellung für Panel oder Taskleiste, eine ausführliche Popup-Ansicht, einen Konfigurationsdialog, persistente Einstellungen, Übersetzungsdateien und Qt-Quick-Tests. CMake ist bereits mit den benötigten KDE- und Qt-Komponenten verdrahtet. Man startet also nicht mit einer leeren Datei, sondern mit einem Projekt, das sich direkt bauen lässt.

  • reines QML für die Oberfläche
  • KConfig-Einstellungen und KCM.SimpleKCM
  • Übersetzungsstruktur für Deutsch, Französisch und Spanisch
  • Qt-Quick-Test mit ctest
  • optionales C++-Plugin als Ausgangspunkt

1. Klonen und Abhängigkeiten

Im Video beginnen wir mit einem normalen Clone. Unter openSUSE Tumbleweed werden CMake, Extra-CMake-Modules, KDE Frameworks und die Qt-Quick-Testpakete benötigt:

git clone https://github.com/Agundur-KDE/KDE-Plasma-Plasmoid-template.git
cd KDE-Plasma-Plasmoid-template
sudo zypper install cmake kf6-extra-cmake-modules kf6-ki18n-devel \
  kf6-kconfig-devel kf6-kcmutils-devel qt6-quick-devel \
  qt6-test-devel qt6-quicktest-devel

Auf Arch, KDE neon oder Ubuntu heißen die Pakete teilweise anders. Wer nur den CMake- und Testpfad ausprobieren will, kann stattdessen den bereitgestellten CI-Container verwenden.

2. Bauen, installieren und testen

mkdir build && cd build
cmake .. -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX="$HOME/.local"
make -j$(nproc)
make install
ctest --output-on-failure

Die Installation nach ~/.local braucht kein sudo. Für die schnelle QML-Iteration ist sie sogar unnötig: plasmoidviewer -a package/ lädt das Paket direkt aus dem Quellordner.

3. Der wichtigste Gotcha: zuerst umbenennen

Das Template enthält bewusst Platzhalter wie de.agundur.myplasmoid, myplasmoid und KDE-Template. Vor dem eigentlichen Umbau sollte einmalig das interaktive Skript laufen:

bash rename.sh

Das Skript aktualisiert Paket-ID, Metadaten, Dateinamen der Übersetzungen und URLs. Wer nur den sichtbaren Namen in metadata.json ändert, lässt leicht eine alte Paket-ID oder einen falschen Installationspfad zurück.

4. Oberfläche und Einstellungen anpassen

Die Popup-Oberfläche liegt in package/contents/ui/main.qml. Dort bleiben fullRepresentation und compactRepresentation zusammen, weil QML-IDs wie root nicht automatisch in eine ausgelagerte Datei sichtbar sind. Einstellungen werden in package/contents/config/main.xml definiert und im configGeneral.qml mit einem passenden Feld verbunden.

Das klingt nach Kleinigkeiten, ist aber genau der Unterschied zwischen einem schnellen ersten Erfolg und einer langen Suche nach einem unsichtbaren Binding- oder Paketfehler.

5. Übersetzen ohne Überraschungen

Neue sichtbare Texte gehören in i18n() oder i18nc(). Danach sammelt Messages.sh die Strings und führt sie in die vorhandenen PO-Dateien:

./Messages.sh

Englisch ist die Quellsprache und benötigt keine eigene PO-Datei. In den anderen Sprachen entstehen neue leere msgstr-Einträge, die anschließend übersetzt werden. Ein häufiger Fehler ist, nur eine einzelne PO-Datei zu ändern und beim nächsten Lauf die aktualisierte POT-Struktur zu vergessen.

Ein sinnvoller Arbeitsablauf

  1. Clone und Abhängigkeiten installieren.
  2. rename.sh einmal ausführen.
  3. Die unveränderte Vorlage mit plasmoidviewer starten.
  4. Eine kleine QML-Änderung machen und sofort testen.
  5. Erst danach Einstellungen, Übersetzungen und optional C++ ergänzen.
  6. Zum Schluss Release-Build, ctest und Installation prüfen.

So bleibt klar, ob ein Fehler aus der eigenen Änderung oder aus der Umgebung kommt. Das vollständige Beispiel mit allen Schritten zeigt das eingebundene Video.

Code und Video

Das komplette Template ist öffentlich auf GitHub verfügbar. Das knapp zehnminütige Video führt den Ablauf praktisch vor: vom Clone über Umbenennung, Übersetzung und Kompilieren bis zum Widget auf dem Desktop.

Zum GitHub-Repository

← Zurück zu Projekte

Logo githubMy Github
mastodon logoFollow me
Logo hire meHire me
Logo EmailEmail