Product SiteDocumentation Site

2.7. Input Methods

2.7.1. Introduction

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.

2.7.2. Example file

The input method meta-info file should look like this:

<?xml version="1.0" encoding="UTF-8"?>
<component type="inputmethod">
  <summary>Math symbols input method</summary>
      The input method is designed for entering mathematical symbols.
      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.
  <url type="homepage"></url>

2.7.3. File specification

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/>.