jwiegley / emacs-async

Simple library for asynchronous processing in Emacs
GNU General Public License v3.0
838 stars 68 forks source link

Dired async should have a progress bar for remote operations #4

Open monsanto opened 12 years ago

monsanto commented 12 years ago

See title. I think Emacs wget does a great job of this (very hard to find elisp, archived here https://github.com/monsanto/wget). A simple way to do this would be to add native commands for remote copying using scp, and associate the output of that command with a buffer.

jwiegley commented 12 years ago

Did you notice that dired items get highlighted, and the highlights disappear as they are completed?

I'm afraid that the nature of Emacs makes such progress bars very hard to achieve. The subordinate Emacs is completely engaged running `copy-file', and so it can't send any feedback to the controlling Emacs.

monsanto commented 12 years ago

Re highlighted items: yes, but that doesn't mean much when pulling a 60mb log from a server (or something)

Right for copy-file, but do you not think the scp method has merits?

jwiegley commented 12 years ago

I suppose that could be done... if we just shuttle all subprocess text from scp back to the parent Emacs, and it inserts it into some kind of status buffer, it should all be pretty transparent.

thierryvolpiatto commented 10 years ago

We have no progress bar but a message in mode-line showing how many jobs are still running, think it is enough, closing.

azzamsa commented 6 years ago

Yes. long time ago I also think about this. Maybe using spinner. But I don't have any clue if this doable in dired.

For now I use dired in mix with rsync.

Yevgnen commented 5 years ago

At least if it has some percentage information, that would be very nice.

thierryvolpiatto commented 5 years ago

It would be nice indeed, but I don't know how to do it reliably. I have a branch that provide a progress reporter with percentage in the mode-line, but it works only for local files, I think I use a wrong approach by checking the amount transferred on destination, perhaps somebody can enlighten me on how to proceed. The best would be to get the speed transfer from kernel (/proc/?) every n seconds and deduce the percentage with this information (on other platforms ???). I can push the branch here if somebody interested.

thierryvolpiatto commented 5 years ago

Done, pushed as progress_reporter.

Capture d’écran_2019-03-23_08-25-06 Capture d’écran_2019-03-23_08-25-23

fu123456 commented 4 years ago

@thierryvolpiatto, you said "Done, pushed as progress_reporter.". Can you share your code? I cannot find any code about this. Thx.

thierryvolpiatto commented 4 years ago

https://github.com/jwiegley/emacs-async/tree/progress_reporter

Not sure if it is still working, was working more or less but was buggy anyway.

dinojr commented 1 year ago

The link you provided is dead. Is it available somewhere else ?

thierryvolpiatto commented 1 year ago

Yes, I think I definitely lost this branch.