Firefox should use the same default applications for opening unknown file types as GNOME, ideally through proper integration with GNOME, or at a minimum ship its own matching default settings.
When it needs to ask about, or the user wants to specify, the application to use, this should not be done by offering a filesystem hierarchy browser.
Firefox's current mechanisms for determining which program to run are (a) inconsistent and (b) broken.
The behaviour should be as follows:
- If the file's mime-type can be handled by firefox internally then firefox should do so.
- If it cannot, then firefox should do with the file what Nautilus would do with it except that if that involves executing the file it should want to save it to disk.
- There should be a way to tell firefox `open with ...' which should provide the options
- firefox's internal display engine treating the file as html
- firefox's internal display engine treating the file as text/plain
- save to disk
- same as Nautilus open with.
Getting this correct may not be feasible given the current parlous state of the mime handling system in at least firefox 1.0.7. But we will try to get as close as possible.
This is more a case of looking at the right patches and the source than a BOF. If anyone has more useful information like that below then please provide it.
If completely correct behaviour cannot be achieved with only a reasonably sized patch(set) relative to upstream or Debian, then we will try to do the best we can without excessive divergence.
Comments and suggestions
JeffWaugh: Red Hat have patches, which may be upstream in the 1.5 branch, to integrate with the xdg-mime standard (instead of mailcap). On top of that, we may want to do some mailcap/xdg-mime synchronisation, so that other apps (such as mutt) can take advantage of the xdg-mime information.
MarkShuttleworth: We don't want to see the "do you want to do this by default?" box - just DOIT! If the Red Hat patches don't land, we want to hard code this. (JeffWaugh: ... or fix mailcap, by hardcoding or synchronising.)