Re: Moving "Open with" to the platform

On Tue, Mar 18, 2008 at 4:26 PM, Cosimo Cecchi <anarki lilik it> wrote:
> 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.
>  >
>  > Thoughts?
>  >
>  > Oh my god, this is a nice little project for the Summer of Code... it
>  > would involve figuring out the above, and also changing Firefox to use
>  > it :)
>  Hi Federico,
>  I started working some time ago on a similar request for Epiphany [1],
>  and I think this may be useful to other applications too.
>  On the other hand, there are requests [2] for a Nautilus D-Bus API not
>  just for this task, and it would be a good idea to implement it (maybe
>  even as a standardized spec for file managers?).
>  I also lean towards the D-Bus API, as that would potentially bring much
>  more integration across the desktop, but I have to say that having this
>  in GTK+ could allow creating nicer UIs for this kind of things.
>  [1]
>  [2]

I'm somewhat in agreement with Cosimo here. I think it'd be good for
us to think about developing D-Bus/Nautilus interaction this cycle,
but I'm not sure this is particularly the best use case for it; this
really should be in the toolkit IMO, as it's something that needs to
be a bit different on every platform but is nicely hidden through the
GAppInfo abstraction so it's not a particularly ugly bit to add. And
it's something that applications that run on multiple platforms
definitely need to be able to do (it's in the use case of Firefox,
Epiphany as already stated, cross-platform mail apps, etc). I think
that GTK+ needs to have something like this, even if it's a cleaned up
copy-n-paste job from Nautilus. If it doesn't end up being in Gtk+,
someone who's a lazy developer (like me ;) will eventually make an Egg
widget out of the one in Nautilus, and we'll spend the next few years
trying to kill its propagation throughout the platform after Gtk+'s
got an upgraded version of it, and all of the APIs have changed, etc.

For us Nautilus folk, we should probably start another thread to talk
about replacing the Bonobo Nautilus stuff with D-Bus infrastructure.
The only reason it's worth mentioning in this message is to see what
other application developers would like to see Nautilus expose. I did
some prototype work on this in a git branch when we first discussed
this in IRC a few months ago but at the time I didn't get very far.
Through working on GVFS I've picked up a of understanding here. I'd
love to pick this up as a 2.24 goal. I also think it would be
interesting to hear what applications would like the interface to be
like so we can get a better idea here of what to do. (Perhaps we
should even broaden it further as Cosimo suggests and mail FD.O and
ask everyone what it should look like across desktops?)

Just a few thoughts.

-A. Walton

>  Cheers,
>  Cosimo
>  _______________________________________________
>  gtk-devel-list mailing list
>  gtk-devel-list gnome org

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