Aus LinuxUser 05/2005

gDesklets installieren und nutzen

Aufpoliert

Mit ebenso nützlichen wie optisch attraktiven Desktop-Extensions verleiht gDesklets der Gnome-Oberfläche einen persönlichen Charakter. Setzen sie die piffige Desktop-Erweiterung auch mit anderen GUIs optimal ein und entwickeln Sie Ihre eigenen Desklets.

Mittlerweile gibt es allerhand nützliche Programme, um den Desktop zu verschönern. Zu den beliebtesten Vertretern dieser Riege zählen Erweiterungen, die nützliche oder auch einfach grafisch ansprechende Miniprogramme – so genannte Desklets – auf dem Desktop anzeigen. Eine der vielseitigsten Anwendungen dieser Art ist gDesklets. Die erste Release, gDesklets 0.10, erschien im August 2003 nach sechsmonatiger Planung.

Zum damaligen Zeitpunkt gab es bereits DesktopX, Konfabulator und (Super-)Karamba, die eine ähnliche Philosophie wie gDesklets vertreten. Das Problem dieser Programme war und bleibt, dass sie nur für einen Desktop oder für ein bestimmtes Betriebsssystem (Konfabulator für den Mac, DesktopX für Windows) konzipiert sind. gDesklets dagegen sollte von Anfang an auf so vielen Window-Managern bzw. Desktops wie möglich funktionieren. gDesklets braucht einen Vergleich mit der Konkurrenz nicht zu scheuen und hat in einigen Bereichen sogar die Nase vorn.

Abbildung 1: Eine Zierde für jeden Desktop: gDesklets in Aktion.
Abbildung 1: Eine Zierde für jeden Desktop: gDesklets in Aktion.

Grundsätzlich läuft gDesklets zusammen mit allen Window-Managern, die die Freedesktop-Spezifikation [1] erfüllen. Zu seinem mächtigen Funktionsumfang trägt nicht zuletzt die Tatsache bei, dass es größtenteils in Python [2] geschrieben ist. Mit dieser interpretierten, objektorientierte Programmiersprache lassen sich auch größere Projekte erstellen.

Es gibt viele Einsatzgebiete für gDesklets, von denen einige über schlichtes „Eye Candy“ weit hinausgehen. So kann ein Administrator damit Systeme überwachen und gegebenfalls administrieren. Im Gnome-CVS existiert ein Presentation-Desklet, mit dem man ohne großen Aufwand Präsentationen gestalten kann. gDesklets setzen der Fantasie kaum Grenzen – und lassen sich sogar verblüffend einfach selbst erstellen (Kasten 1).

Kasten 1: Desklets selbst erstellen

Selbst unerfahrenen Programmierern gelingt es ohne größere Schwierigkeiten, einfache Desklets selbst zu erstellen. Grundlegende XML- und Python-Kenntnisse sind von Vorteil, aber nicht wirklich notwendig. Dazu ein kurzes Beispiel, das in nur drei Codezeilen ein dynamisches Desklet realisiert:

<display window-flags="sticky, above">
<label value="Mein erstes…" font="MonoSpace 1cm" color="blue" on-enter=" self.font='MonoSpace 0.5in'; self.value='Hello World'; self.color='red' " on-leave=" self.font='MonoSpace 12pt'; self.value='…Desklet'; self.color='blue' "/>
</display>

Zeile ist obligatorisch – ohne <display> funktioniert das Desklet nicht. Das Tag <display> kann mehrere Attribute haben. So legt window-flags="sticky, above" fest, dass das Desklet auf jedem virtuellen Desktop und über allen anderen Anwendungen erscheinen soll.

Zeile 3 definiert zunächst ein Textfeld mit dem Anfangswert „Mein erstes…“, das beim Starten des Desklets erscheint. Als Schrift dient MonoSpace in der Ausgabegröße 1cm. Alternativ können Sie die Größe auch in Pixel, Zoll, Punkt oder als Prozentangabe festlegen. Näheres dazu finden Sie in Appendix A des gDesklets-Entwicklerhandbuchs [9].

Alle modernen GUI-Bibliotheken arbeiten ereignisbasiert: Ein Tastendruck oder eine Mausbewegung lösen bestimmte Ereignisse aus. Auf einige davon reagieren die Anweisungen on-enter und on-leave in Zeile 3.

Bewegen Sie den Mauszeiger in das Desklet(-Fenster), löst dies das on-enter-Ereignis aus. Die Textgröße ändert sich auf einen halben Zoll, als Text erscheint nun „Hello World“ in roter Farbe. Dabei besagt der Zusatz „self“ vor dem jeweiligen Attributnamen, dass sich die Anweisung auf das label-Tag selbst bezieht. Vergessen Sie keinesfalls die Strichpunkte: Fehlen diese, erscheint ein Dialog, der die ungültige Stelle im Code hervorhebt.

Das on-leave-Ereignis wird ausgelöst, sobald der Mauszeiger das Desklet(-Fenster) wieder verlässt. Die Schriftgröße ändert sich zu 12 Punkt, die Farbe wieder zu blau.

Das Tag muss, wie bei XML üblich, mit einem Slash („/“) abgeschlossen werden. Zeile 5 beendet den Desklet-Code mit einem schließenden </display>.

Vorbereitung

Um gDesklets erfolgreich einzusetzen, bedarf es einiger Vorarbeit. Unter einer halbwegs aktuellen Distribution stellt dies jedoch kein größeres Problem dar. Vergewissern Sie sich aber auf jeden Fall, dass keine älteren Versionen des Paketes auf dem System installiert sind.

Eine speziell für Suse 9.2 zusammengestellte Variante von gDesklets finden Sie auf der Heft-CD. Die jeweils aktuellste Version des Programms können Sie unter [3] beziehen. Wollen Sie auf Basis der allerneuesten Quellen arbeiten, so finden Sie unter [7] den so genannten gDesklets Nightly Build Tarball zum Download. Er spiegelt die aktuellste Entwicklerversion wider und wird, wie der Name schon vermuten lässt, jede Nacht frisch gebaut.

Abhängigkeiten

Sie benötigt folgende Bibliotheken und Bindungen auf dem System (die Namen können je nach Distribution variieren): * python mindestens in Version 2.3. Bei SuSE teilt sich Python in mehrere Pakete auf – installieren Sie python-xml ebenfalls. * python-gtk2, die Python-Bindungen für gtk+-2.x, mindestens in Version 2.4.x. * python-pyorbit, die Python-Bindungen für ORBit2, in Version 2.0.1. * python-gnome2 2.6.x oder höher. Suse hat auch dieses Paket in mehrere kleinere aufgesplittet. Installieren Sie am besten alle, um eventuellen Problemen vorzubeugen. * expat sollte in Version 1.95.6 bzw. 1.95.8 vorliegen, 1.95.7 scheint fehlerhaft zu sein. * Clibgtop2 und librsvg jeweils mindestens in Version 2.8.0. * Cintltool Version 0.30 oder höher

Um gDesklets zu kompilieren, benötigen Sie zudem die Developer-Pakete von python, python-gtk2, python-gnome2, libgtop2 und librsvg. Suse 9.2 und älter liefern sehr veraltete Versionen der Pakete aus, deswegen ist man auf [4] oder [5] angewiesen. Dagegen bringen sowohl Debian Sarge als auch Fedora Core 3 bereits alles mit, was Sie brauchen. Für ältere Fedora-Versionen hält Dag Wieers [6] passende Pakete bereit.

gDesklets entpacken und kompilieren

Sind alle zum Auflösen der Abhängigkeiten notwendigen Dateien auf dem System installiert, dann packen Sie den Tarball zunächst mit tar xvjf gDesklets-Versionsnummer.tar.bz2 aus.

Das anschließende Kompilieren erledigen Sie in der gewohnten Linux-Manier mittels der Befehlsfolge ./configure, make und make install. In der Voreinstellung wird gDesklets in /usr/local/ installiert. Mit der Option ./configure --prefix=Verzeichnis ändern Sie bei Bedarf den Installations-Präfix.

Der erste Start

gDesklets bietet sowohl ein Frontend für die Kommandozeile an, als auch eine graphische Variante, die so genannte gDesklets-Shell. Das textbasierte Frontend stellt dem Benutzer eine ganze Reihe von Befehlen und Optionen zur Verfügung. Die Aufruf-Syntax lautet gdesklets Option Befehl. Dazu ein paar Erläuterungen:

LinuxUser 05/2005 KAUFEN
EINZELNE AUSGABE Print-Ausgaben Digitale Ausgaben
ABONNEMENTS Print-Abos Digitales Abo
TABLET & SMARTPHONE APPS
Deutschland

Hinterlasse einen Kommentar

  E-Mail Benachrichtigung  
Benachrichtige mich zu: