GNOME MIME configuration files
The GNOME system uses MIME types to classify content.
Each MIME type on the GNOME system has a number of
attributes attached to it. Some of these attributes have
a special meaning to the GNOME system.
MIME type of files
There are two ways of classifying a file in the GNOME sys
tem: by matching their extension or a regular expression
with their name or by its content. GNOME applications use
one of those two methods depending on speed contraints and
the specific setup. The MIME types available on the sys
tem can be configured at runtime by putting special files
in either the GNOME MIME directory (/usr/share/mime-info)
or the user ~/.gnome/mime-info directory.
MIME type definition files.
The routines that classify a file by its name, use the
contents of all of the files with the extension .mime from
the /usr/share/mime-info directory and the ~/.gnome/mime-
info to build the database for filename matching. The
latter is supported to enable users to provide their mime
types to extend the system defaults.
Application that wish to install their own MIME types only
need to install a file in this directory.
The file /usr/share/mime-info/gnome.mime is special, as it
contains the defaults for gnome, and is read first. In
addition, the file ~/.gnome/mime-info/user.mime is read
last. This will guarantee that there is a way to set sys
tem defaults, and there is a way for the user to override
them. There is currently no way to tell anything about
the order of the other files in those directories, nor is
there anyway to override system defaults yet.
The format is the following:
mime-type-name
ext[,priority]: ext1 ext2 ext3
ext[,priority]: ext4
regex[,priority]: regex1
regex[,priority]: regex2
where "mime-type-name" is a valid MIME type. For example
"text/plain".
For example, for a vCalendar application, this file would
be installed:
------ calendar.mime -------
ext: vcf
-----------------------------
MIME key information
To add keys to a MIME type, it is necessary to install a
file with the extension .keys in the /usr/share/mime-info
directory or in the ~/.gnome/mime-info directory. The
former is for system-provided mime-information and the
latter is to enable the user to extend the actions as pro
vided by the system.
The file /usr/share/mime-info/gnome.keys is special, as it
contains the defaults for gnome, and is read first. In
addition, the file ~/.gnome/mime-info/user.keys is read
last. This will guarantee that there is a way to set sys
tem defaults, and there is a way for the user to override
them. There is currently no way to tell anything about
the order of the other files in those directories, nor is
there anyway to override system defaults yet.
The .keys files have the following format:
mime-type-match:
[]key=value
Above, the key is the key that is being defined and value
is the value we bind to it. The optional [LANG] repre
sents a language in which this definition is valid. If
this part is specified, then the definition will only be
valid if LANG matches the setting of the environment vari
able LANG. The LANG setting is used to provide keys which
can be displayed to the user in a localized way.
This is an example to bind the key open to all of the
mime-types matching image/* and the icon-filename key is
bound to the /opt/gimp/share/xcf.png value:
image/*:
open=gimp %f
image/x-xcf:
icon-filename=/opt/gimp/share/xcf.png
This will make the GIMP the handler for the open action.
Files of type xcf would use the filename pointed in the
icon-filename key.
%f gets interpolated with the file name or the list of
file names that matched this mime-type.
As you can see from the example above, a .keys file does
not need to provide all of the values, it can just provide
User defined bindings in .keys file will take precedence
over system installed files.
Special key used by the GNOME system
The following keys are currently used in the GNOME desk
top:
open
Open the file with this command.
icon-filename
The filename with the icon that should be used to
represent files of this type.
view
Command to view the file contents.
ascii-view
A command that should be used to do an ascii-ren
dering of the file. Used as a fallback by the
filemanager if a view action does not exist.
fm-open
file-manager open. If present, the file manager
will use this action instead of the value in open
to perform this action (the filemanager for example
will open archive files as if they were directories
by using the VFS).
fm-view
file-manager view. If present, invoking the view
opertion on the file manager will use the value
defined here instead of the value in "view".
fm-ascii-view
Fallback operation for the file manager as well.
Those keys are also queried on the metadata (except in the
cases where the lookup would be too expensive).
AUTHOR
This manual page has been written by Miguel de Icaza
(miguel@gnu.org)
Man(1) output converted with
man2html