qubes.GetImageRGBA: bugfixes

- when icon is not found in hicolor theme, search for in in other themes
- added -follow to find
This commit is contained in:
Wojciech Zygmunt Porczyk 2014-02-04 00:22:26 +01:00
parent 453ab0f22c
commit 27632a0b3b

View File

@ -3,12 +3,18 @@ read filename
if [[ "${filename}" = xdgicon:* ]]; then
# get biggest icon from hicolor theme
candidate=$(find /usr/share/icons/hicolor -type f -name "${filename#*:}.png" | xargs ls --sort=size | head -1)
if [[ ! "$(basename "${candidate}")" = "${filename#*:}.png" ]]; then
# file not found, ls returned garbage
exit 1
fi
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
@ -23,7 +29,9 @@ elif ! [[ -r "${filename}" ]]; then
exit 1
fi
identify -format '%w %h' "$filename"
# 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