dotfiles/.bin/OLD/xfilesthumb

48 lines
753 B
Plaintext
Raw Normal View History

#!/bin/sh
BACKGROUND="#0A0A0A"
THUMBSIZE=64
umask 077
case "$#" in
(2)
;;
(*)
printf "usage: %s file\n" "$0" >&2
exit 1
;;
esac
case "$2" in
(*/*)
mkdir -p "${2%/*}"
;;
(*)
;;
esac
case "${1##*.}" in
png|jpg|jpeg|gif|xpm|xbm|ppm)
convert "${1}[0]" -background "$BACKGROUND" -flatten \
-define filename:literal=true -format ppm \
-thumbnail "${THUMBSIZE}x${THUMBSIZE}" \
"${2}"
;;
webm|mp4|mkv|ogv)
ffmpegthumbnailer -c png -i "${1}" -o - -s "${THUMBSIZE}" \
| convert - -define filename:literal=true -format ppm \
"${2}"
;;
svg)
rsvg-convert -h "${THUMBSIZE}" "${1}" \
| convert - -format ppm "${2}"
;;
pdf)
pdftoppm -f 1 -l 1 -scale-to "${THUMBSIZE}" -singlefile \
"${1}" "${2%.ppm}"
;;
*)
exit 1
;;
esac 2>/dev/null