Icon themes as defined in the Freedesktop Icon Theme Specification (https://standards.freedesktop.org/icon-theme-spec/icon-theme-spec-latest.html)
can contain icon-theme
metainfo files to be installed by software centers.
This metainfo specification describes how metadata for icon themes should be structured.
Icon theme packages can ship one or more files in /usr/share/metainfo/%{id}.metainfo.xml
.
Icon theme metadata files can – just like all other metainfo files – be translated. See the section about translation for more information.
A minimal icon theme metainfo file can look like this:
<?xml version="1.0" encoding="utf-8"?>
<component type="icon-theme">
<id>io.git.PapirusIconTheme</id>
<metadata_license>FSFAP</metadata_license>
<project_license>GPL-3.0</project_license>
<name>Papirus</name>
<summary>A free and open source icon theme for Linux, based on the Paper Icon Set</summary>
<description>
<p>
Papirus is a free and open source SVG icon theme for Linux, based on Paper Icon Set
with a lot of new icons and a few extras, like Hardcode-Tray support, KDE colorscheme
support, Folder Color support, and others.
It is available in four variants:
</p>
<ul>
<li>Papirus</li>
<li>Papirus Dark</li>
<li>Papirus Light</li>
<li>ePapirus (for elementary OS and Pantheon Desktop)</li>
</ul>
</description>
<screenshots>
<screenshot type="default">
<image type="source">https://raw.githubusercontent.com/PapirusDevelopmentTeam/papirus-icon-theme/master/preview.png</image>
</screenshot>
</screenshots>
</component>
Note that the XML root must have the type
property set to icon-theme
.
This clearly identifies this metainfo document as describing an icon theme following the Freedesktop specification.
A new metainfo file is required for each variant of the icon theme (one for each index.theme
) to describe
the individual icon themes and allow them to be installed individually.
That is, unless all the different theme variants are designed to be installed together (due to symbolic links between themes or
Inherits
fields in the theme description), in which case only one icon-theme
component is required
to describe the whole icon theme set.
For fonts, the %{id}
must follow the reverse-DNS scheme as described for generic components.
The <metadata_license/>
tag is required. See <metadata_license/> for a description of this tag.
Set a name for the icon theme or set of icon themes intended to be shipped in one bundle.
A short description of the icon theme.
Add a long description of your icon theme.
See the generic component <description/> for a detailed description of this tag.
A screenshot to show off the icon theme.
A good example on how that may look like is the preview image of the Papirus icon theme (https://github.com/PapirusDevelopmentTeam/papirus-icon-theme/blob/master/preview.png).
See the generic component <screenshots/> for a detailed description of this tag.
This is a recommended tag for links of type homepage
.
Links of type homepage
should be a link to the upstream homepage for the icon theme.
See the generic component <url/> for a description of this tag.
For a component of type icon-theme
, the following tags are required and must be present: <id/>, <name/>,
<summary/>, <metadata_license/>.