feat: progress bar

This commit is contained in:
ange 2024-04-14 13:47:39 +02:00
parent aa3c0a5191
commit 1978f835b4
Signed by: ange
GPG Key ID: 9E0C4157BB7BEB1D

View File

@ -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"