Thanks, the patch has been pushed.
Regards, Tim
On Wednesday 09 September 2015 10:03:14 Tim Ruehsen wrote:
> Thanks, Christian.
>
> I made a few tests (on Linux) with --progress=bar, ctrl-z + 'bg'. Than put
> wget to foreground again with 'fg'. Doing it again and again with a good
> user experience from my side.
>
> A very short and elegant patch !
>
> If nobody complains, I'll push it.
>
> Regards, Tim
>
> On Tuesday 08 September 2015 16:29:18 Christian Neukirchen wrote:
> > 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?