<!-- ##### SECTION Title ##### --> gnome-metadata <!-- ##### SECTION Short_Description ##### --> File metadata information storage. <!-- ##### SECTION Long_Description ##### --> <para> One of the problems that a desktop environment faces is the fact that it is usually necessary to have a mechanism for storing information about a file's properties. For example, applications might want to bind an icon for a specific executable file or bind a small thumbnail image for a graphic produced by a graphics program. These icons should be semantically attached to the main file. </para> <para> The GNOME metadata was implemented by Tom Tromey at Cygnus, given a number of design constraints and tradeoffs (described in detail in <ulink url="http://www.cygnus.com/~tromey/gnome/metadata.html" type="http">[TROMEY]</ulink>). </para> <para> Here is a list of the GNOME metadata features: </para> <itemizedlist> <listitem><para>Binding the information on a per-file basis: This is a per-user setting and each user keeps track of his own bindings. System defaults apply on top of these. </para></listitem> <listitem><para> Binding information by file content: Given the type of the file (using file signatures, similar to the Unix-file(1) command). </para></listitem> <listitem><para>Binding information by a regular expression. For example, a default icon for gif files would be provided by a regular expression "*.\.gif$". </para></listitem> <listitem><para>The metadata system is optimized to provide a coherent GUI solution, rather than as a compromise to kludging existing command line tools. </para></listitem> <listitem><para>Most ordinary uses of files will continue to work without metadata, just as they do now. </para></listitem> </itemizedlist> <para> There are a number of standard properties for file metadata in GNOME, for example: "View" stores the action for viewing the file contents; "Open" stores analogous action for editing; "Icon" which contains the icon used for displaying the file on the desktop. For a complete list of the existing keys see <emphasis>FIXME</emphasis>. </para> <!-- ##### SECTION See_Also ##### --> <para> </para> <!-- ##### ENUM GnomeMetadataError_t ##### --> <para> This describes the errors that can be returned by some gnome-metadata functions. </para> <!-- ##### FUNCTION gnome_metadata_set ##### --> <para> </para> @file: @name: @size: @data: @Returns: <!-- ##### FUNCTION gnome_metadata_remove ##### --> <para> </para> @file: @name: @Returns: <!-- ##### FUNCTION gnome_metadata_list ##### --> <para> </para> @file: @Returns: <!-- ##### FUNCTION gnome_metadata_get ##### --> <para> </para> @file: @name: @size: @buffer: @Returns: <!-- ##### FUNCTION gnome_metadata_get_fast ##### --> <para> </para> @file: @name: @size: @buffer: @Returns: <!-- ##### FUNCTION gnome_metadata_rename ##### --> <para> </para> @from: @to: @Returns: <!-- ##### FUNCTION gnome_metadata_copy ##### --> <para> </para> @from: @to: @Returns: <!-- ##### FUNCTION gnome_metadata_delete ##### --> <para> </para> @file: @Returns: <!-- ##### FUNCTION gnome_metadata_regex_add ##### --> <para> </para> @regex: @key: @size: @data: <!-- ##### FUNCTION gnome_metadata_regex_remove ##### --> <para> </para> @regex: @key: <!-- ##### FUNCTION gnome_metadata_type_add ##### --> <para> </para> @type: @key: @size: @data: <!-- ##### FUNCTION gnome_metadata_type_remove ##### --> <para> </para> @type: @key: <!-- ##### FUNCTION gnome_metadata_lock ##### --> <para> </para> <!-- ##### FUNCTION gnome_metadata_unlock ##### --> <para> </para>