gnome-vfs-mime-magic.4(4) File Formats gnome-vfs-mime-magic.4(4)NAME
gnome-vfs-mime-magic, gnome-vfs.mime, gnome-vfs.keys - GNOME VFS MIME
detection
DESCRIPTION
GnomeVFS is obsolete. Refer to the GNOME Desktop System Administration
Guide for information about how to register MIME type information with
the GNOME desktop. The GNOME Desktop System Administration Guide can
be viewed with yelp(1).
On any modern desktop system, each document type or file type must be
given a unique identification name and icon. In GNOME, this information
is used extensively by the file manager, nautilus(1). The primary
underlying mechanism for providing such definitions is achieved via
gnome-vfs-mime-magic. gnome-vfs-mime-magic contains the default file
content sniffers for identifying MIME types. The concept of MIME magic
is similar to that of Solaris magic(4).
EXTENDED DESCRIPTION
gnome-vfs-mime-magic
Each line in the /etc/gnome/gnome-vfs-mime-magic file describes a MIME
type. The format of each line is as follows:
offset_start[:offset_end] pattern_type pattern [&pattern_mask] mime-type
Each line contains the following fields:
offset_start Decimal number that, with offset_end, specifies
the bytes offset within the file.
offset_end Decimal number that, with offset_start, speci‐
fies the bytes offset within the file.
pattern_type Can be one of the following types:
byte | short | long | string | date | beshort |
belong | bedate | leshort | lelong | ledate
where be stands for Big Endian and le stands
for Little Endian.
pattern An ASCII string with non-printable characters
escaped as hex or octal escape sequences, and
spaces and other important whitespace escaped
with a backslash (\).
pattern_mask A string of hex digits. The mask must be the
same specification as the non-ambiguous pat‐
terns.
mime-type A valid MIME type.
The magic patterns are matched sequentially from the first entry to the
last entry of the list. Therefore, you should put the non-ambiguous
patterns at the start of the list. Any pattern that requires a deep
seek into the file should be placed at the end of the list to reduce
performance overhead. When designing new document formats, include an
easily recognizable unique magic pattern near the start of the file. A
good pattern is is at least four bytes long and contains one or two
non-printable characters so that text files are not misidentified.
gnome-vfs.mime
and gnome-vfs.keys"
Apart from file sniffing, GNOME also provide a secondary mechanism to
determine MIME types. If a file has been sniffed and its type does not
match any of the magic patterns, GNOME looks for files called
/usr/share/gnome/mime-info/*.mime and processes these. The format of
these files is different to that of pattern magic. Instead of determin‐
ing the MIME type by reading the content of the file, the MIME type of
the file is determined by its extension. The mime info file has the
following format:
mime_type
ext[,prio]: list of extensions for this mime-type
regex[,prio]: regular expression that matches the filename
More than one ext: and regex: field can be present for a given MIME
type. You can also associate a priority for each field. The default
priority (prio) is 1, a higher numerical value indicates a higher pri‐
ority. The indentation before ext: and regex: must be a tab character
(\t).
The searching sequence implies that the magic pattern file has a higher
precedence over the mime info files. As the mime info files are read
alphabetically, this also determines matching orders for the file
extension.
For example, the file FirstFile.mime contains the following definition:
application/foo
ext: foo
and the file SecondFile.mime contains the following definition:
application/mini
ext: foo
The definition in FirstFile.mime will be found first and used.
For each MIME info file there must be an associated keys file in the
same directory. The key file provides human readable text which can be
localized into various languages. The data in these keys files is used
by the GNOME file manager, nautilus(1).
EXAMPLES
Example 1: Magic pattern definition for PDF file
The following entry in the /etc/gnome/gnome-vfs-mime-magic file
describes the MIME type of application/pdf:
0 string %PDF- application/pdf
The first 5 characters of a PDF file are %PDF-. The symbols % and -
differentiate the PDF file from a text file.
Example 2: Magic pattern definition for BMP file
The following entry in the /etc/gnome/gnome-vfs-mime-magic file
describes the MIME type of application/bmp:
0 string BMxxxx 00 00 &0xffff00000000ffff image/bmp
The interpretation of this line is as follows:
· The first two characters are BM and the seventh and eighth charac‐
ters are NULL.
· The mask 0xffff00000000ffff allows the selction of the first, sec‐
ond, seventh, and eighth characters to be selected for comparison.
Example 3: MIME info file definition for application/x-compress
The following entry in the /etc/gnome/gnome-vfs-mime-magic file
describes the MIME type of application/x-compress:
application/x-compress
ext: Z
This line indicates that the x-compress application searches for files
with a .Z extension.
The associated keys file entry in the /usr/share/gnome/mime-info/gnome-
vfs.mime file is as follows (excluding all localized text):
application/x-compress
description=compress-compressed file
icon_filename=gnome-compressed
default_action_type=application
category=Packages
use_category_default=yes
Example 4: MIME info file definition for application/x-compressed-tar
The following entry in the /etc/gnome/gnome-vfs-mime-magic file
describes the MIME type of application/x-compressed-tar:
application/x-compressed-tar
regex,2: tar.gz$
ext: tgz
This example uses the priority flag to give regex a higher priority
than ext, which means that a file with an extension of tar.gz should be
matched first (to have a MIME type of application/x-compressed-tar)
before tgz.
FILES
The following files are used by this application:
/etc/gnome/gnome-vfs-mime-magic
/usr/share/gnome/mime-info/gnome-vfs.mime
/usr/share/gnome/mime-info/gnome-vfs.keys
/usr/share/gnome/mime-info/solaris-gnome2.0.mime
/usr/share/gnome/mime-info/solaris-gnome2.0.keys
ATTRIBUTES
See attributes(5) for descriptions of the following attributes:
┌─────────────────────────────┬─────────────────────────────┐
│ ATTRIBUTE TYPE │ ATTRIBUTE VALUE │
├─────────────────────────────┼─────────────────────────────┤
│Availability │library/gnome/gnome-vfs │
├─────────────────────────────┼─────────────────────────────┤
│Interface stability │Obsolete Volatile │
└─────────────────────────────┴─────────────────────────────┘
SEE ALSOnautilus(1), gnome-vfs.applications(4), libgnomevfs-2(3), gnome-inter‐
faces(5)
Latest version of the GNOME Desktop System Administration Guide for
your platform.
Written by Ghee Teo, Sun Microsystems Inc., 2003.
SunOS 5.11 14 May 2008 gnome-vfs-mime-magic.4(4)