diff --git a/configure b/configure index 0acc129..fabc592 100755 --- a/configure +++ b/configure @@ -588,6 +588,9 @@ ac_subst_vars='LTLIBOBJS LIBOBJS configure_vars makefile_include +sha256sum_bin +sha1sum_bin +md5sum_bin msgmerge_bin msgfmt_bin xgettext_bin @@ -675,7 +678,10 @@ gettext_bin gettextsh_bin xgettext_bin msgfmt_bin -msgmerge_bin' +msgmerge_bin +md5sum_bin +sha1sum_bin +sha256sum_bin' # Initialize some variables set by options. @@ -1320,6 +1326,10 @@ Some influential environment variables: msgfmt_bin path to msgfmt msgmerge_bin path to msgmerge + md5sum_bin path to md5sum + sha1sum_bin path to sha1sum + sha256sum_bin + path to sha256sum Use these variables to override the choices made by `configure' or to help it to find libraries and programs with nonstandard names/locations. @@ -2653,6 +2663,138 @@ test -n "$msgmerge_bin" || as_fn_error $? "no msgmerge (program) found" "$LINENO +# Extract the first word of "md5sum", so it can be a program name with args. +set dummy md5sum; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_path_md5sum_bin+:} false; then : + $as_echo_n "(cached) " >&6 +else + case $md5sum_bin in + [\\/]* | ?:[\\/]*) + ac_cv_path_md5sum_bin="$md5sum_bin" # Let the user override the test with a path. + ;; + *) + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_path_md5sum_bin="$as_dir/$ac_word$ac_exec_ext" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + + ;; +esac +fi +md5sum_bin=$ac_cv_path_md5sum_bin +if test -n "$md5sum_bin"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $md5sum_bin" >&5 +$as_echo "$md5sum_bin" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + +test -n "$md5sum_bin" || as_fn_error $? "no md5sum (program) found" "$LINENO" 5 + + + +# Extract the first word of "sha1sum", so it can be a program name with args. +set dummy sha1sum; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_path_sha1sum_bin+:} false; then : + $as_echo_n "(cached) " >&6 +else + case $sha1sum_bin in + [\\/]* | ?:[\\/]*) + ac_cv_path_sha1sum_bin="$sha1sum_bin" # Let the user override the test with a path. + ;; + *) + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_path_sha1sum_bin="$as_dir/$ac_word$ac_exec_ext" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + + ;; +esac +fi +sha1sum_bin=$ac_cv_path_sha1sum_bin +if test -n "$sha1sum_bin"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $sha1sum_bin" >&5 +$as_echo "$sha1sum_bin" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + +test -n "$sha1sum_bin" || as_fn_error $? "no sha1sum (program) found" "$LINENO" 5 + + + +# Extract the first word of "sha256sum", so it can be a program name with args. +set dummy sha256sum; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_path_sha256sum_bin+:} false; then : + $as_echo_n "(cached) " >&6 +else + case $sha256sum_bin in + [\\/]* | ?:[\\/]*) + ac_cv_path_sha256sum_bin="$sha256sum_bin" # Let the user override the test with a path. + ;; + *) + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_path_sha256sum_bin="$as_dir/$ac_word$ac_exec_ext" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + + ;; +esac +fi +sha256sum_bin=$ac_cv_path_sha256sum_bin +if test -n "$sha256sum_bin"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $sha256sum_bin" >&5 +$as_echo "$sha256sum_bin" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + +test -n "$sha256sum_bin" || as_fn_error $? "no sha256sum (program) found" "$LINENO" 5 + + + # Check for Python modules if test -z $PYTHON; diff --git a/configure.ac b/configure.ac index 02c0c62..8baf152 100644 --- a/configure.ac +++ b/configure.ac @@ -44,6 +44,9 @@ REQUIRE_PROG([gettext.sh],[gettextsh_bin],[gettext for shell]) REQUIRE_PROG([xgettext],[xgettext_bin],[program]) REQUIRE_PROG([msgfmt],[msgfmt_bin],[program]) REQUIRE_PROG([msgmerge],[msgmerge_bin],[program]) +REQUIRE_PROG([md5sum],[md5sum_bin],[program]) +REQUIRE_PROG([sha1sum],[sha1sum_bin],[program]) +REQUIRE_PROG([sha256sum],[sha256sum_bin],[program]) # Check for Python modules AX_PYTHON_MODULE(lxml,fatal,python3) diff --git a/debian/changelog b/debian/changelog index bcc6dfb..5dcbdb9 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,8 +1,11 @@ -thunar-custom-actions (0.0.14) UNRELEASED; urgency=medium +thunar-custom-actions (0.0.14) unstable; urgency=medium * include @python3_bin@ in uca-manip + * improve security: ask for overwriting permission + * revise tempfile system + * add checksums action - -- Yann Büchau Sun, 11 Jun 2017 15:40:29 +0200 + -- Yann Büchau Tue, 13 Jun 2017 12:17:08 +0200 thunar-custom-actions (0.0.13) unstable; urgency=medium diff --git a/locale/de/LC_MESSAGES/thunar-custom-actions.po b/locale/de/LC_MESSAGES/thunar-custom-actions.po index 8e0b7a6..c8206ad 100644 --- a/locale/de/LC_MESSAGES/thunar-custom-actions.po +++ b/locale/de/LC_MESSAGES/thunar-custom-actions.po @@ -6,8 +6,8 @@ msgid "" msgstr "" "Project-Id-Version: \n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2017-06-13 10:28+0200\n" -"PO-Revision-Date: 2017-06-13 10:31+0200\n" +"POT-Creation-Date: 2017-06-13 12:22+0200\n" +"PO-Revision-Date: 2017-06-13 12:23+0200\n" "Last-Translator: \n" "Language-Team: \n" "Language: de\n" @@ -27,8 +27,8 @@ msgstr "Verschlüssele" #: locale/tmp_only_uca_commands.sh:3 locale/tmp_only_uca_commands.sh:4 #: locale/tmp_only_uca_commands.sh:5 locale/tmp_only_uca_commands.sh:6 #: locale/tmp_only_uca_commands.sh:7 locale/tmp_only_uca_commands.sh:8 -#: locale/tmp_only_uca_commands.sh:10 locale/tmp_only_uca_commands.sh:11 -#: locale/tmp_only_uca_commands.sh:12 +#: locale/tmp_only_uca_commands.sh:11 locale/tmp_only_uca_commands.sh:12 +#: locale/tmp_only_uca_commands.sh:13 #, sh-format msgid "overwrite $base?" msgstr "$base überschreiben?" @@ -36,9 +36,8 @@ msgstr "$base überschreiben?" #: locale/tmp_only_uca_commands.sh:1 locale/tmp_only_uca_commands.sh:2 #: locale/tmp_only_uca_commands.sh:3 locale/tmp_only_uca_commands.sh:4 #: locale/tmp_only_uca_commands.sh:5 locale/tmp_only_uca_commands.sh:6 -#: locale/tmp_only_uca_commands.sh:7 locale/tmp_only_uca_commands.sh:8 -#: locale/tmp_only_uca_commands.sh:10 locale/tmp_only_uca_commands.sh:11 -#: locale/tmp_only_uca_commands.sh:12 +#: locale/tmp_only_uca_commands.sh:7 locale/tmp_only_uca_commands.sh:11 +#: locale/tmp_only_uca_commands.sh:12 locale/tmp_only_uca_commands.sh:13 #, sh-format msgid "something went wrong copying the file $fileout over to $filefinalout." msgstr "Etwas ist beim Kopieren der Datei $fileout nach $filefinalout schiefgegangen." @@ -83,11 +82,21 @@ msgstr "Auf wie viel Prozent der Originalgröße skalieren?" msgid "Scale to $SCALE percent" msgstr "Skaliere auf $SCALE%" +#: locale/tmp_only_uca_commands.sh:8 +#, sh-format +msgid "Select link location" +msgstr "Ort der Verknüpfung auswählen" + #: locale/tmp_only_uca_commands.sh:8 #, sh-format msgid "The link name has to differ from the target file name." msgstr "Der Name des Links muss von der zu verlinkenden Datei abweichen." +#: locale/tmp_only_uca_commands.sh:8 +#, sh-format +msgid "Could not create link" +msgstr "Konnte den Link nicht erstellen" + #: locale/tmp_only_uca_commands.sh:9 #, sh-format msgid "Determining file sizes" @@ -98,7 +107,7 @@ msgstr "Ermittle Dateigrößen" msgid "Size" msgstr "Größe" -#: locale/tmp_only_uca_commands.sh:9 +#: locale/tmp_only_uca_commands.sh:9 locale/tmp_only_uca_commands.sh:10 #, sh-format msgid "Name" msgstr "Name" @@ -113,32 +122,51 @@ msgstr "Große Elemente" msgid "Elements sorted by size" msgstr "Elemente nach Größe sortiert" -#: locale/tmp_only_uca_commands.sh:9 +#: locale/tmp_only_uca_commands.sh:9 locale/tmp_only_uca_commands.sh:10 #, sh-format msgid "Double-click to open." msgstr "Doppelklick zum öffnen." #: locale/tmp_only_uca_commands.sh:10 #, sh-format +msgid "Determining checksums" +msgstr "Berechne Prüfsummen" + +#: locale/tmp_only_uca_commands.sh:10 +#, sh-format +msgid "MD5" +msgstr "MD5" + +#: locale/tmp_only_uca_commands.sh:10 +#, sh-format +msgid "SHA1" +msgstr "SHA1" + +#: locale/tmp_only_uca_commands.sh:10 +#, sh-format +msgid "SHA256" +msgstr "SHA256" + +#: locale/tmp_only_uca_commands.sh:10 +#, sh-format +msgid "Checksums" +msgstr "Prüfsummen" + +#: locale/tmp_only_uca_commands.sh:11 +#, sh-format msgid "Converting to PDF" msgstr "Konvertiere zu PDF" -#: locale/tmp_only_uca_commands.sh:11 +#: locale/tmp_only_uca_commands.sh:12 #, sh-format msgid "Concatenating PDFs" msgstr "Füge PDFs zusammen" -#: locale/tmp_only_uca_commands.sh:12 +#: locale/tmp_only_uca_commands.sh:13 #, sh-format msgid "Optimizing PDF" msgstr "Optimiere PDF" -#~ msgid "select link location" -#~ msgstr "Ort der Verknüpfung auswählen" - -#~ msgid "could not create link" -#~ msgstr "konnte den Link nicht erstellen" - #~ msgid "size" #~ msgstr "Größe" @@ -508,9 +536,6 @@ msgstr "Optimiere PDF" #~ msgid "Device file '{}' does not exist." #~ msgstr "Gerätedatei '{}' existiert nicht." -#~ msgid "Checksum error" -#~ msgstr "Prüfsummenfehler" - #~ msgid "(never mind if {}" #~ msgstr "(egal, wenn '{}'" diff --git a/m4/tuca.m4.in b/m4/tuca.m4.in index 7f3e3fb..8301a11 100644 --- a/m4/tuca.m4.in +++ b/m4/tuca.m4.in @@ -19,6 +19,9 @@ define(<~TUCA_PANDOC~>,<~@pandoc_bin@~>)dnl define(<~TUCA_PYTHON3~>,<~@python3_bin@~>)dnl define(<~TUCA_GETTEXT~>,<~@gettext_bin@~>)dnl define(<~TUCA_GETTEXTSH~>,<~@gettextsh_bin@~>)dnl +define(<~TUCA_MD5SUM~>,<~@md5sum_bin@~>)dnl +define(<~TUCA_SHA1SUM~>,<~@sha1sum_bin@~>)dnl +define(<~TUCA_SHA256SUM~>,<~@sha256sum_bin@~>)dnl dnl metadata from ./configure define(<~TUCA_PACKAGE_NAME~>,<~@PACKAGE_NAME@~>)dnl dnl paths from ./configure @@ -194,9 +197,9 @@ file $TUCA_OUT_VAR() over to $TUCA_FINAL_OUT_VAR().));dnl fi) dnl ~>)dnl dnl -dnl TUCA_LOOP(command,[description],[outfile]) +dnl TUCA_LOOP(command,[description]) dnl - loop over TUCA_ALL_FILES -dnl - execute "command" on each file with TUCA_CREATE_FILE +dnl - execute "command" on each file dnl - use TUCA_PROGRESSBAR_TEXT to show "description" followed by the current dnl file dnl - use TUCA_PROGRESSBAR_PERCENTAGE to show current progress @@ -211,9 +214,9 @@ dnl calculate current percentage dnl get TUCA_FILE_BASE_VAR()=$(basename TUCA_FILE());dnl current file's basename dnl update progressbar text - TUCA_PROGRESSBAR_TEXT($2 ... TUCA_FILE_BASE());dnl - dnl run command on TUCA_FILE, save to TUCA_FILE if "outfile" is unspecified - TUCA_CREATE_FILE($1,TUCA_FILE(),ifelse($3,,TUCA_FILE(),$3));dnl + TUCA_PROGRESSBAR_TEXT($2 ... <~~>TUCA_FILE_BASE());dnl + dnl run command + ($1);dnl dnl update progressbar percentage TUCA_PROGRESSBAR_PERCENTAGE($PERCENTAGE);dnl done<~~>dnl diff --git a/share/thunar-custom-actions/system-uca/gpg.xml.m4 b/share/thunar-custom-actions/system-uca/gpg.xml.m4 index 095239d..c9bc34e 100644 --- a/share/thunar-custom-actions/system-uca/gpg.xml.m4 +++ b/share/thunar-custom-actions/system-uca/gpg.xml.m4 @@ -12,9 +12,12 @@ include(tuca.m4)dnl PASSWORD=$(TUCA_PASSWORD()) || exit;dnl TUCA_PROGRESSBAR(dnl TUCA_LOOP(dnl - echo $PASSWORD | TUCA_GPG2() --batch --yes --passphrase-fd 0 --symmetric --armor -o TUCA_OUT() TUCA_IN(),dnl - TUCA_TRANSLATE(Encrypting),dnl - TUCA_IN().asc,dnl output name + TUCA_CREATE_FILE(dnl + echo $PASSWORD | TUCA_GPG2() --batch --yes --passphrase-fd 0 --symmetric --armor -o TUCA_OUT() TUCA_IN(),dnl + TUCA_FILE(),dnl input + TUCA_FILE().asc,dnl output + ),dnl + TUCA_TRANSLATE(Encrypting),dnl loop description )dnl )dnl ) @@ -35,10 +38,13 @@ include(tuca.m4)dnl PASSWORD=$(TUCA_PASSWORD()) || exit;dnl TUCA_PROGRESSBAR(dnl TUCA_LOOP(dnl - echo $PASSWORD | TUCA_GPG2() --batch --yes --passphrase-fd 0 --decrypt -o TUCA_OUT() TUCA_IN() || FAIL=yes;dnl - if test -n "$FAIL";then TUCA_ERROR(TUCA_TRANSLATE(Wrong Password for $TUCA_FILE_BASE_VAR()?));exit;fi,dnl - TUCA_TRANSLATE(Decrypting),dnl - $(dirname TUCA_IN())/$(basename TUCA_IN() .asc),dnl output name + TUCA_CREATE_FILE(dnl + echo $PASSWORD | TUCA_GPG2() --batch --yes --passphrase-fd 0 --decrypt -o TUCA_OUT() TUCA_IN() || FAIL=yes;dnl + if test -n "$FAIL";then TUCA_ERROR(TUCA_TRANSLATE(Wrong Password for $TUCA_FILE_BASE_VAR()?));exit;fi,dnl + TUCA_FILE(),dnl input + $(dirname TUCA_FILE())/$(basename TUCA_FILE() .asc),dnl output name + ),dnl + TUCA_TRANSLATE(Decrypting),dnl loop description )dnl )dnl ) diff --git a/share/thunar-custom-actions/system-uca/images.xml.m4 b/share/thunar-custom-actions/system-uca/images.xml.m4 index 6b182ee..74f6c1a 100644 --- a/share/thunar-custom-actions/system-uca/images.xml.m4 +++ b/share/thunar-custom-actions/system-uca/images.xml.m4 @@ -11,8 +11,12 @@ include(tuca.m4)dnl TUCA_CMD(dnl TUCA_PROGRESSBAR(dnl TUCA_LOOP(dnl - TUCA_CONVERT() -rotate 90 TUCA_IN() TUCA_OUT(),dnl - TUCA_TRANSLATE(Rotating clockwise),dnl + TUCA_CREATE_FILE(dnl + TUCA_CONVERT() -rotate 90 TUCA_IN() TUCA_OUT(),dnl + TUCA_FILE(),dnl input + TUCA_FILE(),dnl output + ),dnl + TUCA_TRANSLATE(Rotating clockwise),dnl loop description )dnl )dnl ) @@ -28,12 +32,15 @@ include(tuca.m4)dnl TUCA_CMD(dnl TUCA_PROGRESSBAR(dnl TUCA_LOOP(dnl - TUCA_CONVERT() -rotate 270 TUCA_IN() TUCA_OUT(),dnl + TUCA_CREATE_FILE(dnl + TUCA_CONVERT() -rotate 270 TUCA_IN() TUCA_OUT(),dnl + TUCA_FILE(),dnl input + TUCA_FILE(),dnl output + ),dnl TUCA_TRANSLATE(Rotating anti-clockwise),dnl )dnl )dnl - ) - The selected images are turned anti-clockwise. + ) The selected images are turned anti-clockwise. Die ausgewählten Bilder werden gegen den Uhrzeigersinn gedreht. * @@ -45,7 +52,11 @@ include(tuca.m4)dnl TUCA_CMD(dnl TUCA_PROGRESSBAR(dnl TUCA_LOOP(dnl - TUCA_CONVERT() TUCA_IN() -set colorspace Gray -separate -average TUCA_OUT(),dnl + TUCA_CREATE_FILE(dnl + TUCA_CONVERT() TUCA_IN() -set colorspace Gray -separate -average TUCA_OUT(),dnl + TUCA_FILE(),dnl input + TUCA_FILE(),dnl output + ),dnl TUCA_TRANSLATE(Converting to grayscale),dnl )dnl )dnl @@ -64,7 +75,11 @@ include(tuca.m4)dnl COLOR=$(TUCA_COLOR_SELECTION()) || exit;dnl ask user for fill color TUCA_PROGRESSBAR(dnl TUCA_LOOP(dnl - TUCA_CONVERT() TUCA_IN() -background "$COLOR" -alpha remove TUCA_OUT(),dnl + TUCA_CREATE_FILE(dnl + TUCA_CONVERT() TUCA_IN() -background "$COLOR" -alpha remove TUCA_OUT(),dnl + TUCA_FILE(),dnl input + TUCA_FILE(),dnl output + ),dnl TUCA_TRANSLATE(Filling transparency with $COLOR),dnl )dnl )dnl @@ -82,7 +97,11 @@ include(tuca.m4)dnl SCALE=$(TUCA_ZENITY() --text="TUCA_TRANSLATE(Scale to what percentage?)" --scale --value=50 --min-value=1 --max-value=99) || exit;dnl TUCA_PROGRESSBAR(dnl TUCA_LOOP(dnl - TUCA_CONVERT() TUCA_IN() -resize ${SCALE}%% TUCA_OUT(),dnl + TUCA_CREATE_FILE(dnl + TUCA_CONVERT() TUCA_IN() -resize ${SCALE}%% TUCA_OUT(),dnl + TUCA_FILE(),dnl input + TUCA_FILE(),dnl output + ),dnl TUCA_TRANSLATE(Scale to $SCALE percent),dnl )dnl )dnl diff --git a/share/thunar-custom-actions/system-uca/misc.xml.m4 b/share/thunar-custom-actions/system-uca/misc.xml.m4 index a0c5d6d..13e324c 100644 --- a/share/thunar-custom-actions/system-uca/misc.xml.m4 +++ b/share/thunar-custom-actions/system-uca/misc.xml.m4 @@ -9,12 +9,12 @@ include(tuca.m4)dnl Verknüpfung erstellen Create link to this file TUCA_CMD(dnl - TARGET="$(TUCA_ZENITY() --file-selection --title="Select link location)" --save --filename TUCA_FIRST_FILE())" || exit;dnl + TARGET="$(TUCA_ZENITY() --file-selection --title="TUCA_TRANSLATE(Select link location)" --save --filename TUCA_FIRST_FILE())" || exit;dnl if test "$TARGET" = TUCA_FIRST_FILE();then dnl TUCA_ERROR(TUCA_TRANSLATE(The link name has to differ from the target file name.));exit;dnl fi;dnl TUCA_CREATE_FILE(dnl - ln -sf TUCA_IN() TUCA_OUT() || TUCA_ERROR(Could not create link)),dnl command + ln -sf TUCA_IN() TUCA_OUT() || TUCA_ERROR(TUCA_TRANSLATE(Could not create link)),dnl command TUCA_FIRST_FILE(),dnl input $TARGET,dnl output notmpfile,dnl no tempfile needed @@ -58,5 +58,42 @@ include(tuca.m4)dnl * + + checkbox-checked-symbolic + Prüfsummen + Checksums + TUCA_CMD(dnl + TMPFILE=$(mktemp);dnl + TUCA_PROGRESSBAR(dnl + TUCA_LOOP(dnl + basename TUCA_FILE() >> $TMPFILE;dnl + TUCA_MD5SUM() TUCA_FILE() | cut -d' ' -f1 >> $TMPFILE;dnl + TUCA_SHA1SUM() TUCA_FILE() | cut -d' ' -f1 >> $TMPFILE;dnl + TUCA_SHA256SUM() TUCA_FILE() | cut -d' ' -f1 >> $TMPFILE;dnl + ,dnl command + TUCA_TRANSLATE(Determining checksums),dnl loop description + ),dnl + TUCA_TRANSLATE(Determining checksums),dnl title + );dnl + cat $TMPFILE | dnl + TUCA_ZENITY() --list dnl + --column="TUCA_TRANSLATE(Name)" dnl + --column="TUCA_TRANSLATE(MD5)" dnl + --column="TUCA_TRANSLATE(SHA1)" dnl + --column="TUCA_TRANSLATE(SHA256)" dnl + --title="TUCA_TRANSLATE(Checksums)" dnl + --text="TUCA_TRANSLATE(Checksums)\n<~~>TUCA_TRANSLATE(Double-click to open.)" dnl + --print-column 1 | dnl + TUCA_XARGS() -r --delimiter='\n' TUCA_XDG_OPEN();dnl + rm "$TMPFILE") + Verschiedene Prüfsummen der ausgewählten Dateien anzeigen. + Show different checksums of the selected files. + * + + + + + + diff --git a/share/thunar-custom-actions/system-uca/pdf.xml.m4 b/share/thunar-custom-actions/system-uca/pdf.xml.m4 index bdfa7d8..7fe6c9f 100644 --- a/share/thunar-custom-actions/system-uca/pdf.xml.m4 +++ b/share/thunar-custom-actions/system-uca/pdf.xml.m4 @@ -59,12 +59,16 @@ include(tuca.m4)dnl TUCA_CMD(dnl TUCA_PROGRESSBAR(dnl TUCA_LOOP(dnl - TUCA_GS() -dBATCH -dNOPAUSE -q -dPDFSETTINGS=/screen dnl - -sDEVICE=pdfwrite -dDownsampleColorImages=true dnl - -dDownsampleGrayImages=true -dDownsampleMonoImages=true dnl - -dColorImageResolution=72 -dGrayImageResolution=72 dnl - -dMonoImageResolution=72 -sOutputFile=TUCA_OUT() TUCA_IN(),dnl cmd - TUCA_TRANSLATE(Optimizing PDF),dnl description + TUCA_CREATE_FILE(dnl + TUCA_GS() -dBATCH -dNOPAUSE -q -dPDFSETTINGS=/screen dnl + -sDEVICE=pdfwrite -dDownsampleColorImages=true dnl + -dDownsampleGrayImages=true -dDownsampleMonoImages=true dnl + -dColorImageResolution=72 -dGrayImageResolution=72 dnl + -dMonoImageResolution=72 -sOutputFile=TUCA_OUT() TUCA_IN(),dnl cmd + TUCA_FILE(),dnl input + TUCA_FILE(),dnl output + ),dnl + TUCA_TRANSLATE(Optimizing PDF),dnl loop description )dnl )dnl )