Re: RFP: File chooser user interface



On Fri, Sep 19, 2003 at 06:12:11PM +0200, Magnus Bergman wrote:
> On Fri, 19 Sep 2003 15:22:27 +0100
> Thomas Leonard <tal00r ecs soton ac uk> wrote:
[...]
> > Yes. Actually, the only time I use GTK's open dialog at present is
> > for applications that don't support DnD, since I know I can always
> > drag to it. However, such applications are becoming very rare now.
> > There are just too many users that expect DnD to work.
> 
> Alright, I believe you if you say so. I didn't think the progress had
> reached so far. Great!

Well, opening by DnD always works, since the effect is just to run the
application with the pathname as an argument. Eg, when I drag a text file
onto Galeon on my panel, the panel invokes 'galeon <file>'. This may start
a new copy, or pass the request to an existing one; it doesn't matter to
the user, who just sees a new window open. Every application has to
support this if it wants to be able to be a default application, so
support is universal.

Importing (dragging to an application's window) is a little more flaky,
but generally works as long as the 'hostnames hack' is turned ON (the
default). Different applications respond differently, though:

- Drag a text file into an Edit window, and the contents of the file are
  inserted into the document.

- Drag a text file to a Vim window, and Vim switches to editing that file.

- Drag a text file to a KWord window, and the URI of the file is inserted
  into the document.

Loading from another application works as long as the loader supports '-'
as an argument (so dragging some extracted text from Archive to Vim
works, by passing it on stdin).

Dragging from a remote filer to an application icon works as long as '-'
is supported AND the 'hostnames hack' is turned OFF (not the default).

Dragging between applications usually works for text, but other things are
less likely to be supported (much as with the clipboard).

But opening and importing local files almost always works.

I've put up an essay on the freedesktop.org site detailing some current
issues with DnD (mostly its incorrect implementations rather than missing
support):

	http://pdx.freedesktop.org/Main/Draganddropwarts

[...]
> > Sounds reasonable, although we don't really have a concept of the
> > 'current directory' in our desktop. One possible use might be to
> > switch between editing several files in the same directory (which is
> > related to my 'Open in filemanager' suggestion earlier).
> 
> I was referring to the applications current directory (from users point
> of view, not technically speaking).

Like I say, the user only has a concept of 'windows' rather than 'running
applications' (for ROX anyway), so a per-application current directory
doesn't mean anything. Of course, each document window has a parent
directory (accessed via the Up toolbar button, just like in a filer
window).

[...]
> > Yes, but this is a rare case. If we encourage Open dialogs, then the
> > model is this:
> > 
> > - To open a file in the default editor, use your file manager to
> > locate
> >   it.
> > - To open it in anything else, use an Open dialog to locate it.
> 
> I don't think it's a rare case at all.

For every PNG I drag to galeon's icon, there must be a dozen or more I
load into Gimp... this is what I meant by 'rare'.

But note that the 'rare' case is no slower with DnD that with a normal
open box (assuming you have a quick way to open a filer window; in my case
Ctrl-O would open the Open box, and Ctrl-Tab opens the filer).

> Besides, freedesktop.org (or is it in Gnome alone?) already suggests a
> better solution (at least in my opinion).

What is this? The MIME spec associations stuff? That's still accessed from
the filer.

> > With DnD, the rare case is still very similar to the normal case, just
> > DnD(or select from a menu) from the same window you normally use to
> > open the file. Locating the file is the same whatever you do.
> 
> Yes, this works perfectly (as long as you have a mouse and can feel
> confident that all applications support it).



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