Re: gmc won't figure out filetypes
- From: "Bruce Z. Lysik" <eldrik logrus com>
- To: Philippe Moutarlier <philippe enit fr>
- CC: gnome-list gnome org
- Subject: Re: gmc won't figure out filetypes
- Date: Sun, 07 Feb 1999 11:45:41 -0500
[Philippe sent me some info, and I thought it would be good for the
mailing list in general. At least so people didn't correct me more
than once. :)]
Woo! Thanks for the info! It seems that my gmc isn't reading the
$gnome/share/mime-info directory properly. So I copied it all into a
~/.gnome/mime-info and it worked fine. So atleast I've got the
functionality, and can update my bug report.
On 07 Feb 1999 17:13:36 +0100 Philippe Moutarlier wrote:
> "Bruce Z. Lysik" <eldrik@logrus.com> writes:
>
> > Hi folks! Upgraded to the latest MC, and the bug I reported earlier
> > still exists. (All my filetypes are being registered as text/plain, so
> > Open won't do anything useful.)
> >
> > Of course since noone else has reported it, it just might be my
> > installation. So could people who know better tell me what I could
> > look for to fix this? The path to mc.ext and mc-gnome.ext all have
> > reads privs open. I'm not sure what else to check.
>
> I am just pasting a reply to me about this kind of pb from Miguel. This works
> very well for me :
>
> > I am using gmc version of mv version 4.5.10 and I cannot get any file
> > extension to work properly.
>
> Please note that gmc does not use the regular mechanism of mc for
> finding actions bound to a file.
>
> In the GNOME environment, you use mime-types and you bind actions in a
> mime-action file. I have included a copy of the
> mime-type-handling.txt file from the gnome-libs/devel-docs directory
> in this message.
>
>
> 1. MIME type handling in the GNOME desktop
> ------------------------------------------
>
> MIME types are using to distinguish what sort of operations and
> attributes a file has. The operations are usually things like: how to
> open files of a given mime-type, how to view them, what icon is used
> to display it and so on.
>
> Besides the MIME types, in GNOME, the metadata system is used to
> provide information in a per-file basis (for example, to override the
> defaults of the mime-type).
>
> GNOME uses a number of techniques depending on the speed requirements
> to figure out what the MIME type of a file is. It is possible to get
> the mime-type by only using the filename or if speed is not important,
> by checking the actual file contents (for more information look at the
> gnome-mime.h header file and the accompanying documentation).
>
> There are ways in GNOME to fetch the values bound to a mime-type with
> the routines provided in gnome-mime-info.c.
>
>
> 2. Mapping a filename to a MIME type
> ------------------------------------
>
> To make the GNOME desktop aware of a new MIME type it is necessary to
> install a file with the extension .mime in the $gnome/share/mime-info
> directory or from the ~/.gnome/mime-info directory.
>
> The format is the following:
>
> mime-type-name
> ext[,priority]: ext1 ext2 ext3
> ext[,priority]: ext4
> regex[,priority]: regex1
> regex[,priority]: regex2
>
> where "mime-type-name" is a valid MIME type. For example
> "text/plain".
>
> Multiple ext and regex entries can be provided for this mime-type.
> Please note that the regex keyword only allows one regular expression
> per line, while the ext keyword lets you list a number of extensions
> in the same line.
>
> The priority indicates the number of components that your extension
> matches (the bigger the number, the better). Right now, only
> priorities 1 and 2 are supported.
>
> This is required to distinguish the mime type correctly for situations
> like "emacs.tar.gz", where the .gz could match the "compressed" rule,
> while the real match should be for "tar.gz", so a "tar.gz" would have
> a higher priority
>
> For example, for a vCalendar application, this file would be
> installed:
>
> ------ calendar.mime -------
> application/v-calendar:
> ext: vcf
> -----------------------------
>
> 3. Adding keys to a MIME type
> -----------------------------
>
> To add keys to a mime-type, it is necessary to install a file with the
> extension .keys in the $gnome/share/mime-info directory or from the
> ~/.gnome/mime-info directory.
>
> The file has the following format:
>
> mime-type-match:
> [\[LANG\]]key=value
>
> "mime-type-match" allows you to provide either a full mime-type, or a
> glob expression, for example, you can list "image/gif" for making the
> entries apply to the image/gif mime type or "image/*" if you want the
> keys to apply to all of the images.
>
> The [LANG] part is optional, and it used to provide internationalized
> versions of any strings appearing in the value.
>
> key is the key (a number of keys are standarized) and value is the
> value bound to it.
>
> For example, the GIMP could ship with this file:
>
> ------ gimp.keys --------
> image/*:
> open=gimp %f
>
> image/x-xcf:
> icon-filename=/opt/gimp/share/xcf.png
> -------------------------
>
> This will make the GIMP the handler for the open action. Files of
> type xcf would use the filename pointed in the icon-filename key.
>
> %f gets interpolated with the file name or the list of file names that
> matched this mime-type.
>
> As you can see, a .keys file does not need to provide all of the
> values, it can just provide or override some of the actions.
>
> Note that user defined bindings in .keys file will take precedence
> over system installed files.
>
>
> 4. Default keys
> ---------------
>
> The following keys are recognized in the GNOME desktop:
>
> key action
> ------------------------------------------------------------
>
> open open the give file with this command.
>
> icon-filename points to a filename with the icon
> that should be used to represent files
> of this type
>
> view Command to view the file contents.
>
> ascii-view A command that should be used to do
> an ascii-rendering of the file. Used as
> a fallback by the filemanager if a "view"
> action does not exist.
>
> fm-open file-manager open. If present, the file
> manager will use this action instead of the
> value in open to perform this action (the
> filemanager for example will open archive files
> as if they were directories by using the VFS).
>
> fm-view file-manager view. If present, invoking the
> view opertion on the file manager will use the
> value defined here instead of the value in
> "view".
>
> fm-ascii-view Fallback operation for the file manager as
> well.
>
> Those keys are also queried on the metadata (except in the cases where
> the lookup would be too expensive).
>
> 5. Defining multiple actions
> ----------------------------
>
> Somtimes it is important to provide more than one "open" action. To
> do this, the keys should be specified in the following fashion (The
> same applies to any other key that might need more than one option):
>
> text/plain:
> open=command %f
> open.tag1.Do this and that=this-and-that %f
> open.tag2.Gzip it=gzip %f
> open.tag3.Mail it=mail %{Recipient} < %f
>
> This will define a default action (which woudl invoke "command %f"),
> and three extra open commands:
>
> "Do this and that" -> this-and-that %f
> "Gzip it" -> gzip %f
> "Mail it" -> mail ${Recipient} < %f
>
> Please notice that you have to add a "tag" to every "open" key.
>
> 6. Localizing the texts for a tagged key
> ----------------------------------------
>
> The reason for using the tags, is that they are required to
> distinguish the correct value for internationalization purposes, here
> is how the above example would be translated to spanish:
>
> text/plain:
> open=command %f
> open.tag1.Do this and that=this-and-that %f
> [es]open.tag1.Hacer esto y aquello=this and that %f
> open.tag2.Gzip it=gzip %f
> [es]open.tag2.Comprimir con gzip=gzip %f
> open.tag3.Mail it=mail %{Recipient} < %f
> [es]open.tag3.Enviarlo por correo=mail %{Recipient} < %f
> open.tag4.Example=exampl %f
>
> To the application programmer, if the code is running with LANG=es, he
> will get the following keys: "open", "open.tag1.Hacer esto y aquello",
> "open.tag2.Comprimir con gzip", "open.tag3.Enviarlo por correo" and
> "open.tag4.Example"
>
> If a translation entry were missing, he would get the general
> definition for the default value (in the example above, I did not
> translate the value for open.tag4.
>
>
> Miguel de Icaza (miguel@gnu.org).
>
>
> Miguel.
>
>
--
Bruce Z. Lysik <eldrik@logrus.com> http://www.logrus.com/~eldrik
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]