]> Sergey Matveev's repositories - nnn.git/commitdiff
Preview-tui fix gif conversion
authorLuuk van Baal <luukvbaal@gmail.com>
Mon, 20 Dec 2021 01:39:10 +0000 (02:39 +0100)
committerLuuk van Baal <luukvbaal@gmail.com>
Mon, 20 Dec 2021 01:39:10 +0000 (02:39 +0100)
plugins/preview-tui

index 8b642e35b51277b44ebb4fc5c1e7fc5a8a18521f..81f9f4fbdb50ae4e834f9b165ab4c079b09c2b49 100755 (executable)
@@ -339,19 +339,22 @@ generate_preview() {
             epub) gnome-epub-thumbnailer "$3" "$NNN_PREVIEWDIR/$3.jpg" ;;
             font) fontpreview -i "$3" -o "$NNN_PREVIEWDIR/$3.jpg" ;;
             gif) if [ -p "$FIFO_UEBERZUG" ] && exists convert; then
-                frameprefix="$NNN_PREVIEWDIR/$3/${3##*/}"
+                    frameprefix="$NNN_PREVIEWDIR/$3/${3##*/}"
                     if [ ! -d "$NNN_PREVIEWDIR/$3" ]; then
                         mkdir -p "$NNN_PREVIEWDIR/$3"
-                        convert -coalesce -resize "$NNN_PREVIEWWIDTH"x"$NNN_PREVIEWHEIGHT"\> "$3" "$frameprefix.jpg"
+                        convert -coalesce -resize "$NNN_PREVIEWWIDTH"x"$NNN_PREVIEWHEIGHT"\> "$3" "$frameprefix.jpg" ||
+                        MAGICK_TMPDIR="/tmp" convert -coalesce -resize "$NNN_PREVIEWWIDTH"x"$NNN_PREVIEWHEIGHT"\> "$3" "$frameprefix.jpg"
                     fi
-                        while true; do
-                            for i in $(seq 0 "$(($(find "$NNN_PREVIEWDIR/$3" | wc -l) - 2))"); do
-                                image_preview "$1" "$2" "$frameprefix-$i.jpg"
-                                sleep 0.1
-                            done
-                        done &
-                        printf "%s" "$!" > "$PREVIEWPID"
-                        return
+                    frames=$(($(find "$NNN_PREVIEWDIR/$3" | wc -l) - 2))
+                    [ $frames -lt 0 ] && return
+                    while true; do
+                        for i in $(seq 0 $frames); do
+                            image_preview "$1" "$2" "$frameprefix-$i.jpg"
+                            sleep 0.1
+                        done
+                    done &
+                    printf "%s" "$!" > "$PREVIEWPID"
+                    return
                  else
                     exec >/dev/tty
                     image_preview "$1" "$2" "$3"