Re: Moving "Open with" to the platform

On Tue, 2008-03-18 at 14:02 -0600, Federico Mena Quintero wrote:
> Hi,
> Right now, the "Open with another application" dialog lives in
> nautilus/libnautilus-private/nautilus-open-with-dialog.[ch].  This
> dialog uses the machinery in GIO's GAppInfo to figure out which apps can
> be used to open a file of a certain MIME-type.
> There's a long-standing annoyance in Firefox, where it implements "open
> with" by starting a file chooser in /usr/bin.  Now, if you complain
> about the file chooser *right here* I will ignore your mail :)  My point
> is that it would be nice if the "open with" GUI were available to all
> apps, not just Nautilus.
> We could do a few things:
> * Move nautilus-open-with-dialog.[ch] into GTK+.  From a super-quick
> read of the code, this uses no Nautilus-only stuff except for some of
> libeel's convenience error dialogs, and some "the MIME info changed"
> signal.
> * Leave the dialog in place inside Nautilus, and provide a D-Bus service
> for the "open with" GUI.  I'm 51% leaning towards this option, since
> then this would have a chance of working with a desktop-specific GUI,
> depending on your choice of desktop environment --- aside from promoting
> the use of D-Bus for this kind of stuff.

I think having a dbus api for nautilus is an excellent idea. Suitable
operations include things like:

* list open windows and locations
* open a window
* reload windows showing a location
* modify selection in a window
* modify nautilus metadata like notes and emblems

However, i don't think using this for the open with dialog for other
apps is a good idea. First of all, people may not be using nautilus as
their file manager, and secondly I think the UI will look much nicer if
it integrates well with e.g. firefox instead of spawning something
completely different for that dialog.

All (most?) the hard cross platform specifics are abstracted out by
GAppInfo anyway, so this should be fairly clean GUI code.

[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]