Hi

The Fedora reviewer made me some interesting remarks about my
submission for a Waste's Edge package, so I tought I should share it
as it might direclty concern upstream:
> * Install icons in freedesktop.org icon standard location (/usr/share/pixmaps 
> is
>  deprecated) :
>  mv wastesedge_16x16.xpm /usr/share/icons/hicolor/16x16/apps/wastesedge.xpm
>  mv wastesedge_32x32.xpm /usr/share/icons/hicolor/32x32/apps/wastesedge.xpm
>  Add a "Requires: hicolor-icon-theme" for icon dirs ownership
>  Add ican-cache update scriptlets from:
>     
> http://fedoraproject.org/wiki/Packaging/ScriptletSnippets#GTK.2B_icon_cache
>  Change Icon line in .desktop to just "Icon=wastesedge"

I looked a bit into it, and it seems there are some issues with it.

>From the Icon Theme Spec from Freedesktop
(http://standards.freedesktop.org/icon-theme-spec/latest/ar01s02.html),
I found this:
> Icon file
>     An icon file is an image that can be loaded and used as an icon. The 
> supported image
>     file formats are PNG, XPM and SVG. PNG is the recommended bitmap format, 
> and
>     SVG is for vectorized icons. XPM is supported due to backwards 
> compability reasons,
>     and it is not recommended that new themes use XPM files. Support for SVGs 
> is optional.
So it looks like it could be good to simply convert the 2 icon files
for wastesedge into png format. This can be simply achieved by opening
them in Gimp and exporting them as png files. I suppose convert from
ImageMagick can also do that. This is not a MUST, and not even asked
by the reviewer for Fedora inclusion, but it is in the fd.o standard.

About what was specifically reported in the review, I found this in
the same Freedesktop Spec
(http://standards.freedesktop.org/icon-theme-spec/latest/ar01s07.html):
> Installing Application Icons
>     So, you're an application author, and want to install application icons 
> so that they work
>     in the KDE and Gnome menus. Minimally you should install a 48x48 icon in 
> the hicolor
>     theme. This means installing a PNG file in 
> $prefix/share/icons/hicolor/48x48/apps.
>     Optionally you can install icons in different sizes. For example, 
> installing a svg icon in
>     $prefix/share/icons/hicolor/scalable/apps means most desktops will have 
> one icon that
>     works for all sizes.
It also specifies somewhere that the hicolor icon theme is a must have
as it has to be the "fallback" theme when an icon is missing in the
currently used theme. Gnome at least conforms to that, and I guess KDE
too as the spec was originally created looking at the way KDE handled
icons in the past.

The reason for that is that /usr/share/pixmaps "does not allow for
theming, nor does it allow installing multiple sizes of an icon in
such a way that a using application (like the gnome/kde/xfce
applications menu) can automatically use the correct size depending
upon the size it needs.

With the /usr/share/icons way, if you have a large panel and place a
launcher there you will automatically get the more detailed 32x32
icon, with the /usr/share/pixmaps way you are stuck to whatever size
you've hardcoded in the .desktop file"

So basically, the solution would be to rename those 2 icons in
"wastesedge" (i.e. not using the size in the name) and place them in
${prefix}/share/icons/${size}/ so that menus, panels and such can
automatically pick the correct size.

I don't know what you think about it, but Freedesktop standards are a
great way to have more consistent Linux desktops, which is currently
one of the things the Linux desktop is missing the most (think about
all the icons themes that provide their own icons naming rules so that
when you select it, you have to change icons for specific tasks
manually).

I'll fix this to conform to the Fedora Packaging Guidelines (which
imply conforming to the Freedesktop Standards) but I thought I would
share this as it might as well be corrected upstream (giving me less
work to maintain Waste's Edge in Fedora ^^).

Another remark he made was about the installtation of files in Waste's
Edge. As they are only "data files" and not "built files", it is
important that their timestamp is kept from the dist (I.E. the date of
the file on a system where it was installed must be the same as when
you made the release). This is totally unimportant for Adonthell (as
installed files are built and so their timestamp will the the day it
was built) but it is necessary for Waste's Edge. I'll correct this in
the spec file by adding the following parameter to the "make"
directive: 'INSTALL="install -p"'. If you agree with that, you could
simply add the -p parameter to the Makefile, thus providing this for
all Waste's Edge player and not the Fedoristas ones.

I'll be on IRC tonight so we can discuss this.

Regards,

Mathieu


_______________________________________________
Adonthell-general mailing list
Adonthell-general@nongnu.org
http://lists.nongnu.org/mailman/listinfo/adonthell-general

Reply via email to