Appendix 4.B Prior Art

4.B.1 The freedesktop icon theme and naming specifications #

This chapter is, in outline, freedesktop's: an icon is a name, a theme is a directory that gives names pictures, themes stand in a chain that ends in hicolor, and a standard vocabulary lets one theme restyle a whole desktop. What it drops is the size ladder and the index that the ladder made necessary: with one vector file per name a theme is flat, and there is no icon-theme.cache to rebuild. It also drops the Icon= line of a desktop file as the only way a program gets a name, in favour of the program carrying it.

The name source (§4.5) is not freedesktop's, which gives Documents and Downloads their icons by configured path rather than by name. By name is simpler and needs no configuration, and the editor icon themes that colour a src directory apart from a test one show what it is for.

4.B.2 Windows #

Windows puts the picture in the program: a PE file carries icon resources, a shortcut or a registry DefaultIcon value points at path,index, and the shell extracts what it finds. That gives a raw executable an icon anywhere it is copied, which this chapter keeps by having the program carry a name. It also makes every consumer a parser of executables and every listing an extraction, which is why the shell caches, and why this chapter has the program carry a name and not a picture.

MSIX moved a packaged program's icons out of the binary into image files named in the package manifest, which is the shape this chapter gives a program's own icon: a file installed under a name the program declares.

4.B.3 Design influences #

One resolver. Every source yields a name, and a name becomes a picture in one place, so that a theme restyles programs as well as folders, and so that two consumers on one system cannot disagree about what a file looks like without one of them being wrong.

The owner's word above the program's. user.pgss.icon is consulted before .pgss.icon because an attribute is set on a particular file by whoever has it, and a section is set on every copy by whoever built it. The particular overrides the general, as a custom folder icon overrides the folder icon.

A hint, not a claim. Anyone who owns a file can make it look like anything, as anyone can on any other system. The chapter says so once (§4.5) so that no consumer is built to trust it.

Edit this page