-#!/bin/zsh
+#!/usr/bin/env zsh
+#
+# Copyright © 2008, 2017 Nick Bowler
+#
+# Simple thumbnail generator for use with FVWM. Thumbnails can be generated at
+# any desired size, and are cached for future use. Prints the cached filename
+# to standard output.
+#
+# License WTFPL2: Do What The Fuck You Want To Public License, version 2.
+# This is free software: you are free to do what the fuck you want to.
+# There is NO WARRANTY, to the extent permitted by law.
+
+# resolve_file [file]
+#
+# If the argument is a symbolic link, print the target of that link.
+# Otherwise, prints the basename of file.
+resolve_file () {
+ test $# -eq 1 || return
+
+ # Ensure filename won't be confused for any kind of find argument...
+ case $1 in
+ /*) :;;
+ *) set x "./$1"; shift
+ esac
+
+ find "$1" -prune \( -type l -printf '%l' -o -printf '%f' \)
+}
if [[ -z "$MUSIC" ]]; then
MUSIC=/home/music
fi
[[ ! -f "$imgpath" ]] && exit 0
-
-image="$(readlink -f -- "$imgpath")"
+image=`resolve_file "$imgpath"`
+case $image in
+/*) :;;
+*) image=`dirname $imgpath`/$image
+esac
[[ ! -f "$image" ]] && exit 0
thumb="$thumbs/$(echo -n $image | md5sum - | cut -d ' ' -f 1)_$size.png"