The chemical-mime-data project

The source of this project can always be found at the Sourceforge.net project page. SourceForge.net Logo

  1. About the project
  2. Copyright and license
  3. Introduction to the background
  4. Which MIME types are currently supported
  5. Download and Installation
  6. Mailing lists and Contact
  7. How to make use of the MIME type detection
  8. What to do next

About the project

The chemical-mime-data package is a collection of data files to add support for various chemical MIME types on Linux/UNIX desktops, such as KDE and GNOME.

Chemical MIMEs were proposed in 1995, though it seems they have never been registered with IANA. But they are widely used and the project's aim is, to support these important, but unofficial MIME types.

Initial data was taken from »The Chemical MIME Home Page« of Henry Rzepa, but this compilation is written and continuously extended by Egon Willighagen, Daniel Leidert and others (see the distributed AUTHORS and THANKS files for a list of who has contributed to this project).

Copyright © 2004-2006 Egon Willighagen.
Copyright © 2004-2007 Daniel Leidert.

This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version.

This library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Lesser General Public License for more details.

You should have received a copy of the GNU Lesser General Public
License along with this library; if not, write to:

Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA

A full copy of the GNU Lesser General Public License can be found at http://www.gnu.org/licenses/lgpl.html.

Introduction to the background

Newer desktop systems need to know the MIME type to associate applications with it. Writers of chemical applications can, will and make use of this feature too. But there are several systems, which first need to be prepared. During the development of Jmol and CDK we came to the problem, to integrate these applications into the Linux desktop. This issue raised up the chemicalMIME project, which is the forerunner of the chemical-mime-data project.

freedesktop.org project system

Newer GNOME and ROX desktops use the Shared MIME-info Database to determine MIMEs. We provide a file chemical-mime-data.xml, which has to be installed into the database at $XDG_DATA_DIRS/mime/packages and follows the freedesktop.org specification. After running update-mime-database the MIME types are registered. This should work for all systems and applications mentioned here. You will need the shared-mime-info package for your distribution.

To associate an icon for a MIME type, the icon has to be installed into the hicolor-theme and named e.g.:

gnome-mime-chemical-x-xyz.png
gnome-mime-chemical-x-cml.png

The syntax is:

gnome-<icon-type>-<mime-media-type>-</mime-sub-type>.png

If the icon naming scheme follows this direction, the MIME type is automatically associated with the icon.

GNOME <= 2.4

Older GNOME desktops use the ${datadir}/mime-info path with .keys and .mime files to determine MIME stuff. Icons are determined the same way.

KDE < 4

KDE desktops use the ${datadir}/mimelnk path with .desktop files to determine MIME stuff. Icons are determined the same way.

If you need more information, checkout the documentation section of the projects website.

Which MIME types are currently supported

Please check the large table form you can find here. This table is also shipped with the package.

Download and Installation

The latest release can always be found in the download section of the project's website. Make sure to also download the MD5 sum file (.md5) to check the files integrity. For e.g. the .tar.gz tarball check it with:

md5sum -c chemical-mime-data-<version>.tar.gz.md5

To "compile" and install the package, first install:

Then run:

./configure [options you like most here] && make && make install

The last step probably needs root permissions. For a list of configure options, you should run:

./configure --help

Mailing lists and contact

There are currently two mailing lists:

chemical-mime-commits
The VCS commits mailing lists. The list is probably only useful for developers. [Archive]
chemical-mime-devel
The list for developers and interested users wanting to discuss the development of the data package, but also the chemical MIME media type. [Archive]

This is the preferred way to contact us. If you need to contact one of the people involved in the project, check the AUTHORS file for addresses.

How to make use of the MIME type detection

To associate the chemical MIME types with a special application, you need to follow one of the guides:

KDE
http://standards.freedesktop.org/desktop-entry-spec/latest/ (since version 3.3)
http://www.kde.org/areas/sysadmin/fsh.php
http://developer.kde.org/documentation/tutorials/dot/servicemenus.html (Desktop Actions)
GNOME
http://standards.freedesktop.org/desktop-entry-spec/latest/ (since version 2.4)
http://web.archive.org/web/20041024190358/http://www.gnome.org/learn/admin-guide/latest/ch05s03.html (up to version 2.4)
http://www.gnome.org/learn/admin-guide/latest/mimetypes-registering.html
http://www.gnome.org/learn/admin-guide/latest/menustructure-desktopentry.html
http://www.gnome.org/learn/admin-guide/latest/mimetypes-9.html

The desktop-file-utils package contains the command-line tool desktop-file-validate to validate, manipulate and install .desktop files and to update the database, which holds information about applications and associated MIME types.

If you need more information, checkout the documentation section of the projects website.

What to do next

For a list of things, that need to be done in the near future or for later releases, refer to TODO.

If you want to have an overview, which features need to be implemented or which bugs need to be fixed, check the projects tracker page.