On Sun, Mar 21, 2010 at 8:11 PM, Salomon Sickert <[email protected]> wrote: > Hi, > > I'm a student aiming to get place in the GSoC program. While browsing > http://live.gnome.org/SummerOfCode2009/Ideas and > http://live.gnome.org/SummerOfCode2010/Ideas, I've got following idea: > > Nautilus, Epiphany, Empathy and other programs, which have the ability > to transfer files, could expose the progress of the transfer. This > enables other applications to react accordingly and allows to create > an unified overview on the progress of file transfers. > > I've created a first more detailed draft, which can be viewed on > http://home.in.tum.de/~sickert/file_transfer_progress > > Comments and discussion are appreciated. > > Greetings > > Salomon Sickert
Hi Simon I think this is a good idea. There's a bit more prior art than you have listed, hopefully it can make your life a bit easier There was a project a while back to do exactly what you mentioned, named Mathusalem. See http://live.gnome.org/Mathusalem .. I've not heard anything about the project for years so I take it that it's dead. Not sure if there's any code for it around, or if the originator of the project is still around. I think it would be worth chasing it up to see how far it got though, I'm sure I remember seeing screenshots at some point. Here's the other thing that might be helpful. Christian Hergert has a library called Iris, which is really for multithreaded programming (a bit like Twisted for Python apparently) and it basically lets you schedule tasks to be run asynchronously. I added some stuff to it which lets you set up processes, which are tasks that run on a queue of items. This is relevant because I also wrote some code which provides a progress monitor dialog for IrisTask and IrisProcess objects in a fairly flexible way, using Iris' message passing. If I was going to write your gsoc project, I'd build on top of this work. IrisProgressMonitor is a generic class and it would be fairly easy to write something that fires off the progress information over DBus to your monitoring application. You could subclass IrisTask to make a file transfer class, and a FileTransferProgressMonitor, etc etc. (I did write the progress monitor stuff hoping that someone would use it to do what you're proposing, although I'm far too lazy to do it myself :) If you're interested, my fork of Iris is here: http://github.com/ssssam/iris I sent it to chergert a while ago and he's not merged it, I get the impression he is pretty busy, but the library is very solidly coded and easy to add stuff to. Anyway, I'd like to think that this would be a good starting point instead of building your own libprogress from scratch. I realise it's nicer coding your own lib than someone else's however :) I hope this stuff helps, let me know what you think. Sam -- nautilus-list mailing list [email protected] http://mail.gnome.org/mailman/listinfo/nautilus-list
