Nautilus epiphany integration & file transfers



Hi !

I have been messing with nautilus sources to quickly hack a demo of
nautilus-epiphany integration. The result can be seen on my blog
(pictures+ a little video, the last two posts)

http://raphael.slinckx.net/blog

Now i would like to discuss about some points here.

* Epiphany for the moment must use the mozilla download engine for
various reasons, mainly because you have to deal with cookies,
POST-data, authentification, referers, etc when downloading things,
which epiphany knows (since it's the browser) but not gnome-vfs.

Knowing that, for the moment i just send over dbus notifications about
the download progress, that's quite ugly if you ask, and maybe another
solution can be used, i need help here.

We thought about a gnome-vfs backend which would use for exemple
epiphany:// urls, mozilla writing in a named pipe, and gnomevfs reading
from it and delivering the data to whoever reads in for example
epiphany://download-id. Is that possible, i don't know, but it would
allow a simpler dbus protocol, just telling to nautilus "can you copy
file from epiphany://download-id to download-destination-folder" and
making use of standard nautilus mechanisms.

* Concerning file progresses dialogs, is it envisionnable to replace
them by somthing like in the screenshots ? for all transfers
(moving/copying from/to any kind of source/destination). This has
advantages:

-Operations related to a folder only show up in that particular folder
(goes along with spatial mode)

-No annoying un-closable popup for each transfer you start, they don't
scale up.

-Most of the time i don't want to have  a big window saying basically
"wait, i'm copying files", i just want to know when it's done, and maybe
have a quick look at the progress. Most of the time i just launch an
operation, then forget it, and come to it later. Watching a file
operation progress is loosing time.

-Use of the status bar to what it's there for, giving status, of the
file progress in this case.

-Eye candy, but we don't care, don't we ?

* Finally concerning emblems. You notice that the emblem fills up when
the file is being downloaded. That was a quick hack, cause emblems
shouldn't be used for that, but here are my ideas about that:

- For every file transfer (not only download) show something, a progress
bar, the icon changing from grey to color progressively, a pie filling
up, on the particular icon representing the file. That way you can have
a precise feedback for the progress of that file. Maybe using a text
saying "55% complete", like it is possible now to show the filesize
under the file name.

- Provide a context menu item for an "active file" proposing to cancel
the operation on that file (deleting it would result in the same thing)

So far here are the problems i see with this approach:
-How to cancel a whole job ? maybe a cancel button in the statusbar,
beside the progress bar ?

-How to handle the desktop being shown by nautilus, you don't have any
statusbar ? either fallback on a dialog, or just providing the progress
"emblems" can be enough, you don't do that much transfer to your desktop
except single files.

-Should file operation emblem be recursive (ie. a dir being copied could
show the progress for the entire directory, subdirs only for the content
of subdirs, etc) ?

-Part of these ideas can be implemented in an extension (the emblem
filling, in part at least). Providing a better solution than emblems for
that, somthing built-in, and the statusbar need to modify nautilus core.

My personnal goal would be to have a perfect integration of epiphany
downloads with nautilus in a nice way, that's why i propose the above
enhancements, cause i think not only downloads can profit of these.

What do you think of all this, i personally think it would be a great
step forward for nautilus. I am willing to work on that, but i need
guidance and advices concerning the nautilus architecture, files, etc,
and i don't know if it's possible at all with the way nautilus works !

Raphael

Attachment: signature.asc
Description: This is a digitally signed message part



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