summaryrefslogtreecommitdiff
path: root/Specifications
diff options
context:
space:
mode:
authorimirkin <imirkin@web>2015-03-23 10:51:18 -0700
committerwww <iki-www@freedesktop.org>2015-03-23 10:51:18 -0700
commit0b7fd9177743c8fdc9b36f760719ea0d2f05d8b1 (patch)
tree80e596260060f2b7078e0dabcb41732c59c1152e /Specifications
parent5056dfd08ea4e11833a91a35e58ae16a7b2d4f06 (diff)
fix formatting messed up during conversion.
Diffstat (limited to 'Specifications')
-rw-r--r--Specifications/shared-mime-info-spec.mdwn77
1 files changed, 48 insertions, 29 deletions
diff --git a/Specifications/shared-mime-info-spec.mdwn b/Specifications/shared-mime-info-spec.mdwn
index e4f63820..c957376b 100644
--- a/Specifications/shared-mime-info-spec.mdwn
+++ b/Specifications/shared-mime-info-spec.mdwn
@@ -1,4 +1,3 @@
-
[[!toc ]]
**Download:** [[Download the MIME database package|Software/shared-mime-info]]
@@ -12,17 +11,19 @@ For interoperability, it is useful for different programs to use the same databa
Here you will find:
- * A specification which describes how the new system works.
- * A package containing a large number of common MIME types, created by converting the existing KDE and GNOME databases to the new format and merging them together, and software for updating the database.
+* A specification which describes how the new system works.
+* A package containing a large number of common MIME types, created by converting the existing KDE and GNOME databases to the new format and merging them together, and software for updating the database.
+
The system allows the following types of operation:
- * A single place for applications to register information about MIME types:
- * A **text/html** file should be described as an **HTML Page** in **English**.
- * A way for applications to extend the rules for guessing the type of a file:
- * Files with names matching ***.html** are **text/html** files.
- * Files with **<html>** near the start are **text/html** files.
- * The system is extensible, so other specifications can define extra information that can be added to a type:
- * This **.desktop** file provides a way to view **text/html** files.
+* A single place for applications to register information about MIME types:
+ * A **text/html** file should be described as an **HTML Page** in **English**.
+* A way for applications to extend the rules for guessing the type of a file:
+ * Files with names matching ***.html** are **text/html** files.
+ * Files with **<html>** near the start are **text/html** files.
+* The system is extensible, so other specifications can define extra information that can be added to a type:
+ * This **.desktop** file provides a way to view **text/html** files.
+
The system does not provide a mechanism for storing user preferences (Bob likes to view text/html files in Mozilla). See the [[MIME actions specification|Specifications/mime-actions-spec]] for that.
@@ -57,33 +58,51 @@ The [[Git|Infrastructure/git]] module for this code is [[xdg/shared-mime-info|ht
The specification is now quite stable and not expected to change in incompatible ways. Integration with icon themes has not been finalised (and is not currently part of the specification).
- * ROX has used the system since ROX-Filer 1.3.3 (July 2002).
- * GTK has support since version 2.4 (Mar 2004).
- * GNOME uses the system since version 2.8 (Sep 2004).
- * XFCE uses the system since version 4.2.0 (Jan 2005).
- * KDE uses the system since version 4.0 (Jan 2007).
- * LXDE has used the system since the initial release of PCManFM (2005).
- * EDE uses the system since version 2.0-alpha (Apr 2009, but implemented in May 2007).
+* ROX has used the system since ROX-Filer 1.3.3 (July 2002).
+* GTK has support since version 2.4 (Mar 2004).
+* GNOME uses the system since version 2.8 (Sep 2004).
+* XFCE uses the system since version 4.2.0 (Jan 2005).
+* KDE uses the system since version 4.0 (Jan 2007).
+* LXDE has used the system since the initial release of PCManFM (2005).
+* EDE uses the system since version 2.0-alpha (Apr 2009, but implemented in May 2007).
+
Current issues keeping this as 'draft' are:
- * The Desktop Base Directory Specification, which this relies on, is still a draft.
+* The Desktop Base Directory Specification, which this relies on, is still a draft.
### Full specification
- * Version 0.11 - [[html (one page)|http://standards.freedesktop.org/shared-mime-info-spec/shared-mime-info-spec-0.11.html]] - [[html (multiple pages)|http://standards.freedesktop.org/shared-mime-info-spec/0.11/]] - [[xml|http://standards.freedesktop.org/shared-mime-info-spec/shared-mime-info-spec-0.11.xml]]
- * Version 0.12 - [[html (one page)|http://standards.freedesktop.org/shared-mime-info-spec/shared-mime-info-spec-0.12.html]] - [[html (multiple pages)|http://standards.freedesktop.org/shared-mime-info-spec/0.12/]] - [[xml|http://standards.freedesktop.org/shared-mime-info-spec/shared-mime-info-spec-0.12.xml]]
- * Version 0.13 - [[html (one page)|http://standards.freedesktop.org/shared-mime-info-spec/shared-mime-info-spec-0.13.html]] - [[html (multiple pages)|http://standards.freedesktop.org/shared-mime-info-spec/0.13/]] - [[xml|http://standards.freedesktop.org/shared-mime-info-spec/shared-mime-info-spec-0.13.xml]]
- * Version 0.14 - [[html (one page)|http://standards.freedesktop.org/shared-mime-info-spec/shared-mime-info-spec-0.14.html]] - [[html (multiple pages)|http://standards.freedesktop.org/shared-mime-info-spec/0.14/]] - [[xml|http://standards.freedesktop.org/shared-mime-info-spec/shared-mime-info-spec-0.14.xml]]
- * Version 0.15 - [[html (one page)|http://standards.freedesktop.org/shared-mime-info-spec/shared-mime-info-spec-0.15.html]] - [[html (multiple pages)|http://standards.freedesktop.org/shared-mime-info-spec/0.15/]] - [[xml|http://standards.freedesktop.org/shared-mime-info-spec/shared-mime-info-spec-0.15.xml]]
- * Version 0.16 - [[html (one page)|http://standards.freedesktop.org/shared-mime-info-spec/shared-mime-info-spec-0.16.html]] - [[html (multiple pages)|http://standards.freedesktop.org/shared-mime-info-spec/0.16/]] - [[xml|http://standards.freedesktop.org/shared-mime-info-spec/shared-mime-info-spec-0.16.xml]]
- * Version 0.17 - [[html (one page)|http://standards.freedesktop.org/shared-mime-info-spec/shared-mime-info-spec-0.17.html]] - [[html (multiple pages)|http://standards.freedesktop.org/shared-mime-info-spec/0.17/]] - [[xml|http://standards.freedesktop.org/shared-mime-info-spec/shared-mime-info-spec-0.17.xml]]
- * Version 0.18 - [[html (one page)|http://standards.freedesktop.org/shared-mime-info-spec/shared-mime-info-spec-0.18.html]] - [[html (multiple pages)|http://standards.freedesktop.org/shared-mime-info-spec/0.18/]] - [[xml|http://standards.freedesktop.org/shared-mime-info-spec/shared-mime-info-spec-0.18.xml]]
- * [[History and related systems|Specifications/OtherSystems]]
+* Version 0.11 - [[html (one page)|http://standards.freedesktop.org/shared-mime-info-spec/shared-mime-info-spec-0.11.html]] - [[html (multiple pages)|http://standards.freedesktop.org/shared-mime-info-spec/0.11/]] - [[xml|http://standards.freedesktop.org/shared-mime-info-spec/shared-mime-info-spec-0.11.xml]]
+* Version 0.12 - [[html (one page)|http://standards.freedesktop.org/shared-mime-info-spec/shared-mime-info-spec-0.12.html]] - [[html (multiple pages)|http://standards.freedesktop.org/shared-mime-info-spec/0.12/]] - [[xml|http://standards.freedesktop.org/shared-mime-info-spec/shared-mime-info-spec-0.12.xml]]
+* Version 0.13 - [[html (one page)|http://standards.freedesktop.org/shared-mime-info-spec/shared-mime-info-spec-0.13.html]] - [[html (multiple pages)|http://standards.freedesktop.org/shared-mime-info-spec/0.13/]] - [[xml|http://standards.freedesktop.org/shared-mime-info-spec/shared-mime-info-spec-0.13.xml]]
+* Version 0.14 - [[html (one page)|http://standards.freedesktop.org/shared-mime-info-spec/shared-mime-info-spec-0.14.html]] - [[html (multiple pages)|http://standards.freedesktop.org/shared-mime-info-spec/0.14/]] - [[xml|http://standards.freedesktop.org/shared-mime-info-spec/shared-mime-info-spec-0.14.xml]]
+* Version 0.15 - [[html (one page)|http://standards.freedesktop.org/shared-mime-info-spec/shared-mime-info-spec-0.15.html]] - [[html (multiple pages)|http://standards.freedesktop.org/shared-mime-info-spec/0.15/]] - [[xml|http://standards.freedesktop.org/shared-mime-info-spec/shared-mime-info-spec-0.15.xml]]
+* Version 0.16 - [[html (one page)|http://standards.freedesktop.org/shared-mime-info-spec/shared-mime-info-spec-0.16.html]] - [[html (multiple pages)|http://standards.freedesktop.org/shared-mime-info-spec/0.16/]] - [[xml|http://standards.freedesktop.org/shared-mime-info-spec/shared-mime-info-spec-0.16.xml]]
+* Version 0.17 - [[html (one page)|http://standards.freedesktop.org/shared-mime-info-spec/shared-mime-info-spec-0.17.html]] - [[html (multiple pages)|http://standards.freedesktop.org/shared-mime-info-spec/0.17/]] - [[xml|http://standards.freedesktop.org/shared-mime-info-spec/shared-mime-info-spec-0.17.xml]]
+* Version 0.18 - [[html (one page)|http://standards.freedesktop.org/shared-mime-info-spec/shared-mime-info-spec-0.18.html]] - [[html (multiple pages)|http://standards.freedesktop.org/shared-mime-info-spec/0.18/]] - [[xml|http://standards.freedesktop.org/shared-mime-info-spec/shared-mime-info-spec-0.18.xml]]
+* [[History and related systems|Specifications/OtherSystems]]
### Current implementors
- * [[xdgmime|http://cgit.freedesktop.org/xdg/xdgmime/]]: Reference implementation of the spec. It is dual licensed under the GNU-LGPL and AFL v2.0. It has no dependencies and is written in straight C. It is intended to be included by other libraries that want to support the standard. [[libxdg|https://github.com/vilkov/libxdg/wiki]]: This is a fork of the xdgmime library with additional implementation of [[MIME actions specification|Specifications/mime-actions-spec]], [[Desktop entry specification|Specifications/desktop-entry-spec]], [[Icon theme specification|Specifications/icon-theme-spec]] and [[Icon naming specification|Specifications/icon-naming-spec]]. It is dual licensed under the GNU-LGPL and AFL v2.0. It has no dependencies and is written in straight C. It is intended to be included by other libraries that want to support the standard. [[libsharedmime|http://www.memecode.com/libsharedmime.php]]: Another shared library to query the database. [[KDE|http://www.kde.org/]]: The KDE libraries implement the MIME spec to provide MIME information to all KDE applications. [[GTK+ file selector|http://www.gtk.org/]]: The new file selector in GTK+-2.4 uses the MIME spec to determine icons in it. [[MIME-Editor|http://rox.sourceforge.net/desktop/MIME-Editor]]: Graphical editor with a GTK interface, written in python. [[Perl module File::MimeInfo|http://search.cpan.org/search?query=File%3A%3AMimeInfo&mode=module]](CPAN): Provides a simple Perl interface to query the database. [[PHP library|http://www.liacs.nl/~dvbeelen/MIME.php.txt]]: Provides a simple PHP5 interface to query the database. [[ROX-Lib|http://rox.sourceforge.net/desktop/ROX-Lib]]: Provides a Python module to query the database. [[ROX-Filer|http://rox.sourceforge.net/desktop/ROX-Filer]]: Graphical file manager which uses the database to match filenames and provide textual descriptions for each type. [[gnome-vfs|http://www.gnome.org/]]: The GNOME VFS library provides mime information to all GNOME applications. [[Ruby library|http://code-monkey.de/?mime_info_rb]]: A Ruby module to query the database. [[jmimeinfo|http://hedges.net/archives/2006/11/08/java-shared-mime-info/]]: A Java library to query the database. [[PCManFM|http://pcmanfm.sourceforge.net/]]: Lightweight graphical file manager with tab-browsing which uses the database for all mime-type handling of files. There is a small GPL'd lib called libmimetype included in the source code of PCManFM. [[EDE|http://equinox-project.org]]: EDE library (edelib) provides mime information to all EDE specific applications.
+* [[xdgmime|http://cgit.freedesktop.org/xdg/xdgmime/]]: Reference implementation of the spec. It is dual licensed under the GNU-LGPL and AFL v2.0. It has no dependencies and is written in straight C. It is intended to be included by other libraries that want to support the standard.
+* [[libxdg|https://github.com/vilkov/libxdg/wiki]]: This is a fork of the xdgmime library with additional implementation of [[MIME actions specification|Specifications/mime-actions-spec]], [[Desktop entry specification|Specifications/desktop-entry-spec]], [[Icon theme specification|Specifications/icon-theme-spec]] and [[Icon naming specification|Specifications/icon-naming-spec]]. It is dual licensed under the GNU-LGPL and AFL v2.0. It has no dependencies and is written in straight C. It is intended to be included by other libraries that want to support the standard.
+* [[libsharedmime|http://www.memecode.com/libsharedmime.php]]: Another shared library to query the database.
+* [[KDE|http://www.kde.org/]]: The KDE libraries implement the MIME spec to provide MIME information to all KDE applications.
+* [[GTK+ file selector|http://www.gtk.org/]]: The new file selector in GTK+-2.4 uses the MIME spec to determine icons in it.
+* [[MIME-Editor|http://rox.sourceforge.net/desktop/MIME-Editor]]: Graphical editor with a GTK interface, written in python.
+* [[Perl module File::MimeInfo|http://search.cpan.org/search?query=File%3A%3AMimeInfo&mode=module]](CPAN): Provides a simple Perl interface to query the database.
+* [[PHP library|http://www.liacs.nl/~dvbeelen/MIME.php.txt]]: Provides a simple PHP5 interface to query the database.
+* [[ROX-Lib|http://rox.sourceforge.net/desktop/ROX-Lib]]: Provides a Python module to query the database.
+* [[ROX-Filer|http://rox.sourceforge.net/desktop/ROX-Filer]]: Graphical file manager which uses the database to match filenames and provide textual descriptions for each type.
+* [[gnome-vfs|http://www.gnome.org/]]: The GNOME VFS library provides mime information to all GNOME applications.
+* [[Ruby library|http://code-monkey.de/?mime_info_rb]]: A Ruby module to query the database.
+* [[jmimeinfo|http://hedges.net/archives/2006/11/08/java-shared-mime-info/]]: A Java library to query the database.
+* [[PCManFM|http://pcmanfm.sourceforge.net/]]: Lightweight graphical file manager with tab-browsing which uses the database for all mime-type handling of files. There is a small GPL'd lib called libmimetype included in the source code of PCManFM.
+* [[EDE|http://equinox-project.org]]: EDE library (edelib) provides mime information to all EDE specific applications.
### Links to other specifications
- * [[Base directory specification|Specifications/basedir-spec]]: This is used to locate the MIME database. It lets the user override the system settings, and the system settings override the distribution settings. [[MIME actions specification|Specifications/mime-actions-spec]]: This specification describes how applications should be associated with MIME types. This covers both recording that an application is capable of opening files of a particular type, and configuring which application should be the default. [[Desktop entry specification|Specifications/desktop-entry-spec]]: There needs to be a way to indicate which applications can handle a file of a particular type. In the future, this will probably take the form of a link to a .desktop file, as shown in the tutorial above. [[Icon theme specification|Specifications/icon-theme-spec]]: This can be used to locate an icon to represent a given MIME type. The icon name is of the form **media-subtype** (for example: **text-plain**). If no specific icon is found, fallback to **media-x-generic** (eg, **text-x-generic**). See also the [[Icon naming specification|Specifications/icon-naming-spec]]. MIME type icon naming follows the proposal outlined in [[this thread|http://thread.gmane.org/gmane.comp.freedesktop.xdg/6680]]. [[A previous proposal|http://thread.gmane.org/gmane.comp.freedesktop.xdg/669/focus=832]] included a colon character which would have been problematic on Windows and MacOS X file systems. \ No newline at end of file
+* [[Base directory specification|Specifications/basedir-spec]]: This is used to locate the MIME database. It lets the user override the system settings, and the system settings override the distribution settings.
+* [[MIME actions specification|Specifications/mime-actions-spec]]: This specification describes how applications should be associated with MIME types. This covers both recording that an application is capable of opening files of a particular type, and configuring which application should be the default.
+* [[Desktop entry specification|Specifications/desktop-entry-spec]]: There needs to be a way to indicate which applications can handle a file of a particular type. In the future, this will probably take the form of a link to a .desktop file, as shown in the tutorial above.
+* [[Icon theme specification|Specifications/icon-theme-spec]]: This can be used to locate an icon to represent a given MIME type. The icon name is of the form **media-subtype** (for example: **text-plain**). If no specific icon is found, fallback to **media-x-generic** (eg, **text-x-generic**). See also the [[Icon naming specification|Specifications/icon-naming-spec]]. MIME type icon naming follows the proposal outlined in [[this thread|http://thread.gmane.org/gmane.comp.freedesktop.xdg/6680]]. [[A previous proposal|http://thread.gmane.org/gmane.comp.freedesktop.xdg/669/focus=832]] included a colon character which would have been problematic on Windows and MacOS X file systems.