[tin-users] Piping/Printing message looks odd TODO

Urs Janßen urs at tin.org
Tue Mar 15 08:04:12 CET 2016


On Mon, Mar 14, 2016 at 08:45:13PM -0400, Glenn Spell wrote:
> For years the following note has been in the tin feed.c file
> concerning the piping and printing messages:
> 
>     /* TODO: looks odd because screen mode is raw */
> 
> For almost fifteen years this has been a problem with tin on NetBSD.
> 
> Here's what the problem looks like when piping a thread:
> 
> Piping... (7/261)  98% Piping... (18/261)  45% Piping... (18/261)  91%
>  (0:00 remaining)Piping... (23/261) 100% Piping... (43/261)  83% Pipin
> g... (47/261)  48% Piping... (47/261)  96% (0:00 remaining)Piping... (
> 54/261)  98% Piping... (55/261)  64% Piping... (56/261)  94% Piping...
> 
> Is there a terminal setting that might affect this issue?

AFAIK no

> As an illustration, the following patch provides me with a workaround
> for this issue.

It doesn't make any differfence here - looks as ugly as always on
x86_64-pc-linux-gnu; ncursesw5.

>  Is there some better way to deal with this issue?

just a guess: if there would have been an easy fix (except per message mode
switching) it would have been implemented right away ...
Maybe Thomas has an idea.

> Index: src/feed.c
> --- tin-2.3.2.orig/src/feed.c   2015-11-22 00:14:30.000000000 +0000
> +++ tin-2.3.2/src/feed.c        2016-03-12 02:26:33.000000000 +0000
> @@ -440,6 +440,8 @@ feed_article(
>  #ifndef DONT_HAVE_PIPING
>                 case FEED_PIPE:
>                         /* TODO: looks odd because screen mode is raw */
> +                       echochar(13);
> +                       clrtoeol();
>                         progress_mesg = fmt_string("%s (%d/%d)", _(txt_piping), counter->total, counter->max);
>                         break;
>  #endif /* !DONT_HAVE_PIPING */
> @@ -447,6 +449,8 @@ feed_article(
>  #ifndef DISABLE_PRINTING
>                 case FEED_PRINT:
>                         /* TODO: looks odd because screen mode is raw */
> +                       echochar(13);
> +                       clrtoeol();
>                         progress_mesg = fmt_string("%s (%d/%d)", _(txt_printing), counter->total, counter->max);
>                         break;
>  #endif /* !DISABLE_PRINTING */
> Index: src/lang.c
> --- tin-2.3.2.orig/src/lang.c   2015-11-22 00:14:30.000000000 +0000
> +++ tin-2.3.2/src/lang.c        2016-03-12 02:25:55.000000000 +0000
> @@ -1141,7 +1141,7 @@ Tin will try to use XHDR XREF instead (s
>         constext txt_articles_printed[] = N_("%d %s printed");
>         constext txt_help_global_print[] = N_("output article/thread/hot/pattern/tagged articles to printer");
>         constext txt_print[] = N_("Print");
> -       constext txt_printing[] = N_("Printing...");
> +       constext txt_printing[] = N_("\rPrinting...");
>  #endif /* !DISABLE_PRINTING */
>  
>  #ifndef DONT_HAVE_PIPING
> @@ -1149,7 +1149,7 @@ Tin will try to use XHDR XREF instead (s
>         constext txt_no_command[] = N_("No command");
>         constext txt_pipe[] = N_("Pipe");
>         constext txt_pipe_to_command[] = N_("Pipe to command [%.*s]> ");
> -       constext txt_piping[] = N_("Piping...");
> +       constext txt_piping[] = N_("\rPiping...");
>  #else
>         constext txt_piping_not_enabled[] = N_("Piping not enabled.");
>  #endif /* !DONT_HAVE_PIPING */
> 




More information about the tin-users mailing list