Durch Zufall bin ich über die Scripting | trinec.de Scripting Seite von Florian Hoberg gefallen.
Bis dato war mir nicht ein- und auch nicht aufgefallen, das man den Nautilus so einfach erweitern kann.
Das zur Verfügung gestellte Script von Florian habe ich etwas verändert, denn es hat bei mir nur Fehler produziert.
Ich habe die von Nautilus zhur Verfügung gestellten Varieablen genutzt und zwei einfache Beispielscripte zum verkleinern von Fotos geschrieben.
Die Scripte sind in Nautilus integriert und es macht spaß sie zu benutzen.
Um das Thema Scripting für Nautilus gibt es eine rege Community:
#!/bin/sh
# Titel: Resize_640x480
# Autor: Florian Hoberg
# Web: www.trinec.de // www.hoberg.in
# Email: florian[at]trinec.de
# GPG: gpg.trinec.de (0xE024BE60)
# System: Ubuntu Hardy Heron 8.04
# Date: 2008-03-04
# Abhängigkeit: ImageMagick http://www.imagemagick.org
#
# leichte Anpassung by bed 5.6.08 Web: zockertown.de
# Email: bed[_a_t]zockertown.de
# Umstellung auf Nautilus Variablen, keine Ahnung, wie das vorher funktionieren sollte.
#
for file in `ls $NAUTILUS_SCRIPT_SELECTED_FILE_PATHS`
do
name=`basename $file`
convert -strip -geometry 640x480 -quality 80 $name ${name}_resized_640×480.jpg
done
Wie man sieht, ist es nur der Aufruf von convert mit den entsprechenden Parametern, gewrappt mit einer For Schleife, die durch die beim Aufruf übergebenen Parameter läuft. Simpel aber Elegant in der Wirkung!
Damit das Ganze funktioniert, muß das Script in das Verzeichnis ~/.gnome2/nautilus-scripts gelegt werden. Weiter Informationen gibt die Option "Scriptordner öffnen".
Alle ausführbaren Dateien in diesem Ordner erscheinen im Skriptmenü. Das aus diesem Menü gewählte Skript wird ausgeführt.
Beim Ausführen aus einem lokalen Ordner, werden dem Skript die Namen der gewählten Dateien übergeben. Wird es in einem entfernten Ordner (z.B. einem mit Web- oder FTP-Ordner) ausgeführt, werden keinerlei Parameter übergeben.
In jedem Fall setzt Nautilus folgende Umgebungsvariablen, die in jedem Skript verwendet werden können:
- NAUTILUS_SCRIPT_SELECTED_FILE_PATHS: Pfade der gewählten Dateien, durch Newline getrennt (nur im lokalen Fall)
- NAUTILUS_SCRIPT_SELECTED_URIS: URIs der ausgewählten Dateien, durch Newline getrennt
- NAUTILUS_SCRIPT_CURRENT_URI: URI des aktuellen Ortes
- NAUTILUS_SCRIPT_WINDOW_GEOMETRY: Position und Größe des aktuellen Fensters
Der erfahrene Bash Script Entwickler weiß ja, wie man in solchen Fällen debuggt, nicht wahr?
Also ich mache das immer mit echo Irgendwas Umleitung in eine Datei in /tmp.
Das erpart viel probieren und hellt im Fehlerfalle auf Achja, damit das Script von nautilus erkannt wird, reicht ein einfaches killall nautilus.
@Florian: Gerne hätte ich bei deinem Beitrag einen Kommentar hinterlassen, aber der Artikel ist nicht kommentierbar. Dann eben hier: Danke, das du mich auf diese nette Spielwiese hingewiesen hast. Das es so einfach ist, den Nautilus zu erweitern.... werde bestimmt damit noch einiges machen...
unter der Url http://wiki.mobbing-gegner.de/Linux/Gnome/
gibt es mehr Leckerchen
Ich hatte es nur clever versteckt .. gmome
Guten Tag, so nun bin ich in früher Stunde mal dazu gekommen diesen Tipp auszuprobieren! Feine Sache. Ehlich gesagt wusste ich gar nicht das das geht.
Aber was geht bei Linux nicht...
Eben, ich war ja auch völlig überrascht. Allerdings dürfen die Bilder keine Leerzeichen enthalten, dafür ist das Script zu einfach. Da bin ich aber dran