diff options
author | imirkin <imirkin@web> | 2015-03-23 10:51:18 -0700 |
---|---|---|
committer | www <iki-www@freedesktop.org> | 2015-03-23 10:51:18 -0700 |
commit | 0b7fd9177743c8fdc9b36f760719ea0d2f05d8b1 (patch) | |
tree | 80e596260060f2b7078e0dabcb41732c59c1152e /Specifications | |
parent | 5056dfd08ea4e11833a91a35e58ae16a7b2d4f06 (diff) |
fix formatting messed up during conversion.
Diffstat (limited to 'Specifications')
-rw-r--r-- | Specifications/shared-mime-info-spec.mdwn | 77 |
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. |