X-Git-Url: http://git.madism.org/?p=apps%2Fmadmutt.git;a=blobdiff_plain;f=curs_main.c;h=0fc4e0bd9c00d1223ef5c603e78783f5073dffbe;hp=97640d6e6cf1268934560df4a18ead3cd101a0a4;hb=f0370416f1e9b32c307ba0a7b45e577571745ed7;hpb=0d5798fa40d68a2cff1193196b9c4ddd67da5063 diff --git a/curs_main.c b/curs_main.c index 97640d6..0fc4e0b 100644 --- a/curs_main.c +++ b/curs_main.c @@ -16,6 +16,10 @@ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111, USA. */ +#if HAVE_CONFIG_H +# include "config.h" +#endif + #include "mutt.h" #include "mutt_curses.h" #include "mx.h" @@ -109,6 +113,22 @@ static const char *No_visible = N_("No visible messages."); extern const char *ReleaseDate; extern size_t UngetCount; +static void set_xterm_title_bar(char *title) +{ + fputs("\033]2;", stdout); + fputs(title, stdout); + fputs("\007", stdout); + fflush(stdout); +} + +static void set_xterm_icon_name(char *name) +{ + fputs("\033]1;", stdout); + fputs(name, stdout); + fputs("\007", stdout); + fflush(stdout); +} + void index_make_entry (char *s, size_t l, MUTTMENU *menu, int num) { format_flag flag = M_FORMAT_MAKEPRINT | M_FORMAT_ARROWCURSOR | M_FORMAT_INDEX; @@ -589,7 +609,15 @@ int mutt_index_menu (void) SETCOLOR (MT_COLOR_STATUS); mutt_paddstr (COLS, buf); SETCOLOR (MT_COLOR_NORMAL); + set_buffystats (Context); menu->redraw &= ~REDRAW_STATUS; + if (option(OPTXTERMSETTITLES)) + { + menu_status_line (buf, sizeof (buf), menu, NONULL (XtermTitle)); + set_xterm_title_bar(buf); + menu_status_line (buf, sizeof (buf), menu, NONULL (XtermIcon)); + set_xterm_icon_name(buf); + } } menu->redraw = 0; @@ -1098,6 +1126,9 @@ CHECK_IMAP_ACL(IMAP_ACL_DELETE); else { mutt_set_flag (Context, CURHDR, M_TAG, !CURHDR->tagged); + Context->last_tag = CURHDR->tagged ? CURHDR : + ((Context->last_tag == CURHDR && !CURHDR->tagged) + ? NULL : Context->last_tag); menu->redraw = REDRAW_STATUS; if (option (OPTRESOLVE) && menu->current < Context->vcount - 1) { @@ -1152,6 +1183,9 @@ CHECK_IMAP_ACL(IMAP_ACL_DELETE); case OP_MAIN_SYNC_FOLDER: + if (Context && !Context->msgcount) + break; + CHECK_MSGCOUNT; CHECK_VISIBLE; CHECK_READONLY; @@ -1273,6 +1307,12 @@ CHECK_IMAP_ACL(IMAP_ACL_DELETE); { int check; +#ifdef USE_COMPRESSED + if (Context->compressinfo && Context->realpath) + mutt_str_replace (&LastFolder, Context->realpath); + else +#endif + mutt_str_replace (&LastFolder, Context->path); oldcount = Context ? Context->msgcount : 0; @@ -2048,6 +2088,8 @@ CHECK_IMAP_ACL(IMAP_ACL_INSERT); } #endif + if (option (OPTPGPAUTODEC) && (tag || !(CURHDR->security & PGP_TRADITIONAL_CHECKED))) + mutt_check_traditional_pgp (tag ? NULL : CURHDR, &menu->redraw); mutt_edit_message (Context, tag ? NULL : CURHDR); menu->redraw = REDRAW_FULL; @@ -2116,7 +2158,9 @@ CHECK_IMAP_ACL(IMAP_ACL_INSERT); break; CHECK_MSGCOUNT; CHECK_VISIBLE; - mutt_check_traditional_pgp (tag ? NULL : CURHDR, &menu->redraw); + if (tag || !(CURHDR->security & PGP_TRADITIONAL_CHECKED)) + mutt_check_traditional_pgp (tag ? NULL : CURHDR, &menu->redraw); + if (menu->menu == MENU_PAGER) { op = OP_DISPLAY_MESSAGE; @@ -2350,6 +2394,8 @@ CHECK_IMAP_ACL(IMAP_ACL_DELETE); case OP_SIDEBAR_SCROLL_DOWN: case OP_SIDEBAR_NEXT: case OP_SIDEBAR_PREV: + case OP_SIDEBAR_NEXT_NEW: + case OP_SIDEBAR_PREV_NEW: scroll_sidebar(op, menu->menu); break; default: