It is a nice feature for a software center to allows users the installation of additional input methods. This meta-info specification describes how metadata about input methods should be structured.
Software components providing an input method can ship one or more files in
/usr/share/metainfo/%{id}.metainfo.xml
.
Input method metadata files can – just like all other metainfo files – be translated. See the section about translation for more information.
The input method meta-info file should look like this:
<?xml version="1.0" encoding="UTF-8"?>
<component type="inputmethod">
<id>com.github.ibus.mathwriter-ibus.db</id>
<metadata_license>FSFAP</metadata_license>
<name>Mathwriter</name>
<summary>Math symbols input method</summary>
<description>
<p>
The input method is designed for entering mathematical symbols.
</p>
<p>
Input methods are typing systems allowing users to input complex languages.
They are necessary because these contain too many characters to simply be laid
out on a traditional keyboard.
</p>
</description>
<url type="homepage">https://github.com/mike-fabian/ibus-table-others</url>
</component>
Note that the XML root must have the type
property set to inputmethod
.
This clearly identifies this metainfo document as describing an input method instead of a generic software component.
For input methods, the %{id}
should follow the standard reverse-domain-name scheme.
For the product name part, it is recommended to take the database filename of the input method.
The <metadata_license/>
tag is required. See Section 2.1, “Generic Component” for a description of this tag.
Set a name for your input method.
A short description of the input method described in this metainfo file.
Add a long description of the input method.
Do not assume the format is HTML. Only paragraph, ordered list and unordered list are supported at this time.
A screenshot may be included, showing the input method in use in an application.
Refer to <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 application.
See See <url/> for a description of this tag.
This tag is described for generic components at <provides/> in detail.
You can add one or more children of type <library/>
in case you publish some additional shared libraries.
If not, and there are no public binaries involved, you may omit the provides
tag for input methods.
For a component of type inputmethod
, the following tags are required and must be present:
<id/>, <name/>,
<summary/>, <metadata_license/>.