I remember this same issue being raised not so much ago, which ended up in a
wontfix. However, now that we have something to set up and run, something clear
to test, maybe the results are acceptable :D
Sent from my smartphone. Excuse my brevity.
---- Christian Neukirchen escribió ----
>Hi,
>
>Sometimes I start wget, but the remote site is too slow, so I rather
>want to run it in background, however when I simply use job control
>for that, wget will keep spewing the progress bar all over my
>terminal. I have found the SIGHUP/SIGUSR1 feature to redirect output
>to a log file, but I think the following small patch is even more
>useful, since the progress bar will simply resume when wget is
>foregrounded again (also, the final message is still printed to the
>terminal in any case):
>
>--- src/progress.c
>+++ src/progress.c
>@@ -1179,10 +1179,12 @@ create_image (struct bar_progress *bp, double
>dl_total_time, bool done)
> static void
> display_image (char *buf)
> {
>- bool old = log_set_save_context (false);
>- logputs (LOG_PROGRESS, "\r");
>- logputs (LOG_PROGRESS, buf);
>- log_set_save_context (old);
>+ if (tcgetpgrp (fileno (stderr)) == getpid ()) {
>+ bool old = log_set_save_context (false);
>+ logputs (LOG_PROGRESS, "\r");
>+ logputs (LOG_PROGRESS, buf);
>+ log_set_save_context (old);
>+ }
> }
>
> static void
>
>This probably needs some guards for portability to all platforms.
>Only tested on Linux 4.1 so far.
>
>Opinions?
>
>--
>Christian Neukirchen <[email protected]> http://chneukirchen.org
>