Nur, falls es jemanden Interessiert. Ich hatte mir vor Jahren mal für Thunar irgendwoher von Github Custom Actions runter geladen, und einige davon in meine
~/.config/Thunar/uca.xml integriert
Der komplette Befehl dafür wäre dann (beim kopieren aufpassen: ewig lang !):
Code: Alles auswählen
(set -e;export TEXTDOMAIN='thunar-custom-actions';export TEXTDOMAINDIR='/usr/local/share/locale';. /usr/bin/gettext.sh; FORMAT=$( /usr/bin/convert -list format | /usr/bin/perl -ane '($f,$m,$c,$d)=m/^\s*(\S*?)\**\s*(\S*)\s*([r-][w-][+-])\s*(.*)$/g;if($c=~m/^.w.$/){print join "\n",$f,$d,""}' | /usr/bin/zenity --list --print-column=1 --column="$(eval_gettext 'Format')" --column="$(eval_gettext 'Description')" --text="$(eval_gettext 'Select format:')" --title="$(eval_gettext 'Format')" ); if test $? -ne 0;then exit; fi; FORMAT=$(echo $FORMAT | /usr/bin/perl -ne 'print lc'); if test -z "$FORMAT";then /usr/bin/zenity --error --text="$(echo $(eval_gettext 'No format selected.') $(eval_gettext 'If you see this message, please contact the developer on https://github.com/nobodyinperson/thunar-custom-actions.'))"; exit 1; fi; (AMOUNT=$(for file in %F;do echo "$file";done | wc -l);NR=0;for file in %F;do NR="$(echo "$NR+1" | /usr/bin/bc)"; PERCENTAGE="$(echo "$NR*100/$AMOUNT" | /usr/bin/bc)"; filebase=$(basename "$file"); echo '#'$(eval_gettext 'Converting to $FORMAT') ... "$filebase"; (fileinput="$(echo "$file")";filefinalout="$(echo $(dirname "$file")/$(basename "$file" | /usr/bin/perl -pe 's#\.\w+$##g').${FORMAT})";if test "$fileinput" = "$filefinalout";then fileout=$(f=$(echo "$filefinalout");while test -e "$f";do f=$(dirname "$f")/.$(basename "$f").tmp;done;echo "$f");else fileout="$filefinalout";fi;OVERWRITE=yes;if test -e "$filefinalout" -a ! "$fileinput" = "$filefinalout";then base=$(basename "$filefinalout"); if ! (/usr/bin/zenity --question --text="$(echo $(eval_gettext 'overwrite $base?'))");then OVERWRITE=no; fi;fi;if test "$OVERWRITE" = "yes";then (CONVERT_OUTPUT=$(/usr/bin/convert "$fileinput" "$fileout" 2>&1;) || /usr/bin/zenity --error --text="$(echo $(eval_gettext 'Could not convert $fileinput to $FORMAT: $CONVERT_OUTPUT'))"; );fi;if ! test "$fileout" = "$filefinalout";then if cp "$fileout" "$filefinalout";then rm "$fileout"; else /usr/bin/zenity --error --text="$(echo $(eval_gettext 'something went wrong copying the file $fileout over to $filefinalout.'))"; fi;fi ); echo $PERCENTAGE;done )|/usr/bin/zenity --progress --auto-kill --auto-close )
Angeboten wird einem dann via
zenity
diese schöne Liste aus dem Befehl:
Ist natürlich sehr praktisch, da man nicht mühsam im Terminal herumhacken muss.
Einfach Dateien markieren, über Rechstklick Aktion auswählen und ab geht es.