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