Since my music is all in git annex now, the thumbnailer follows the
cover art symlinks all the way to the annex object directory. This is
less than helpful, since the intention was to locate the album scan
directory. Change the --image mode to just read the link once and
then stop.
-# Copyright © 2008 Nick Bowler
+# 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
#
# 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
# 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.
# 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
if [[ -z "$MUSIC" ]]; then
MUSIC=/home/music
fi
fi
[[ ! -f "$imgpath" ]] && exit 0
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"
[[ ! -f "$image" ]] && exit 0
thumb="$thumbs/$(echo -n $image | md5sum - | cut -d ' ' -f 1)_$size.png"