<page xmlns="http://projectmallard.org/1.0/"
      type="topic" style="task"
      id="mime-types-application">

  <info>
    <link type="guide" xref="software#management" />
    <link type="seealso" xref="mime-types-application-user" />
    <link type="seealso" xref="mime-types-custom-user" />
    <link type="seealso" xref="mime-types-custom" />
    <revision pkgversion="3.30" date="2019-02-08" status="review"/>

    <credit type="author copyright">
      <name>Petr Kovar</name>
      <email>pknbe@volny.cz</email>
      <years>2014</years>
    </credit>

    <include href="legal.xml" xmlns="http://www.w3.org/2001/XInclude"/>

    <desc>Customize which application opens a specific MIME type.</desc>
  </info>

    <title>Override the default registered application for all users</title>
    <p>
      The <file>/usr/share/applications/mimeapps.list</file> and
      <file>/usr/share/applications/gnome-mimeapps.list</file> files
      specify which application is registered to open specific MIME types by
      default. These files are provided by the distribution.</p>

      <p>To override the system defaults for all users on the system, you
      need to create a <file>/etc/xdg/mimeapps.list</file> or
      <file>/etc/xdg/gnome-mimeapps.list</file> file with a list of MIME types
      for which you want to override the default registered application.</p>

      <note>
      <p>Files located in <file>/etc/xdg/</file> take precedence over files
      found in <file>/usr/share/applications/</file>. Additionally,
      <file>/etc/xdg/gnome-mimeapps.list</file> takes precedence over
      <file>/etc/xdg/mimeapps.list</file>, but can be overridden by the user's
      configuration in <file>~/.config/mimeapps.list</file>.</p>
      </note>

    <steps>
      <title>Override the default registered application for all users</title>
      <item>
        <p>
          Consult the <file>/usr/share/applications/mimeapps.list</file>
          file to determine the MIME types for which you want to change the
          default registered application. For example, the following sample of
          the <file>mimeapps.list</file> file specifies the default
          registered application for the <code>text/html</code> and
          <code>application/xhtml+xml</code> MIME types:
        </p>
        <code>[Default Applications]
text/html=epiphany.desktop
application/xhtml+xml=epiphany.desktop</code>
        <p>
          The default application (<app>Epiphany</app>) is
          defined by specifying its corresponding <file>.desktop</file>
          file (<file>epiphany.desktop</file>). The default location for
          other applications’ <file>.desktop</file> files is
          <file>/usr/share/applications/</file>.
        </p>
      </item>
      <item>
        <p>
          Create the <file>/etc/xdg/mimeapps.list</file>
          file. In the file, specify the MIME types and their corresponding
          default registered applications:
        </p>
        <code>[Default Applications]
text/html=<var>myapplication1.desktop</var>
application/xhtml+xml=<var>myapplication2.desktop</var>

[Added Associations]
text/html=<var>myapplication1.desktop</var>;
application/xhtml+xml=<var>myapplication2.desktop</var>;</code>
      <p>
        This sets the default registered application for the
        <code>text/html</code> MIME type to <code>myapplication1.desktop</code>,
        and the default registered application for the
        <code>application/xhtml+xml</code> MIME type to
        <code>myapplication2.desktop</code>.</p>
        <p>For these settings to function properly, ensure that both the
        <file>myapplication1.desktop</file> and
        <file>myapplication2.desktop</file> files are placed in the
        <file>/usr/share/applications/</file> directory.
      </p>
      </item>
      <item>
        <p>
          You can use the <cmd>gio mime</cmd> command to verify
          that the default registered application has been set correctly:
        </p>
        <screen><output>$ </output><input>gio mime text/html</input>
Default application for “text/html”: myapplication1.desktop
Registered applications:
	myapplication1.desktop
	epiphany.desktop
Recommended applications:
	myapplication1.desktop
	epiphany.desktop</screen>
      </item>
    </steps>
</page>

