diff options
Diffstat (limited to 'lf/previewer')
-rwxr-xr-x | lf/previewer | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/lf/previewer b/lf/previewer new file mode 100755 index 0000000..24db043 --- /dev/null +++ b/lf/previewer @@ -0,0 +1,36 @@ +#!/bin/sh +draw() { + kitten icat --stdin no --transfer-mode memory --place "${w}x${h}@${x}x${y}" "$1" </dev/null >/dev/tty + exit 1 +} + +file="$1" +w="$2" +h="$3" +x="$4" +y="$5" + +case "$(file -Lb --mime-type "$file")" in + image/*) + draw "$file" + ;; + video/*) + # vidthumb is from here: + # https://raw.githubusercontent.com/duganchen/kitty-pistol-previewer/main/vidthumb + draw "$(vidthumb "$file")" + ;; + application/pdf) + CACHE=$(mktemp /tmp/thumbcache.XXXXX) + pdftoppm -png -f 1 -singlefile "$1" "$CACHE" + draw "$CACHE.png" + rm -f "$CACHE" "$CACHE.png" + ;; + application/epub+zip|application/epub) + CACHE=$(mktemp /tmp/thumbcache.XXXXX) + epub-thumbnailer "$1" "$CACHE" 1024 + $HOME/.config/lf/image draw "$CACHE" + rm -f "$CACHE" "$CACHE.png" + ;; +esac + +pistol "$file" |