summary refs log tree commit diff
path: root/bin/mktoes
diff options
context:
space:
mode:
authorRobert Günzler <r@gnzler.io>2026-04-08 13:18:14 +0900
committerRobert Günzler <r@gnzler.io>2026-04-08 13:18:14 +0900
commitb61b58ce2c1371d6f904f108fa7feed3abfbe5c7 (patch)
tree008a5cf54ecbfffb97ddac30e44c8ab224395ab0 /bin/mktoes
parentd4620f3ac119263fee90bd819eadaf84fc8d50b7 (diff)
*
Automated-commit-by: dots
Signed-off-by: Robert Günzler <r@gnzler.io>
Diffstat (limited to '')
-rwxr-xr-xbin/mktoes27
1 files changed, 27 insertions, 0 deletions
diff --git a/bin/mktoes b/bin/mktoes
new file mode 100755
index 0000000..7eb47cf
--- /dev/null
+++ b/bin/mktoes
@@ -0,0 +1,27 @@
+#!/bin/sh
+set -eu
+target=${1:?target}
+size=${2:-normal}
+
+case $size in
+normal) px=128 ;;
+large) px=256 ;;
+x-large) px=512 ;;
+xx-large) px=1024 ;;
+*) exit 1 ;;
+esac
+
+md5=$(echo "file://$(readlink -e "$target")" | md5sum | cut -d' ' -f1)
+dir=${XDG_CACHE_HOME:-$HOME/.cache}/thumbnails/$size
+path=$dir/$md5.png
+printf '%s' $path
+[ -n "${MKTOES_NOGEN:-}" ] && exit 0
+
+test -f $path && exit 0
+mkdir -p $dir
+chmod 700 $dir
+
+tmp=$dir/.$$.$md5.png
+ffmpeg -hide_banner -i "$target" -vf scale=$px:$px:force_original_aspect_ratio=decrease $tmp 2>/dev/null
+mv -f $tmp $path
+chmod 600 $path