Home / LinuxUser / 2005 / 05 / gDesklets installieren und nutzen

Newsletter abonnieren

Lies uns auf...

Folge LinuxCommunity auf Twitter

Top-Beiträge

Eingedost
(161 Punkte bei 4 Stimmen)
Aufteiler
(161 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.

Fingerbung.jpg

Aufpoliert

gDesklets installieren und nutzen

01.05.2005 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

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.

Abbildung 2: Beim Auftreten bestimmter Ereignisse verändert das Desklet sein Aussehen.

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.

Tip a friend    Druckansicht Bookmark and Share
Kommentare

3302 Hits
Wertung: 69 Punkte (1 Stimme)

Schlecht Gut

Infos zur Publikation

Infos zur Publikation

LinuxUser 05/2014

Aktuelle Ausgabe kaufen:

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

Bilder vergleichen mit diffimg
Bilder vergleichen mit diffimg
Tim Schürmann, 01.04.2014 12:40, 1 Kommentare

Das kleine Werkzeug diffimg kann zwei (scheinbar) identische Bilder miteinander vergleichen und die Unterschiede optisch hervorheben. Damit lassen sich nicht nur Rätsel a la „Orignial und Fäls...

Aktuelle Fragen

programm suche
Hans-Joachim Köpke, 13.04.2014 10:43, 8 Antworten
suche noch programme die zu windows gibt, die auch unter linux laufen bzw sich ähneln sozusagen a...
Funknetz (Web-Stick)
Hans-Joachim Köpke, 04.04.2014 07:31, 2 Antworten
Bei Windows7 brauche ich den Stick nur ins USB-Fach schieben dann erkennt Windows7 Automatisch, a...
Ubuntu 13.10 überschreibt immer Windows 8 Bootmanager
Thomas Weiss, 15.03.2014 19:20, 8 Antworten
Hallo Leute, ich hoffe das ich richtig bin. Ich habe einen Dell Insipron 660 Ich möchte gerne Ub...
USB-PTP-Class Kamera wird nicht erkannt (Windows-only)
Wimpy *, 14.03.2014 13:04, 15 Antworten
ich habe meiner Frau eine Digitalkamera, AGFA Optima 103, gekauft und wir sind sehr zufrieden dam...
Treiber
Michael Kristahn, 12.03.2014 08:28, 5 Antworten
Habe mir ein Scanner gebraucht gekauft von Canon CanoScan LiDE 70 kein Treiber wie bekomme ich de...