46 lines
1.1 KiB
Plaintext
46 lines
1.1 KiB
Plaintext
|
#!/bin/sh
|
||
|
#!/usr/bin/env sh
|
||
|
|
||
|
preview() {
|
||
|
cat <<-EOF | paste -sd '' >"$LF_UEBERZUG_TEMPDIR/fifo"
|
||
|
{
|
||
|
"action": "add", "identifier": "lf-preview",
|
||
|
"path": "$1", "x": $4, "y": $5, "width": $2, "height": $3,
|
||
|
"scaler": "contain"
|
||
|
}
|
||
|
EOF
|
||
|
}
|
||
|
|
||
|
file="$1"; shift
|
||
|
case "$(basename "$file" | tr '[:upper:]' '[:lower:]')" in
|
||
|
*.tar*) tar tf "$file" ;;
|
||
|
*.zip) unzip -l "$file" ;;
|
||
|
*.rar) unrar l "$file" ;;
|
||
|
*.7z) 7z l "$file" ;;
|
||
|
*.avi|*.mp4|*.mkv)
|
||
|
thumbnail="$LF_UEBERZUG_TEMPDIR/thumbnail.png"
|
||
|
ffmpeg -y -i "$file" -vframes 1 "$thumbnail"
|
||
|
preview "$thumbnail" "$@"
|
||
|
;;
|
||
|
*.pdf)
|
||
|
thumbnail="$LF_UEBERZUG_TEMPDIR/thumbnail.png"
|
||
|
gs -o "$thumbnail" -sDEVICE=pngalpha -dLastPage=1 "$file" >/dev/null
|
||
|
preview "$thumbnail" "$@"
|
||
|
;;
|
||
|
*.jpg|*.jpeg|*.png|*.bmp)
|
||
|
preview "$file" "$@" ;;
|
||
|
*.svg)
|
||
|
thumbnail="$LF_UEBERZUG_TEMPDIR/thumbnail.png"
|
||
|
gm convert "$file" "$thumbnail"
|
||
|
preview "$thumbnail" "$@"
|
||
|
;;
|
||
|
*.gif)
|
||
|
thumbnail="$LF_UEBERZUG_TEMPDIR/thumbnail.png"
|
||
|
gm convert "$file[0]" "$thumbnail"
|
||
|
preview "$thumbnail" "$@"
|
||
|
;;
|
||
|
*) cat "$file" ;;
|
||
|
esac
|
||
|
return 127 # nonzero retcode required for lf previews to reload
|
||
|
|