123456789101112131415161718192021222324252627282930313233343536373839 |
- set -e
- read filename
- if [[ "${filename}" = xdgicon:* ]]; then
- # get biggest icon from hicolor theme
- filename="${filename#*:}.png"
- candidate=
- for dir in /usr/share/icons/{hicolor/,}; do
- candidate=$(find -L "${dir}" -type f -name "${filename}")
- if [[ -n "${candidate}" ]]; then
- candidate=$(echo "${candidate}" | xargs ls --sort=size | head -1)
- break
- fi
- done
- [[ -n "${candidate}" ]]
- filename="${candidate}"
- elif [[ "${filename}" = "-" ]] || [[ "${filename}" = *":-" ]]; then
- tmpfile="$(mktemp /tmp/qimg-XXXXXXXX)"
- cat > "${tmpfile}"
- if [[ "$filename" = *":-" ]]; then
- tmpfile="${filename%:*}:${tmpfile}"
- fi
- filename="${tmpfile}"
- elif ! [[ -r "${filename}" ]]; then
- exit 1
- fi
- # identify in F18 (6.7) adds implicit '\n' to format,
- # whereas identify in F20 (6.8) does not
- identify -format '%w %h\n' "$filename" | sed -e '/^$/d'
- convert -depth 8 "$filename" rgba:-
- [[ -n "${tmpfile}" ]] && rm -f ${tmpfile} || true
- # vim: ft=sh ts=4 sw=4 et
|