diff --git a/compress b/compress index bd3d4b5..2c3c6f8 100755 --- a/compress +++ b/compress @@ -9,6 +9,23 @@ function wait_queue() { done } +function compress() {( + local nb total dir newdir file + cd "$DIR" + + dir="$PWD" + total="$(printf '%s\n' * | wc -l)" + newdir="${PWD%/*}/$(basename "$dir")_1080p" + mkdir -p "$newdir" + for file in *; do + identify "$file" 2> /dev/null >&2 \ + && convert -resize x1080 "$file" "$newdir/$file" & + wait_queue + nb="$(printf '%s\n' "$newdir"/* | wc -l)" + echo "$((nb * 100 / total))" + done +)} + if [ -z "$1" ]; then set "$(zenity --file-selection --multiple --directory --separator=' ')" > /dev/null @@ -19,16 +36,5 @@ if [ -z "$1" ]; then fi for DIR in "$@"; do - cd "$DIR" - DIR="$PWD" - NEWDIR="${PWD%/*}/$(basename "$DIR")_1080p" - mkdir -p "$NEWDIR" - for FILE in *; do - wait_queue - identify "$FILE" 2> /dev/null >&2 \ - && convert -resize x1080 "$FILE" "$NEWDIR/$FILE" & - done + compress | zenity --progress --title="$DIR" done - -wait_queue -zenity --info --text="Done"