Beispiel Plasmoid

Dieses Beispiel soll erklären wie grundsätzlich ein Plasmoid erstellt werden kann. Weitere Informationen über das Schreiben von Plasmoids und das anpassen des UIs werden in diesem Artikel nicht behandelt.

Als erste Adresse für weitere Informationen wird diese Seite empfohlen.

Plasmoids erstellen

Plasmoids sind kleine Applets, die am Desktop oder in der Taskleiste von KDE4 angezeigt werden können.

Derzeit gibt es bereits eine große Menge verschiedenster Plasmoids, mit einem umfangreichen Funktionsangebot. Grundsätzlich existieren verschiedene Möglichkeiten wie Plasmoids erstellt werden können. Mit einer Skript-Sprache wie Python oder direkt in C++.

In diesem Artikel wird als Beispiel das Plasomid „Hello World!“ angelegt.

Die Struktur Aufbauen

Bei der Erstellung von Plasmoids muss eine definierte Verzeichnisstruktur eingehalten werden. Dazu muss zuerst das Hauptverzeichnis mit dem Namen des Plasmoids angelegt werden. Darunter das Verzeichnis contents und darunter code.

Alle Befehlsaufrufe in der Kommandozeile die das Plasmoid direkt betreffen (z.B. Paket erzeugen, Fehlersuche), werden direkt aus dem Hauptverzeichnis heraus gestartet.

Um die Verzeichnisstruktur für das Beispiel anzulegen kann folgender Befehl eingegeben werden:

$ mkdir -p hello-world/contents/code

Der Vollständigkeit halber sollte gleich das Verzeichnis ui unter contents hinzugefügt werden. In diesem Verzeichnis kann später die Konfiguration des User-Interface definiert werden.

$ mkdir -p hello-world/contents/ui

In dieser Verzeichnisstruktur müssen zumindest die beiden folgenden Dateien angelegt werden, deren Funktion und Inhalt noch weiter unten erläutert wird:

  • metadata.desktop direkt im Hauptverzeichnis
  • main.py im Unterverzeichnis code

metadata.desktop

Die Datei metadata.desktop enthält alle Informationen über das Plasmoid. Sowohl Informationen welche Module von Python benötigt werden, als auch Name und Zweck des Plasmoids sind darin enthalten.

Der Inhalt von metadata.desktop für das Beispiel sieht wie folgt aus:

[Desktop Entry]
Encoding=UTF-8
Name=Hello World
Name[de]=Hallo Welt
Type=Service
ServiceTypes=Plasma/Applet
Icon=pattern-network
X-Plasma-API=python
X-Plasma-MainScript=code/main.py
X-KDE-PluginInfo-Author=Michael Mayer
X-KDE-PluginInfo-Email=techwiki@kuhbox.net
X-KDE-PluginInfo-Name=hello-world
X-KDE-PluginInfo-Version=1.0
X-KDE-PluginInfo-Website=http://techwiki.kuhbox.net/
X-KDE-PluginInfo-Category=Examples
X-KDE-PluginInfo-Depends=
X-KDE-PluginInfo-License=GPL
X-KDE-PluginInfo-EnabledByDefault=true

Eine detailierte Erklärung zum Inhalt der Datei gibt es hier

main.py

In main.py steht nun der Python-Quellcode der die Funktion des Plasmoids bestimmt. Diese Datei liegt im Unterverzeichnis code.

Hier wiederum der Quellcode für das Beispiel Hallo-Welt:

  # -*- coding: utf-8 -*-
  # Autor: Michael Mayer
  # Lizenz: GPL v2
  from PyQt4.QtCore import *
  from PyQt4.QtGui import *
  from PyKDE4.plasma import Plasma
  from PyKDE4 import plasmascript
 
  class HelloWorld(plasmascript.Applet):
      def __init__(self,parent,args=None):
          plasmascript.Applet.__init__(self,parent)
 
      def init(self):
          self.setHasConfigurationInterface(False)
          self.resize(150, 120)
 
      def paintInterface(self, painter, option, rect):
          painter.save()
          painter.setPen(Qt.white)
          painter.drawText(rect, Qt.AlignVCenter | Qt.AlignHCenter, "Hello World!")
          painter.restore()
 
  def CreateApplet(parent):
      return HelloWorld(parent)

Auch zu diesem Programm gibt es hier wieder eine genauere Erklärung.

Paketerstellung

Damit ist das erste Plasmoid bereits fast fertig. Es muss nur mehr ein Paket erzeugt werden, das direkt installiert werden kann. Das Paket ist eine einfache zip-Datei welche die gesamte Verzeichnisstruktur des Plasmoids, ausgehend von dem Verzeichnis in dem die Datei metadata.desktop liegt (Hauptverzeichnis), abwärts enthält.

Das Paket kann mit dem Befehl

$ zip -r ../<paketname>.zip .

direkt aus dem Hauptverzeichnis heraus erstellt werden. Um das Plasmoid in KDE verfügbar zu machen reicht dann der Befehl:

$ plasmapkg -i ../<paketname>.zip

Ebenso kann das Plasmoid mit einem Befehl wieder entfernt werden:

$ plasmapkg -r <paketname>

Nach der Installation kann das Plasmoid zur Arbeitsfläche hinzugefügt und verwendet werden.

Fehlersuche

Mit der Fehlersuche bei Plasmoids beschäftigt sich ein eigener Artikel.

Siehe auch

Diskussion

Geben Sie Ihren Kommentar ein
 
linux/kde4/plasmoids_erstellen.txt · Zuletzt geändert: 2010/03/01 22:03 (Externe Bearbeitung)
Nach oben
openSUSE.org

Beachten sie unbedingt den Haftungsausschluss!

Recent changes RSS feed openSUSE.org Powered by PHP do yourself a favour and use a real browser - get firefox!! Driven by DokuWiki

Sofern nicht anders gekennzeichnet, steht der Inhalt dieser Seite unter dem Schutz der Creative Commons Licence:
Creative Commons License Namensnennung, Keine kommerzielle Nutzung, Weitergabe unter gleichen Bedingungen, v 3.0