X-Git-Url: http://git.madism.org/?p=apps%2Fmadmutt.git;a=blobdiff_plain;f=compose.c;h=9e0ebccfba981a3748c0b671c5abf24ef68fef75;hp=c061c5fcf7bffbe75ef7863dc91c1d102d75b145;hb=c7ef4c04b0e95e263768e4df06220525a5872dca;hpb=b0a700a4558d9bb59395ddcf08565a5e709841e1 diff --git a/compose.c b/compose.c index c061c5f..9e0ebcc 100644 --- a/compose.c +++ b/compose.c @@ -131,33 +131,13 @@ static struct mapping_t ComposeNewsHelp[] = { }; #endif -static void snd_entry (char *b, size_t blen, MUTTMENU * menu, int num) -{ - int old1=DrawFullLine,old2=option(OPTSTATUSONTOP); - - /* - * XXX - * mutt_FormatString is totally broken as it tries to determine - * the max. width of the output string itself which may fail - * (for example, for $status_on_top, many of the format strings - * are as wide as screen but $attach_format is not, etc.) - * - * When $status_on_top is unset, mutt_FormatString() will respect - * sidebar so unset it for compose menu entries by force... ;-( - */ - DrawFullLine=0; - unset_option(OPTSTATUSONTOP); - - mutt_FormatString (b, blen, NONULL (AttachFormat), mutt_attach_fmt, +static void snd_entry (char *b, size_t blen, MUTTMENU * menu, int num) { + int w=(COLS-SW)>blen?blen:COLS-SW; + mutt_FormatString (b, w, NONULL (AttachFormat), mutt_attach_fmt, (unsigned long) (((ATTACHPTR **) menu->data)[num]), M_FORMAT_STAT_FILE | M_FORMAT_ARROWCURSOR); - - DrawFullLine=old1; - if (old2) set_option(OPTSTATUSONTOP); } - - #include "mutt_crypt.h" static void redraw_crypt_lines (HEADER * msg) @@ -521,7 +501,8 @@ static const char *compose_format_str (char *buf, size_t buflen, char op, static void compose_status_line (char *buf, size_t buflen, MUTTMENU * menu, const char *p) { - mutt_FormatString (buf, buflen, p, compose_format_str, + int w=(COLS-SW)>buflen?buflen:(COLS-SW); + mutt_FormatString (buf, w, p, compose_format_str, (unsigned long) menu, 0); } @@ -1426,7 +1407,8 @@ int mutt_compose_menu (HEADER * msg, /* structure for new message */ compose_status_line (buf, sizeof (buf), menu, NONULL (ComposeFormat)); CLEARLINE (option (OPTSTATUSONTOP) ? 0 : LINES - 2); SETCOLOR (MT_COLOR_STATUS); - printw ("%-*.*s", COLS, COLS, buf); + move (option (OPTSTATUSONTOP) ? 0 : LINES - 2, SW); + printw ("%-*.*s", COLS-SW, COLS-SW, buf); SETCOLOR (MT_COLOR_NORMAL); menu->redraw &= ~REDRAW_STATUS; }