--- mutt.h.orig Fri Jun 4 13:35:59 2004
+++ mutt.h Fri Jun 4 13:49:26 2004
@@ -350,6 +350,7 @@
OPTBEEPNEW,
OPTBOUNCEDELIVERED,
OPTCHECKNEW,
+ OPTCOLORAFTEREOL,
OPTCOLLAPSEUNREAD,
OPTCONFIRMAPPEND,
OPTCONFIRMCREATE,
--- init.h.orig Fri Jun 4 13:35:56 2004
+++ init.h Fri Jun 4 13:45:43 2004
@@ -315,6 +315,12 @@
** \fIcheck_new\fP is \fIunset\fP, no check for new mail is performed
** while the mailbox is open.
*/
+ { "color_after_eol", DT_BOOL, R_NONE, OPTCOLORAFTEREOL, 1 },
+ /*
+ ** .pp
+ ** When \fIset\fP, Mutt will color a line after the last character extending
+ ** to the end of the window.
+ */
{ "collapse_unread", DT_BOOL, R_NONE, OPTCOLLAPSEUNREAD, 1 },
/*
** .pp
--- pager.c.orig Sat Jun 5 09:13:33 2004
+++ pager.c Sat Jun 5 09:12:31 2004
@@ -1392,7 +1392,7 @@
* ncurses does an implicit clrtoeol() when you do addch('\n') so we have
* to make sure to reset the color *after* that
*/
- if (flags & M_SHOWCOLOR)
+ if (option (OPTCOLORAFTEREOL) && (flags & M_SHOWCOLOR))
{
m = ((*lineInfo)[n].continuation) ? ((*lineInfo)[n].syntax)[0].first : n;
if ((*lineInfo)[m].type == MT_COLOR_HEADER)
@@ -1406,6 +1406,16 @@
#endif
}
+ /*
+ * reset the color back to normal. This *must* come before the
+ * addch('\n') for the color not to be filled to the right margin.
+ */
+ if (!option (OPTCOLORAFTEREOL) && (flags & M_SHOWCOLOR))
+ {
+ SETCOLOR(MT_COLOR_NORMAL);
+ BKGDSET(MT_COLOR_NORMAL);
+ }
+
/* ncurses always wraps lines when you get to the right side of the
* screen, but S-Lang seems to only wrap if the next character is *not*
* a newline (grr!).
@@ -1420,7 +1430,7 @@
* addch('\n'), otherwise the color for this line will not be
* filled to the right margin.
*/
- if (flags & M_SHOWCOLOR)
+ if (option (OPTCOLORAFTEREOL) && (flags & M_SHOWCOLOR))
{
SETCOLOR(MT_COLOR_NORMAL);
BKGDSET(MT_COLOR_NORMAL);