Default Program | File Association
Tim Ringenbach
omarvo at hotmail.com
Thu Jan 8 06:53:51 EET 2004
> - A shared database of which applications can handle which files is
> useful. This should probably be done by having applications put links to
> their .desktop files in the shared MIME database. Someone needs to work
> on this (see the MIME tutorial for an example of how this might work).
I was thinking more along the lines of a seperate database, perhaps
extracted from the desktop files, for this. It would just say this MIME
type can be handles these ways by these programs, or something along
those lines. On Wed, 2004-01-07 at 10:09, Thomas Leonard wrote: > -
Shared *defaults* don't make a lot of sense. The default GNOME browser
>> isn't the same as the default KDE browser. However, if the database of
>> possibilities only has one possibility, you could set your application
>> to use that as the default (so clicking index.html will use Firebird, if
>> Firebird is the only browser installed).
>
>
> An idea here to set add priorities to the handler list. Epiphany might
> have the priority "GNOME:10", and Konquerer might have the priority
> "KDE:10", and Firebird might have "GNOME:5,KDE:5". When GNOME asks for
> a default, it looks at those with "GNOME" first, and thus Epiphany would
> be returned, as it is the app with the highest "GNOME" priority. (unless
> the user over-rode this in their settings). KDE would get konquerer.
> If, say, Epiphany wasn't installed, then the browser with the highest
> GNOME priority would be Firebird. If that isn't installed either, then
> the result would be Konquerer.
(Hmm, messed up the quoting here, i should get off the digest and on the
real list..) As for as priorities go, I'm thinking what would be better
would be to have multiple files. It would effectively be the same thing,
but cleaner to manage. This is just a rough idea right now. I'm thinking
something along these lines: - A mapping of MIME types to programs (or
perhaps actions by those programs), probably created from the .desktop
files, possibly extending the .desktop files to have the right
information. The programs are basicly in random order in this file. Well
I guess they should be in as sane as order as possible, without trying
too hard. On top of that is a series of overrides files. - An override
file for each environment. This file could be maintained by, and live in
the CVS tree of, the environment it's for, where possible. Such
environments would be stuff like "console", "KDE", "GNOME", "OpenStep",
umm, anything else that provides its own programs really. The order
these are merged in depends on what environment the user is currently
in. This is like the priorities idea, but hopefully easier to maintain.
- An override file provided by the distro. This isn't any different than
the last override files, it's just provided by a different source, and
has priority over it. This way distros can cherry pick apps if they want
without having to hack the desktop environments' files. - Finally, an
override file for user preferences. This is also no different from the
last two, except user changes are stored here, and it has final
authority. All those files would be the same format, and there would be
some scheme to decide which order to merge them in, which would vary
depending on which environment the user is in. The files higher up in
the chain need only specificy stuff not specified lower down. Perhaps
the one I mentioned at the bottom need not exist, and info about KDE
programs is merged straight into the KDE file. There would still need to
be a catchall X11 override below the DE overrides, but above the console
ones, then. There might also be a vender supplied one, between the
distro and user specified levels. It would probably be best if most of
the lower levels could be generated rather than handmaid, perhaps from a
series of smaller files, like the MIME database. --Tim Ringenbach
More information about the xdg
mailing list