From Fedora Project Wiki

Revision as of 16:32, 24 May 2008 by Admin (talk | contribs) (1 revision(s))
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

The MIME system in GNOME 2.8 has been changed to match the freedesktop.org standard. In order for an application to register itself with the new MIME system it must install a .desktop file into /usr/share/applications with a MimeType= key containing a semicolon-delimited list of supported MIME types. For instance, a typical .desktop file might look like:

[Desktop Entry] 
Name=Cool Image Viewer
Encoding=UTF-8
Exec=cool-image-viewer %f
MimeType=image/png;image/jpeg;

The Exec= key can contain a substitution variable specifying the type of parameter the application can take. If the application expects a file path to be passed to it then %f should be used. If the application expects a URI then %u should be used. If the application can accept multiple file paths or URIs then the uppercase variants, %F and %U should be used instead, respectively.

In order to refresh the MIME-type/application mapping cache (mimeinfo.cache), the update-desktop-database program must be run after the .desktop file is installed. When packaging programs that register with the new MIME system, it is best to call update-desktop-database from the %post and %postun sections of the RPM's .spec file. Example:

%post
update-desktop-database &> /dev/null || :

%postun
update-desktop-database &> /dev/null || :

The spec file should not Require desktop-file-utils for this (it used to be required in old Fedora Core releases).