Hi. I'm a developer trying to integrate a non-GNOME app with the GNOME
desktop, and i'm having a devil of a time finding docs describing how
to do this. Much of what i have found appears to be rather out of date.
By trial-and-error i've come up with the following files to install
under the mime-info directory:
-------- <gnome-prefix>/share/mime-info/my-mime-type.mime --------
application/x-myvendor-myapplication
ext: myext MYEXT
-------- <gnome-prefix>/share/mime-info/my-mime-type.keys --------
application/x-myvendor-myapplication:
open=myapp %f
edit=myapp %f
view=myapp %f
icon_filename=myapp-icon.png
description=MyApplication Document
default_action_type=application
short_list_application_ids_for_novice_user_level=myapp
short_list_application_ids_for_intermediate_user_level=myapp
short_list_application_ids_for_advanced_user_level=myapp
-------- end --------
'myapp-icon.png' is installed in <gnome-prefix>/share/pixmaps/.
Here are some of the questions i've got:
(1) For the apps listed in
'short_list_application_ids_for_novice_user_level'[*] (and
'..._intermediate_...' and '..._advanced_...': Are the
"application IDs" paths to binaries, or names of desktop files
(e.g., myapp.desktop), or something else? That is, how do they
map to an application?
(2) Why don't absolute path names work for icon_filename? It seems i
have to put a copy of an icon into /usr/share/pixmaps/ in order
for Nautilus to use it. I.e., the following does not seem to
work:
icon_filename=/opt/myapp/share/myapp-icon.png
Doesn't seem to work when double-quoted either:
icon_filename="/opt/myapp/share/myapp-icon.png"
(3) How do i extend a MIME type that may already be defined? For
example, say myapp also reads and writes documents produced by
bobsapp (type application/x-bob-bobsapp). Bobsapp is installed,
and hence has already installed a .mime and .keys file. Is it
sufficient for me to install additional .mime and .keys files, or
am i supposed to edit or replace files installed by bobsapp?
(4) Where can i find up-to-date documentation on MIME types and
GNOME? I can't seem to find any useful information on
developer.gnome.org or by searching on Google, and i'm becoming
rather frustrated. I really don't have time to waste searching
through source code, learning GNOME APIs, or scavenging through
Makefiles. It's hard enough to sift through stuff on
developer.gnome.org (i can't even find a search function there!).
I'd appreciate help, pointers, or even pseudo-philosophical platitudes.
I'm an intelligent, responsible, adult human being, and this shouldn't
be this difficult.
________________
[*] Why the devil such an incredibly long name for a simple field in a
text file? Geez, folks!
--
jim knoble | jmknoble pobox com | http://www.pobox.com/~jmknoble/
(GnuPG fingerprint: 31C4:8AAC:F24E:A70C:4000::BBF4:289F:EAA8:1381:1491)
Attachment:
pgpOKlMoOV9rJ.pgp
Description: PGP signature