Rofi Wallpaper-Auswahl
Für die Auswahl von Hintergrundbildern für meinen Linux-Desktop verwende ich mittlerweile das Tool rofi (davatorium.github.io/rofi), das vor allem als Anwendungsstarter unter Linux bekannt sein dürfte. Als dmenu-Ersatz kann rofi über ein Shell-Skript ein Listen-Auswahlfenster erzeugen, der die Auswahl aus einer Liste von Elementen zurückliefert.
Vorteile von Rofi
- Rofi ist in den meisten Linux-Distributionen enthalten
- Rofi ist unter X11 und Wayland1 einsetzbar
- Rofi ist vielseitig und flexibel einsetzbar
- Suchfunktion und Unterstützung von Thumbnails
Das Setup
Die Hintergrundbilder befinden sich in einem einzelnen Verzeichnis, zum Beispiel Bilder/Wallpapers im Benutzer-Ordner. Abgesehen von rofi benötigen wir ein Programm, welches die ausgewählte Bilddatei als Hintergrund setzt. Für X11 bietet sich feh an.
Wir lassen uns den Inhalt des Verzeichnisses WPDIR auflisten, übergeben die Liste der Dateinamen an rofi im dmenu-Modus. Der Anwender wählt dann über den Rofi-Auswahldialog ein Bild aus, das wir als Rückgabewert $wallpaper von Rofi erhalten. Die zurückgelieferte Bilddatei setzen wir dann über feh als Hintergrundbild:
#!/bin/bash
WPDIR=~/Bilder/Wallpapers
wallpaper=$(for a in "$WPDIR"/*.*; do
echo -en "$(basename -- "$a")\n" ; done |
rofi -dmenu -show-icons -p "Select a wallpaper" )
if [[ $wallpaper == "" ]]; then
exit
else
feh --bg-scale "$WPDIR/$wallpaper"
fi
Das Ergebnis sieht dann zum Beispiel so aus:

Abbildung 1: Rofi Auswahldialog
Vorschaubilder
Mit der ersten Version des Skriptes können wir eine Bilddatei auswählen und als Hintergrundbild setzen. Was noch fehlt, ist die Anzeige von Vorschaubildern der einzelnen Bilddateien im Auswahldialog. Rofi kann über -show-icons nicht nur Symbole von Applikationen anzeigen, sondern auch mit Bilddateien umgehen.
Die Kombination aus \x1f (ASCII Unit Separator) und dem Präfix thumbnail:// in rofi ermöglicht es, Thumbnail-Vorschaubilder für beliebte Dateitypen anzuzeigen. Dabei wird das Format Name\x00icon\x1fthumbnail://Pfad/zur/Datei verwendet, um rofi anzuweisen, ein passendes XDG-kompatibles Thumbnailer-Programm aufzurufen oder ein bereits im Cache gespeichertes Bild zu laden. Der angepasste rofi-Aufruf sieht dann wie folgt aus:
wallpaper=$(for a in "$WPDIR"/*.*; do
echo -en "$(basename -- "$a")\0icon\x1fthumbnail://$a\n" ; done |
rofi -dmenu -theme preview -show-icons -p "Select a wallpaper" )
Ähnlich zu den Anwendungssymbolen werden kleine Vorschaubilder vor den Dateinamen angezeigt:

Abbildung 2: Rofi Auswahldialog mit Vorschaubildern
Layout und Thema
Der letzte Schritt besteht darin, den Auswahldialog von rofi anzupassen. Ein Startpunkt ist die Verwendung des mitgelieferten fullscreen-preview.rasi. Rasi-Dateien dienen zur Konfiguration und zum Theming von rofi und können beim Aufruf über den Parameter -theme übergeben werden.
Das fertige Skript sieht dann so aus:
#!/bin/bash
WPDIR=~/Bilder/Wallpapers
wallpaper=$(for a in "$WPDIR"/*.*; do
echo -en "$(basename -- "$a")\0icon\x1fthumbnail://$a\n" ; done |
rofi -dmenu -show-icons -p "Select a wallpaper" -theme fullscreen-preview)
if [[ $wallpaper == "" ]]; then
exit
else
echo "feh --bg-scale $WPDIR/$wallpaper" > "~/.fehbg"
feh --bg-scale "$WPDIR/$wallpaper"
fi
Die Auswahl wird in der Datei ~/.fehbg gespeichert. Über einen Aufruf der Datei kann das letzte gewählte Hintergrundbild-Auswahl wieder gesetzt werden.
Weitere Beispiele und Inspirationen für rasi-Dateien finden sich auf Plattformen wie GitHub, wo Nutzer Konfigurationen wie config.rasi und diverse Theme-Varianten zur Verfügung stellen.

Abbildung 3: Rofi mit fullscreen-preview und Vorschaubildern
Referenzen
- Rofi Projektseite davatorium.github.io/rofi
- feh Image Viewer https://github.com/derf/feh
- Sammlung von rofi-Themen https://github.com/adi1090x/rofi
Wayland-Unterstützung seit 2025 Version 2.0.0 ↩︎