qubes.GetImageRGBA for appicons

This commit is contained in:
Wojciech Zygmunt Porczyk 2014-01-30 16:30:17 +01:00
parent c64a33da3f
commit 453ab0f22c
3 changed files with 34 additions and 0 deletions

View File

@ -138,6 +138,7 @@ install-vm:
install -m 0644 qubes-rpc/qubes.WaitForSession $(DESTDIR)/etc/qubes-rpc install -m 0644 qubes-rpc/qubes.WaitForSession $(DESTDIR)/etc/qubes-rpc
install -m 0644 qubes-rpc/qubes.DetachPciDevice $(DESTDIR)/etc/qubes-rpc install -m 0644 qubes-rpc/qubes.DetachPciDevice $(DESTDIR)/etc/qubes-rpc
install -m 0644 qubes-rpc/qubes.{Backup,Restore} $(DESTDIR)/etc/qubes-rpc install -m 0644 qubes-rpc/qubes.{Backup,Restore} $(DESTDIR)/etc/qubes-rpc
install -m 0644 qubes-rpc/qubes.GetImageRGBA $(DESTDIR)/etc/qubes-rpc
install -d $(DESTDIR)/usr/share/file-manager/actions install -d $(DESTDIR)/usr/share/file-manager/actions
install -m 0644 qubes-rpc/*-gnome.desktop $(DESTDIR)/usr/share/file-manager/actions install -m 0644 qubes-rpc/*-gnome.desktop $(DESTDIR)/usr/share/file-manager/actions

View File

@ -0,0 +1,31 @@
set -e
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="${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 -format '%w %h' "$filename"
convert -depth 8 "$filename" rgba:-
[[ -n "${tmpfile}" ]] && rm -f ${tmpfile} || true
# vim: ft=sh ts=4 sw=4 et

View File

@ -48,6 +48,7 @@ Requires: net-tools
Requires: nautilus-actions Requires: nautilus-actions
Requires: qubes-core-vm-kernel-placeholder Requires: qubes-core-vm-kernel-placeholder
Requires: qubes-utils Requires: qubes-utils
Requires: ImageMagick
Provides: qubes-core-vm Provides: qubes-core-vm
Obsoletes: qubes-core-commonvm Obsoletes: qubes-core-commonvm
Obsoletes: qubes-core-appvm Obsoletes: qubes-core-appvm
@ -279,6 +280,7 @@ rm -f %{name}-%{version}
/etc/qubes-rpc/qubes.DetachPciDevice /etc/qubes-rpc/qubes.DetachPciDevice
/etc/qubes-rpc/qubes.Backup /etc/qubes-rpc/qubes.Backup
/etc/qubes-rpc/qubes.Restore /etc/qubes-rpc/qubes.Restore
/etc/qubes-rpc/qubes.GetImageRGBA
/etc/sudoers.d/qubes /etc/sudoers.d/qubes
%config(noreplace) /etc/sysconfig/iptables %config(noreplace) /etc/sysconfig/iptables
%config(noreplace) /etc/sysconfig/ip6tables %config(noreplace) /etc/sysconfig/ip6tables