On 02/24/2010 01:16 PM, Pacho Ramos wrote: > El mar, 23-02-2010 a las 20:26 -0500, Jonathan Callen escribió: >> Attached is a patch to properly comply with the part of the FDO Desktop >> Menu Specification pertaining to Categories (namely, always ensuring >> that the list ends in a ";") and the part of the FDO Desktop Entry >> Specification and Icon Theme Specification pertaining to icons (namely, >> that non-absolute paths MUST NOT have an extension). > > Would be nice if you would have time to look at the following old > make_desktop_entry bug: > http://bugs.gentoo.org/show_bug.cgi?id=191000 > > Thanks a lot :-D
I edited the patch to include a fix for but 191000 as well. See attached.
--- eutils.eclass
+++ eutils.eclass.new
@@ -961,6 +961,7 @@ make_desktop_entry() {
news) type=News;;
nntp) type=News;;
p2p) type=FileTransfer;;
+ voip) type=Telephony;;
*) type=;;
esac
type="Network;${type}"
@@ -979,7 +980,7 @@ make_desktop_entry() {
visual*) type=DataVisualization;;
*) type=;;
esac
- type="Science;${type}"
+ type="Education;Science;${type}"
;;
sys)
@@ -991,7 +992,7 @@ make_desktop_entry() {
client) type=WebBrowser;;
*) type=;;
esac
- type="Network"
+ type="Network;${type}"
;;
*)
@@ -1007,6 +1008,17 @@ make_desktop_entry() {
local desktop="${T}/$(echo ${exec} | sed
's:[[:space:]/:]:_:g')-${desktop_name}.desktop"
#local desktop=${T}/${exec%% *:-${desktop_name}}.desktop
+ # Don't append another ";" when a valid category value is provided.
+ [[ -n ${type} && ${type} != *';' ]] && type+=";"
+
+ eshopts_push -s extglob
+ if [[ -n ${icon} && ${icon} != /* && ${icon} == *.@(xpm|png|svg) ]];
then
+ ewarn "As described in the Icon Theme Specification, icon file
extensions are not"
+ ewarn "allowed in .desktop files if the value is not an
absolute path."
+ icon=${icon%.@(xpm|png|svg)}
+ fi
+ eshopts_pop
+
cat <<-EOF > "${desktop}"
[Desktop Entry]
Name=${name}
@@ -1015,7 +1027,7 @@ make_desktop_entry() {
Exec=${exec}
TryExec=${exec%% *}
Icon=${icon}
- Categories=${type};
+ Categories=${type}
EOF
[[ ${path} ]] && echo "Path=${path}" >> "${desktop}"
signature.asc
Description: OpenPGP digital signature
