Wallpaper-Roulette

Zufallshintergründe für den Desktop

01.08.2005
Wenn Ihnen der Sinn nach Abwechslung auf dem Desktop steht, sorgt ein neues Hintergrundbild am schnellsten für frischen Wind. Mit Handwerkszeug wie Zufall und genbg erledigen Sie den Tapetenwechsel automatisch.

Kaum jemand mag Tag für Tag seine Lieblingsspeise verzehren und ebenso wenig macht es Spaß, immer auf denselben Desktop-Hintergrund zu starren. Möchten Sie die Arbeitsplatztapete regelmäßig wechseln, müssen Sie dafür keinen Cronjob einrichten, der regelmäßig ein Programm wie Esetroot [1] aufruft. Ein solcher hat nämlich den Nachteil, dass er auch dann seine Arbeit zu verrichten versucht, wenn Sie im Textmodus arbeiten. Besser eignen sich Programme wie Zufall [2] und genbg [3], die automatisch das Hintergrundbild des Desktops austauschen.

Die Anwendungen verfolgen einen unterschiedlichen Ansatz: Während Zufall nach einem frei definierbaren Zeitintervall die Wallpaper wechselt, kommt genbg beim Start des X-Servers zum Zuge, beschert Ihnen also im Normalfall einmal täglich eine neue Aussicht.

So ein Zufall

Das Programm von Moritz Orbach liegt auf der Projekt-Homepage nur im Quelltext vor. Um es zu übersetzen, benötigen Sie die Grafikbibliothek imlib2 und das dazu gehörende Paket mit den Header-Dateien. Das Kompilieren gelingt wie gewohnt mit dem Dreisatz configure, make und make install. Der letzte Schritt ist nicht unbedingt nötig: Nach dem Kompilieren lässt sich der Hintergrundwechsler auch direkt aus dem Quellverzeichnis starten.

Bei den unterstützten Grafikformaten zeigt Zufall sich großzügig: Es kommt sowohl mit JPEG-, PNG-, BMP-, GIF-, XPM- als auch TIFF-Dateien zurecht. Um jedoch den Arbeitsspreicher nicht unnötig zu füllen, sollten Sie sich bei der Wahl Ihrer Wallpaper auf die komprimierten Formate JPEG und PNG beschränken. Der einfachste Aufruf des Tools lautet

zufall /pfad/zum/grafikordner

Auf diese Weise gestartet, lädt Zufall alle 10 Minuten eine andere Grafik aus dem Verzeichnis /pfad/zum/grafikordner als Desktop-Hintergrund. Dabei durchstöbert das Programm nicht nur das Verzeichnis selbst, sondern bezieht auch Unterordner in die Suche nach Bildern mit ein. Wenn Sie Zufall auf ein Verzeichnis mit einer großen Fotosammlung angesetzt haben und den Namen der gerade angezeigten Datei wissen wollen, erfahren Sie das im Terminal-Fenster, aus dem heraus Sie die Anwendung gestartet haben. Zufall schreibt bei jedem Bildwechsel den Spruch so ein zufall! gefolgt vom absoluten Pfad zu angezeigten Grafik ins Terminal (Abbildung 1).

Abbildung 1: Im Fenster, aus dem heraus Sie Zufall gestartet haben, erfahren Sie den Dateinamen der angezeigten Grafiken.

Liegen Ihre Lieblingsbilder über mehrere Ordner verstreut, ist auch das kein Problem: Übergeben Sie dann einfach mehrere Verzeichnisse auf der Kommandozeile, etwa

zufall /pfad/zu/ordner1 /pfad/zu↩
/ordner2

Wie lange eine Grafik Ihren Desktop schmückt, beeinflussen Sie mit dem Aufrufparameter -d (für delay=Verzögerung) gefolgt von der gewünschten Zeit in Sekunden. So sorgt beispielsweise der Aufruf zufall -d 3600 dafür, dass Zufall die Grafik nach einer Stunde wechselt. Erscheint Ihnen die angezeigte Zeit doch einmal zu lang oder gefällt Ihnen das aktuelle Bild nicht, teilen Sie einem aktiven Prozess des Programms mit dem HUP-Signal mit, dass Sie umgehend ein neue Grafik als Hintergründ wünschen.

killall -HUP zufall

beschert Ihnen auf der Stelle eine neue Wallpaper. Zusätzlich reagiert das Programm auf das Signal TERM, mit dem es sich beendet. Mit dem Kommando killall -USR1 zufall entlocken Sie dem Tapetenwechsler eine Statusmeldung, in der er anzeigt, wie lange es dauert, bis er das nächste Bild einblendet. Die Ausgabe erfolgt jedoch nicht in dem Terminal-Fenster, in dem Sie diesen Befehl eingeben, sondern in dem, aus dem heraus Sie Zufall gestartet haben (Abbildung 2).

Abbildung 2: Wenn Sie das Signal "USR1" an einen zufall-Prozess schicken, verrät das Tool die noch verbleibende Wartezeit bis zum nächsten Bildwechsel.

Ist eines der Bilder kleiner als die von Ihnen eingestellte Auflösung, zeichnet das Tool einen Rahmen um die Grafik. Als Rahmenfarbe errechnet Zufall einen Mittelwert aus den Farben zweier Ecken des Bildes. In den meisten Fällen führt das zu einem Ergebnis, bei dem die Rahmenfarbe gut mit dem angezeigten Hintergrund harmoniert (Abbildung 3).

Abbildung 3: Ist eine Grafik kleiner als die Auflösung, zeichnet Zufall einen farblich passenden Rahmen um das Hintergrundbild.

Hintergrund-Generator

Wenn Sie nicht in einem festen Zeitintervall den Hintergrund ändern wollen, sondern es Ihnen ausreicht, jedes Mal beim Start des X-Servers von einem neuen Bild begrüßt zu werden, bietet sich genbg als Tapezierer an. Das Programm setzt nicht selbst den Desktop-Hintergrund, sondern greift dafür auf das zu WindowMaker gehörende wmsetbg zurück. Das README im Quelltext-Verzeichnis enthält eine veraltete Information. Es weist den Nutzer an, die Datei src/main.c zu ändern, um wmsetbg gegen eine andere Anwendung auszutauschen. Inzwischen hat der Programmautor diese Definition jedoch in die Datei src/tools.c ausgelagert. Außerdem ist es inzwischen möglich, einem übersetzten genbg den gewünschten Hintergrundwechsler, wie etwa Esetroot, in der Konfigurationsdatei ~/.genbgrc zu übergeben.

Wollen Sie trotzdem die Vorgabe schon im Quelltext ändern, ersetzen Sie jedes Vorkommen von wmsetbg in der Datei src/tools.c durch den Namen der gewünschten Anwendung. Danach gilt es, das Skript configure durch den Aufruf von ./autogen.sh im Source-Ordner neu zu erzeugen. Mit ./configure, make und make install übersetzen und installieren Sie danach genbg.

Damit das Programm möglichst automatisch tut, was Sie wollen, bietet es sich an, zunächst mit dem Befehl genbg --config die Konfigurationsdatei ~/.genbgrc zu erzeugen. Das Tool erfragt zunächst den Pfad zu den Verzeichnissen mit Ihren Bildern. Geben Sie jeweils einen Ordner an und beantworten Sie die Frage mit einem Druck auf [Eingabe], wenn Sie alle Verzeichnisse erfasst haben. Bei den folgenden zwei Fragen, ob genbg im Debug-Modus laufen soll, übernehmen Sie mit [Eingabe] einfach die Voreinstellung. Danach will das Programm wissen, welche Grafikformate es für das Hintergrund-Roulette berücksichtigen soll. Die Vorgabe lautet .jpg und stellt für Fotos die richtige Wahl dar. Sie können dort jedoch auch .png eingeben, falls Sie nur Bilder in diesem Format verwenden wollen.

Als nächstes erfragt genbg, welches Hilfsprogramm es nutzen soll, um die Hintergrundgrafik zu laden. Die Vorgabe übernehmen Sie mit einem Druck auf [Eingabe]. Alternativ geben Sie dort den Namen einer anderen Anwendung ein. Im nächsten Schritt erhalten Sie die Möglichkeit, die Aufrufparameter für das externe Tool festzulegen. Das ist beispielsweise dann sinnvoll, wenn Sie möchten, dass das Programm die Grafiken gekachelt oder auf volle Bildschirmgröße skaliert anzeigt. Diese Angaben reichen genbg aus und die Konfiguration ist abgeschlossen (Abbildung 4). Um neue Verzeichnisse zum Zufallsgenerator hinzuzufügen, rufen Sie das Tool entweder erneut mit der Option --config auf oder tragen die Ordner direkt in die Datei ~/genbgrc ein.

Jetzt müssen Sie nur noch dafür sorgen, dass genbg automatisch bei jedem Start der grafischen Oberfläche aufgerufen wird. Wer sich im Textmodus anmeldet, erreicht das am einfachsten über den Programmaufruf in der Datei ~/.xinitrc. Alternativ nutzen Sie eine eventuell vorhandene Autostartoption Ihres Fenstermanagers. Wer beispielsweise mit WindowMaker arbeitet, trägt den Aufruf von genbg in die Datei ~/GNUstep/Library/WindowMaker/autostart ein.

Abbildung 4: Mit der Option "--config" gestartet, erstellt "genbg" anhand Ihrer Antworten eine passende Konfigurationsdatei.

Nichts für große Desktops

So flexibel die beiden Tools auch sind, beiden gemein ist dieselbe Einschränkung: Sie können die Wallpaper-Wechsler nicht mit KDE und Gnome verwenden. Beide Desktop-Umgebungen stülpen ein weiteres Fenster über das Root Window – KDE einen Kdesktop-Prozess, bei Gnome kümmert sich Nautilus um den Hintergrund – so dass der von Zufall und genbg gezeichnete Hintergrund verdeckt wird. Für alle, die mit einem einfachen Fenstermanager arbeiten, garantieren beide Tools Abwechslung auf dem Desktop.

Infos

[1] Esetroot-Artikel: Andrea Müller, "Tapetenwechsel", LinuxUser 02/2005, S. 50 f.

[2] Zufall: http://apfelboymchen.homeunix.net/gnu/C/zufall/

[3] genbg: http://pcpool.mathematik.uni-freiburg.de/~pabloy/genbg/

LinuxCommunity kaufen

Einzelne Ausgabe
 
Abonnements
 

Ähnliche Artikel

Kommentare