Login
Newsletter
Werbung

Do, 27. Januar 2011, 15:00

Plasma erobert die Welt

Die Desktop-Shell Plasma ist die Kernkomponente der KDE-Workspaces. Neben den bekannten Workspaces für Desktop, Netbook und der in Entwicklung befindlichen Mobile-Shell bietet Plasma noch viel mehr. Dieser Artikel schaut hinter die Kulissen der Benutzeroberfläche und beleuchtet das Framework zum Erstellen von Workspaces, Applets und die Integration von Plasma in Anwendungen, welche keine Desktop-Shell sind.

Die Plasma-Workspaces

Plasma ist den meisten Anwendern als einer der primären Workspaces der KDE-Community bekannt. Aktuell stehen den Anwendern entweder eine für den Einsatz am Desktop oder aber eine für Netbooks angepasste Version zur Verfügung. Die Entscheidung, welche zu verwenden ist, wird zum Beispiel in Kubuntu 10.10 dem Benutzer komplett abgenommen. Das Installationsprogramm erkennt den Formfaktor und wählt automatisch die passende Version aus. Der Wechsel der Version ist später weiterhin über die Systemeinstellungen nur einen Klick entfernt.

Wechsel der Shell über die Systemeinstellungen

Martin Gräßlin

Wechsel der Shell über die Systemeinstellungen

Das für den Anwender sichtbare Plasma ist eine komplette Desktopumgebung, bestehend aus der Desktop-Shell, dem Fenstermanager, Systemeinstellungen etc. Vergleichbar also mit GNOME, XFCE, LXDE oder der noch in Entwicklung befindenden GNOME Shell. Die KDE-Workspaces sind jedoch nur ein kleiner Bereich der KDE-Software-Compilation, welche halbjährlich veröffentlicht wird. Plasma ist dabei nicht nur prominent über die Workspaces vertreten, sondern auch ein wichtiger Bestandteil der KDE-Entwicklungsplattform und von immer mehr KDE-Anwendungen.

libplasma – Framework zur Entwicklung von Workspaces

Primär ist die libplasma genannte Entwicklungskomponente ein Framework zum Erstellen von um Applets (auch bekannt als Widgets, Gadgets, Plasmoids oder Miniprogramme) zentrierten Workspaces. So ist es mit vergleichsweise geringem Aufwand möglich, eine für einen speziellen Formfaktor angepasste Benutzeroberfläche zu erstellen und dabei die elementaren Bestandteile wiederzuverwenden. So hätte sich die neue Netbook-Oberfläche Unity von Ubuntu 10.10 (Maverick Meerkat) mit Plasma bedeutend einfacher unter Wiederverwendung bestehender Bestandteile umsetzen lassen – mit dem Vorteil, dass das komplette zugrundeliegende System bereits seit Jahren getestet und im Einsatz ist.

Ein für den Desktop geschriebenes Applet funktioniert auch auf einem Notebook oder einem Smartphone. Die aufwändige Reimplementierung aller benötigten Applets entfällt somit. Plasma kennt den Formfaktor und die Applets können sich diesem anpassen. Dies kann sogar auch auf dem Desktop beobachtet werden. Lebt ein Applet in der Kontrollleiste, wird es auf die minimal nötige Größe reduziert und zeigt die eigentlichen Informationen erst nach Klick in einem Extender an. Auf der Arbeitsfläche oder dem Dashboard ist genügend Platz vorhanden und das Applet kann direkt alle Informationen anzeigen.

Device Notifier auf Desktop und aus dem Panel expandiert

Martin Gräßlin

Device Notifier auf Desktop und aus dem Panel expandiert

Ein wichtiger Aspekt bei der Verwendung einer Applet-Technologie ist natürlich deren Flexibilität. Auch in diesem Punkt kann das Plasma-Framework glänzen. So unterstützt es nicht nur die eigenen Plasmoide und Superkaramba-Widgets aus der KDE3-Ära, sondern auch Google-Gadgets und dank der Integration von WebKit (dem von Apple initiierten Fork der KDE-Web-Rendering-Engine KHTML) in Qt auch Mac OS X-Dashboard-Widgets. KDEs eigene Applets (Plasmoids) können in einer Vielzahl von Sprachen geschrieben werden. Die im Standardumfang enthaltenen Applets sind wie das Framework selbst in C++ mit den Qt-Bibliotheken geschrieben. Es stehen aber auch über sogenannte Scriptengines Anbindungen an andere Sprachen wie zum Beispiel Python, Ruby oder JavaScript (ECMA-Script) zur Verfügung.

Neue Hintergrundbilder über GHNS

Martin Gräßlin

Neue Hintergrundbilder über GHNS

Besonders die JavaScript-Anbindung ist hierbei herauszuheben, da sie ein komplettes Absichern des Frameworks vor dem Applet ermöglicht (Sandbox). Auch das App-Store-Konzept lässt sich über JavaScript bewerkstelligen. In JavaScript geschriebene Applets können auf KDE-Look.org hochgeladen und über das Get Hot New Stuff-Framework (GHNS) heruntergeladen und installiert werden. Verwendet man zur Entwicklung des Applets die Anwendung PlasMate, so kann die Veröffentlichung vollautomatisch geschehen. Das GHNS-Framework und die zugrunde liegende Technologie Open Collaboration Services (OCS) werden in Zukunft auch für den App-Store in Nokias und Intels neuem Smartphone-Betriebssystem MeeGo eingesetzt.

JavaScript wird generell eine immer wichtigere Grundtechnologie in der weiteren KDE-Welt, wie man gerade auch am Plasma-JavaScript-Programmierwettbewerb sehen konnte. Über die Desktop-Scripting-Konsole ist es möglich, die Arbeitsfläche grundlegend mit Hilfe von JavaScript zu konfigurieren. Dies ist ein wichtiger Aspekt für große Installationen, um z.B. alle Rechner mit den gleichen Applets zu versehen oder ein Corporate-Design einzusetzen. Diese Lösung, über JavaScript den Desktop initial einzurichten, wird z.B. auch von Distributionen wie Kubuntu eingesetzt. Auch außerhalb von Plasma wird JavaScript eine immer beliebtere Scripting-Komponente. So wird der Fenstermanager in 4.6 dank eines Google Summer of Code-Projektes eine Schnittstelle haben, um Skripte auszuführen. Dies ermöglicht eine viel flexiblere Beeinflussung des Fensterverhaltens als es mit den bisherigen statischen Fensterregeln möglich ist.

Pro-Linux
Pro-Linux @Facebook
Neue Nachrichten
Werbung