diff options
Diffstat (limited to 'mail-client/mutt-kz/files/mutt-kz-0_pre20120627-progress-bar.patch')
-rw-r--r-- | mail-client/mutt-kz/files/mutt-kz-0_pre20120627-progress-bar.patch | 123 |
1 files changed, 123 insertions, 0 deletions
diff --git a/mail-client/mutt-kz/files/mutt-kz-0_pre20120627-progress-bar.patch b/mail-client/mutt-kz/files/mutt-kz-0_pre20120627-progress-bar.patch new file mode 100644 index 000000000..67629a00e --- /dev/null +++ b/mail-client/mutt-kz/files/mutt-kz-0_pre20120627-progress-bar.patch @@ -0,0 +1,123 @@ +Adds the Gentoo specific progress bar that is used in Gentoo's Mutt guide. +Proposed upstreams in https://github.com/karelzak/mutt-kz/pull/23 +diff --git a/PATCHES b/PATCHES +index e69de29..785edd0 100644 +--- a/PATCHES ++++ b/PATCHES +@@ -0,0 +1 @@ ++patch-1.5.20hg.pdmef.progress.vl.2 +diff --git a/color.c b/color.c +index 9a3a552..f7db847 100644 +--- a/color.c ++++ b/color.c +@@ -96,6 +96,7 @@ static const struct mapping_t Fields[] = + { "sidebar_new", MT_COLOR_NEW }, + { "sidebar_flagged", MT_COLOR_FLAGGED }, + { "sidebar", MT_COLOR_SIDEBAR }, ++ { "progress", MT_COLOR_PROGRESS }, + { NULL, 0 } + }; + +diff --git a/curs_lib.c b/curs_lib.c +index e5a0113..c5ee2e6 100644 +--- a/curs_lib.c ++++ b/curs_lib.c +@@ -390,6 +390,52 @@ void mutt_progress_init (progress_t* progress, const char *msg, + mutt_progress_update (progress, 0, 0); + } + ++static void message_bar (int percent, const char *fmt, ...) ++{ ++ va_list ap; ++ char buf[STRING], buf2[STRING]; ++ int w = percent * COLS / 100; ++ size_t l; ++ ++ va_start (ap, fmt); ++ vsnprintf (buf, sizeof (buf), fmt, ap); ++ l = mutt_strwidth (buf); ++ va_end (ap); ++ ++ mutt_format_string(buf2, sizeof (buf2), ++ 0, COLS-2, FMT_LEFT, 0, buf, sizeof (buf), 0); ++ ++ move (LINES - 1, 0); ++ ++ if (l < w) ++ { ++ SETCOLOR(MT_COLOR_PROGRESS); ++ addstr (buf2); ++ w -= l; ++ while (w--) ++ addch(' '); ++ SETCOLOR(MT_COLOR_NORMAL); ++ clrtoeol (); ++ mutt_refresh(); ++ } ++ else ++ { ++ size_t bw; ++ char ch; ++ int off = mutt_wstr_trunc (buf2, sizeof (buf2), w, &bw); ++ ++ ch = buf2[off]; ++ buf2[off] = 0; ++ SETCOLOR(MT_COLOR_PROGRESS); ++ addstr (buf2); ++ buf2[off] = ch; ++ SETCOLOR(MT_COLOR_NORMAL); ++ addstr (&buf2[off]); ++ clrtoeol (); ++ mutt_refresh(); ++ } ++} ++ + void mutt_progress_update (progress_t* progress, long pos, int percent) + { + char posstr[SHORT_STRING]; +@@ -440,16 +486,16 @@ void mutt_progress_update (progress_t* progress, long pos, int percent) + + if (progress->size > 0) + { +- mutt_message ("%s %s/%s (%d%%)", progress->msg, posstr, progress->sizestr, +- percent > 0 ? percent : +- (int) (100.0 * (double) progress->pos / progress->size)); ++ message_bar (percent > 0 ? percent : (int) (100.0 * (double) progress->pos / progress->size), ++ "%s %s/%s (%d%%)", progress->msg, posstr, progress->sizestr, ++ percent > 0 ? percent : (int) (100.0 * (double) progress->pos / progress->size)); + } + else + { + if (percent > 0) +- mutt_message ("%s %s (%d%%)", progress->msg, posstr, percent); ++ message_bar (percent, "%s %s (%d%%)", progress->msg, posstr, percent); + else +- mutt_message ("%s %s", progress->msg, posstr); ++ mutt_message ("%s %s", progress->msg, posstr); + } + } + +diff --git a/doc/manual.xml.head b/doc/manual.xml.head +index 0d95886..025af03 100644 +--- a/doc/manual.xml.head ++++ b/doc/manual.xml.head +@@ -2641,6 +2641,7 @@ specify one or the other). + <listitem><para>markers (the <quote>+</quote> markers at the beginning of wrapped lines in the pager)</para></listitem> + <listitem><para>message (informational messages)</para></listitem> + <listitem><para>normal</para></listitem> ++<listitem><para>progress (visual progress bar)</para></listitem> + <listitem><para>quoted (text matching <link linkend="quote-regexp">$quote_regexp</link> in the body of a message)</para></listitem> + <listitem><para>quoted1, quoted2, ..., quoted<emphasis>N</emphasis> (higher levels of quoting)</para></listitem> + <listitem><para>search (highlighting of words in the pager)</para></listitem> +diff --git a/mutt_curses.h b/mutt_curses.h +index cb1acf2..b915fd7 100644 +--- a/mutt_curses.h ++++ b/mutt_curses.h +@@ -128,6 +128,7 @@ enum + MT_COLOR_SIDEBAR, + MT_COLOR_UNDERLINE, + MT_COLOR_INDEX, ++ MT_COLOR_PROGRESS, + MT_COLOR_NEW, + MT_COLOR_FLAGGED, + MT_COLOR_MAX |