diff options
author | Peter Lewis | 2015-08-19 11:24:55 +0100 |
---|---|---|
committer | Peter Lewis | 2015-08-20 13:07:13 +0100 |
commit | 80371a79fa9053f7faa54d688385195ea402ff2b (patch) | |
tree | d004053656fbffb7f4ab495b82d1da49d334a808 /sidebar-drawing-fix.patch | |
download | aur-80371a79fa9053f7faa54d688385195ea402ff2b.tar.gz |
Initial import
Diffstat (limited to 'sidebar-drawing-fix.patch')
-rw-r--r-- | sidebar-drawing-fix.patch | 165 |
1 files changed, 165 insertions, 0 deletions
diff --git a/sidebar-drawing-fix.patch b/sidebar-drawing-fix.patch new file mode 100644 index 000000000000..4a54a5c3a744 --- /dev/null +++ b/sidebar-drawing-fix.patch @@ -0,0 +1,165 @@ +Common subdirectories: mutt-1.5.22-orig/contrib and mutt-1.5.22/contrib +Common subdirectories: mutt-1.5.22-orig/doc and mutt-1.5.22/doc +Common subdirectories: mutt-1.5.22-orig/imap and mutt-1.5.22/imap +Common subdirectories: mutt-1.5.22-orig/intl and mutt-1.5.22/intl +Common subdirectories: mutt-1.5.22-orig/m4 and mutt-1.5.22/m4 +diff -u mutt-1.5.22-orig/pager.c mutt-1.5.22/pager.c +--- mutt-1.5.22-orig/pager.c 2013-10-31 11:58:17.506721212 +0000 ++++ mutt-1.5.22/pager.c 2013-10-31 11:58:54.513516256 +0000 +@@ -1574,6 +1574,7 @@ + + int bodyoffset = 1; /* offset of first line of real text */ + int statusoffset = 0; /* offset for the status bar */ ++ int statuswidth; + int helpoffset = LINES - 2; /* offset for the help bar. */ + int bodylen = LINES - 2 - bodyoffset; /* length of displayable area */ + +@@ -1792,29 +1793,39 @@ + hfi.ctx = Context; + hfi.pager_progress = pager_progress_str; + ++ statuswidth = COLS - (option(OPTSTATUSONTOP) && PagerIndexLines > 0 ? SidebarWidth : 0); ++ + if (last_pos < sb.st_size - 1) + snprintf(pager_progress_str, sizeof(pager_progress_str), OFF_T_FMT "%%", (100 * last_offset / sb.st_size)); + else + strfcpy(pager_progress_str, (topline == 0) ? "all" : "end", sizeof(pager_progress_str)); + + /* print out the pager status bar */ +- move (statusoffset, 0); ++ if(option(OPTSTATUSONTOP) && PagerIndexLines > 0) { ++ move (statusoffset, 0); ++ } else { ++ //not sure about this ++ move (statusoffset, 0); ++ DrawFullLine = 1; /* for mutt_make_string_info */ ++ } + SETCOLOR (MT_COLOR_STATUS); + + if (IsHeader (extra) || IsMsgAttach (extra)) + { +- size_t l1 = (COLS-SidebarWidth) * MB_LEN_MAX; ++ size_t l1 = statuswidth * MB_LEN_MAX; + size_t l2 = sizeof (buffer); + hfi.hdr = (IsHeader (extra)) ? extra->hdr : extra->bdy->hdr; + mutt_make_string_info (buffer, l1 < l2 ? l1 : l2, NONULL (PagerFmt), &hfi, M_FORMAT_MAKEPRINT); +- mutt_paddstr (COLS-SidebarWidth, buffer); ++ mutt_paddstr (statuswidth, buffer); + } + else + { + char bn[STRING]; + snprintf (bn, sizeof (bn), "%s (%s)", banner, pager_progress_str); +- mutt_paddstr (COLS-SidebarWidth, bn); ++ mutt_paddstr (statuswidth, bn); + } ++ if(!option(OPTSTATUSONTOP) || PagerIndexLines == 0) ++ DrawFullLine = 0; /* reset */ + NORMAL_COLOR; + } + +@@ -1828,9 +1839,10 @@ + /* print out the index status bar */ + menu_status_line (buffer, sizeof (buffer), index, NONULL(Status)); + +- move (indexoffset + (option (OPTSTATUSONTOP) ? 0 : (indexlen - 1)), SidebarWidth); ++ move (indexoffset + (option (OPTSTATUSONTOP) ? 0 : (indexlen - 1)), ++ (option(OPTSTATUSONTOP) ? 0: SidebarWidth)); + SETCOLOR (MT_COLOR_STATUS); +- mutt_paddstr (COLS-SidebarWidth, buffer); ++ mutt_paddstr (COLS - (option(OPTSTATUSONTOP) ? 0 : SidebarWidth), buffer); + NORMAL_COLOR; + } + +Common subdirectories: mutt-1.5.22-orig/po and mutt-1.5.22/po +diff -u mutt-1.5.22-orig/sidebar.c mutt-1.5.22/sidebar.c +--- mutt-1.5.22-orig/sidebar.c 2013-10-31 11:58:17.510054557 +0000 ++++ mutt-1.5.22/sidebar.c 2013-10-31 12:01:11.073953904 +0000 +@@ -47,6 +47,8 @@ + { + BUFFY *tmp = Incoming; + ++ int count = LINES - 2 - (option(OPTHELP) ? 1 : 0); ++ + if ( known_lines != LINES ) { + TopBuffy = BottomBuffy = 0; + known_lines = LINES; +@@ -57,13 +59,11 @@ + if ( TopBuffy == 0 && BottomBuffy == 0 ) + TopBuffy = Incoming; + if ( BottomBuffy == 0 ) { +- int count = LINES - 2 - (menu != MENU_PAGER || option(OPTSTATUSONTOP)); + BottomBuffy = TopBuffy; + while ( --count && BottomBuffy->next ) + BottomBuffy = BottomBuffy->next; + } + else if ( TopBuffy == CurBuffy->next ) { +- int count = LINES - 2 - (menu != MENU_PAGER); + BottomBuffy = CurBuffy; + tmp = BottomBuffy; + while ( --count && tmp->prev) +@@ -71,7 +71,6 @@ + TopBuffy = tmp; + } + else if ( BottomBuffy == CurBuffy->prev ) { +- int count = LINES - 2 - (menu != MENU_PAGER); + TopBuffy = CurBuffy; + tmp = TopBuffy; + while ( --count && tmp->next ) +@@ -136,7 +135,12 @@ + + int draw_sidebar(int menu) { + +- int lines = option(OPTHELP) ? 1 : 0; ++ int lines = 0; ++ int SidebarHeight; ++ ++ if(option(OPTSTATUSONTOP) || option(OPTHELP)) ++ lines++; /* either one will occupy the first line */ ++ + BUFFY *tmp; + #ifndef USE_SLANG_CURSES + attr_t attrs; +@@ -206,7 +210,11 @@ + + /* draw the divider */ + +- for ( ; lines < LINES-1-(menu != MENU_PAGER || option(OPTSTATUSONTOP)); lines++ ) { ++ SidebarHeight = LINES - 1; ++ if(option(OPTHELP) || !option(OPTSTATUSONTOP)) ++ SidebarHeight--; ++ ++ for ( ; lines < SidebarHeight; lines++ ) { + move(lines, SidebarWidth - delim_len); + addstr(NONULL(SidebarDelim)); + #ifndef USE_SLANG_CURSES +@@ -215,7 +223,10 @@ + } + + if ( Incoming == 0 ) return 0; +- lines = option(OPTHELP) ? 1 : 0; /* go back to the top */ ++ ++ lines = 0; ++ if(option(OPTSTATUSONTOP) || option(OPTHELP)) ++ lines++; /* either one will occupy the first line */ + + if ( known_lines != LINES || TopBuffy == 0 || BottomBuffy == 0 ) + calc_boundaries(menu); +@@ -225,7 +236,7 @@ + + SETCOLOR(MT_COLOR_NORMAL); + +- for ( ; tmp && lines < LINES-1 - (menu != MENU_PAGER || option(OPTSTATUSONTOP)); tmp = tmp->next ) { ++ for ( ; tmp && lines < SidebarHeight; tmp = tmp->next ) { + if ( tmp == CurBuffy ) + SETCOLOR(MT_COLOR_INDICATOR); + else if ( tmp->msg_unread > 0 ) +@@ -273,7 +284,7 @@ + lines++; + } + SETCOLOR(MT_COLOR_NORMAL); +- for ( ; lines < LINES-1 - (menu != MENU_PAGER || option(OPTSTATUSONTOP)); lines++ ) { ++ for ( ; lines < SidebarHeight; lines++ ) { + int i = 0; + move( lines, 0 ); + for ( ; i < SidebarWidth - delim_len; i++ ) |