summaryrefslogtreecommitdiff
path: root/lf/previewer
blob: 24db0435c8f95b25dfb30f78bfdca118f5546821 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
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"