The .desktop spec says that you *have* to use either PNG, XPM or SVG images. ICO is *not* supported anywhere I think and it should never be supported since it's a horrible format
Icons are stored in "/usr/share/icons" or "~/.icons" and have the structure:
Code:
<theme>/<size>/<kind>/<long-name>.<ext>
Where:
- theme: The name of the theme, may be any string that doesn't contain "/" afaik.
- size: One of "8x8 16x16 22x22 24x24 32x32 48x48 64x64 128x128 256x256 scalable" (the scalable folder may only contain SVG images)
- kind: One of "actions animations apps categories devices emblems emotes mimetypes places status" (and some more I think; "official" FDF kinds/contexts are: "Actions, Applications, Devices, FileSystems, MimeTypes")
- long-name: The icon's identifier, always lower-case and dash-separated.
- ext: One of "png xpm svg svgz" (svgz == gzipped SVG)
The names of "size" and "kind" folders aren't set in stone; you may change them but must then also update the "index.theme" file in the root of your icon theme (see any icon theme as an example of what I mean):
Code:
[48x48/status]
Context=Status
Size=48
Type=Fixed
[256x256/actions]
Context=Actions
Size=256
MinSize=56
MaxSize=512
Type=Scalable
Pretty basic stuff. Oh and also - there is a fall back chain in the icon theme system, so you can create icon themes that add some icons or else fall back on other icon sets if a specific icon can't be found.
Applications load icons by name, never by file path, so e.g. the icon "preferences-desktop-font-installer" might refer to "/usr/share/icons/oxygen/scalable/apps/preferences-desktop-font-installer.svgz" or "~/.icons/foobar/16x16/apps/preferences-desktop-font-installer.png" or whatever; the application will choose an icon of appropriate size etc. depending on the context.
Read more about the standard here:
http://standards.fre...pec-latest.html