Mercurial > jpeg-exif-thumbnailer
diff jpeg-exif-thumbnailer @ 0:92c70579720e default tip
Initial commit
author | Brad Greco <brad@bgreco.net> |
---|---|
date | Wed, 13 Jan 2021 19:25:09 -0500 |
parents | |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/jpeg-exif-thumbnailer Wed Jan 13 19:25:09 2021 -0500 @@ -0,0 +1,28 @@ +#!/bin/bash + +# Fast GNOME thumbnailer for JPEG files that uses the embedded EXIF thumbnail +# from the source file, if present. Greatly speeds up thumbnail generation when +# browsing a folder of images shared over a network. +# +# Usage: +# jpeg-exif-thumbnailer [size] [source] [destination] + +set -e + +# Transform the input file URI (for example, file://... or smb://...) into its +# locally mounted path. +input_path=$(gio info "$2" | grep "^local path:" | cut -d ' ' -f 3-) + +# Use exiftool to extract the embedded preview image. +exiftool -a -b -W! "$3" -preview:all "$input_path" + +if [ -s "$3" ]; then + # If the extraction succeeded, convert the extracted image to the requested + # format based on the requested file extension, and resize it to the + # requested size. Since Nautilus requires PNG files, the mogrify command + # is required even if -resize is not specified. + mogrify -resize $1x$1 "$3" +else + # If the extraction failed, fall back to the default system thumbnailer. + /usr/bin/gdk-pixbuf-thumbnailer -s "$1" "$2" "$3" +fi