1
0
forked from pool/mutt
mutt/COLS-workaround.dif
2016-05-31 12:38:26 +00:00

75 lines
2.3 KiB
Plaintext

Current neomutt sidebar patch does change COLS which does
not work with threadsafe ncurses6. Beside this: do not
bother other non-sidebar users as well make sidebar delimeter
look well.
---
buffy.c | 6 +++---
configure.ac | 8 ++++++++
sidebar.c | 9 ++++++++-
3 files changed, 19 insertions(+), 4 deletions(-)
--- configure.ac
+++ configure.ac 2016-05-31 11:15:58.082946555 +0000
@@ -313,6 +313,14 @@ main ()
if test x$mutt_cv_curses != x/usr; then
LDFLAGS="$LDFLAGS -L${mutt_cv_curses}/lib"
CPPFLAGS="$CPPFLAGS -I${mutt_cv_curses}/include"
+ fi
+ if test -d /usr/include/ncurses5 ; then
+ if test -d /usr/lib64/ncurses5 ; then
+ LDFLAGS="$LDFLAGS -L/usr/lib64/ncurses5"
+ else
+ LDFLAGS="$LDFLAGS -L/usr/lib/ncurses5"
+ fi
+ CPPFLAGS="$CPPFLAGS -I/usr/include/ncurses5"
fi])
AC_CHECK_FUNC(initscr,,[
--- buffy.c
+++ buffy.c 2016-05-31 12:24:04.232839516 +0000
@@ -756,10 +756,10 @@ int mutt_buffy_check (int force)
buffy_check(tmp, &contex_sb);
sb_set_update_time();
}
-#else
- for (tmp = Incoming; tmp; tmp = tmp->next)
- buffy_check(tmp, &contex_sb);
+ else if (!option (OPTSIDEBAR))
#endif
+ for (tmp = Incoming; tmp; tmp = tmp->next)
+ buffy_check(tmp, &contex_sb);
#ifdef USE_NOTMUCH
for (tmp = VirtIncoming; tmp; tmp = tmp->next)
--- sidebar.c
+++ sidebar.c 2016-05-31 11:52:28.873409292 +0000
@@ -643,6 +643,7 @@ draw_divider (int first_row, int num_row
{
/* Calculate the width of the delimiter in screen cells */
int delim_len = mutt_strwidth (SidebarDividerChar);
+ int altchar = 0;
if (delim_len < 1)
return delim_len;
@@ -653,12 +654,18 @@ draw_divider (int first_row, int num_row
if (delim_len > SidebarWidth)
return -1;
+ if (delim_len == 1 && strcmp(SidebarDividerChar, "|") == 0)
+ altchar++;
+
SETCOLOR(MT_COLOR_DIVIDER);
int i;
for (i = 0; i < num_rows; i++) {
move (first_row + i, SidebarWidth - delim_len);
- addstr (NONULL(SidebarDividerChar));
+ if (altchar)
+ addch (ACS_VLINE);
+ else
+ addstr (NONULL(SidebarDividerChar));
}
return delim_len;