Ich finde es schön, ab und zu mal die Fotos der letzten Jahre zu betrachten. Aber nicht gezielt und und der Reihe nach, sondern in zufällig Reihenfolge.

Dazu kann man das Tool feh benutzen, das im Terminal läuft und viele Möglichkeiten hat. Dazu hatte ich bereits etwas geschrieben, siehe hier.

Heute habe ich das Bedürfnis, die alten Fotos und Bilder anzuschauen, die ich im Blog in den letzten Jahren veröffentlicht hatte. Aber nicht über die Website, wo man viel Klicken muss, sondern nur über die Bilder selbst.

Da der Blog mit Hugo generiert wird, liegen die Thumbnails in einem eigenen Verzeichnis, sodass ich nur die Originalfotos zu sehen bekomme.

Nur was macht man, wenn man ein schönes Bild gefunden hat, an dessen Kontext man weiteres Interesse hat?

Dank der selbst definierbaren Aktionen kann man feh erweitern. Für meinen Zweck habe ich auf der Kommandozeile drei Aktionen übergeben:

  • Kopiert den Pfad der Datei in die Zwischenablage – --action1 ';echo %F | xclip -selection clipboard'
  • Öffnet das Foto in Gwenview: --action2 ';gwenview %F&'
  • Öffnet das Verzeichnis, in dem das Foto liegt, in Dolphin und selektiert es: --action3 ';dolphin --select %F &'

Weitere verwendbare Variablen gibt es in der manpage von feh.

Falls die Anzeige des Pfades in feh ausreicht, so kann man die Taste d drücken.

Das ergibt dann diese Kommandozeile:

feh --action1 ';echo %F | xclip -selection clipboard' --action2 ';gwenview %F&' --action3 ';dolphin --select %F &' -Y -x -q -D -0.5 -B "#4588de" -F -Z -z -r /projects/blog/content/posts/

Ich habe für diesen Aufruf einen Alias in meiner Shell erstellt:

alias feh="feh --action1 ';echo %F | xclip -selection clipboard' --action2 ';gwenview %F&' --action3 ';dolphin --select %F &' -Y -x -q -D -0.5 -F -Z -z -r "

Der Aufruf ist feh verzeichnis.

Viel Spaß beim Erinnern.

Tipp
Möchte man feh direkt ohne den Alias ausführen, so gibt es dafür die Form \feh.
Warnung

Subshells in Aktionen von feh funktionieren in Verbindung mit einem Alias nicht.

Ruft man feh mit diesem Konstrukt direkt in der Shell auf, dann funktioniert es: --action3 ';dolphin $(dirname %F)&'.

Erstellt man es jedoch einen Alias, dann ist das Ergebnis von $(dirname %F) leer. Auch die Variablensubstitution von Bash funktioniert in diesem Kontext nicht.

Habe das hier hinterlegt, damit ihr nicht auch ne Stunde Zeit damit vergeudet. 🥳

Man kann die Aktionen leider auch nicht in der Konfiguration hinterlegen. Ein Feature Request dazu ist seit 2019 offen.