--- PATCHES.orig 2022-02-12 23:46:24 UTC +++ PATCHES @@ -0,0 +1 @@ +patch-1.5.7.ust.maildir-mtime.2 --- browser.c.orig 2022-01-25 19:33:16 UTC +++ browser.c @@ -32,6 +32,7 @@ #ifdef USE_IMAP #include "imap.h" #endif +#include "mx.h" #include #include @@ -531,6 +532,21 @@ static void init_state (struct browser_state *state, M menu->data = state->entry; } +static void check_maildir_times (BUFFY *buf, struct stat *st) +{ + char buffer[_POSIX_PATH_MAX + SHORT_STRING]; + struct stat s; + + if(!buf || buf->magic != MUTT_MAILDIR) + return; + + snprintf (buffer, sizeof (buffer), "%s/tmp", mutt_b2s(buf->pathbuf)); + if (lstat (buffer, &s) != 0) + return; + + st->st_mtime = s.st_mtime; +} + static int examine_directory (MUTTMENU *menu, struct browser_state *state, const char *d, const char *prefix) { @@ -597,6 +613,7 @@ static int examine_directory (MUTTMENU *menu, struct b tmp = Incoming; while (tmp && mutt_strcmp (mutt_b2s (full_path), mutt_b2s (tmp->pathbuf))) tmp = tmp->next; + check_maildir_times (tmp, &s); if (tmp && Context && !tmp->nopoll && !mutt_strcmp (tmp->realpath, Context->realpath)) { @@ -684,6 +701,7 @@ static int examine_mailboxes (MUTTMENU *menu, struct b s.st_mtime = st2.st_mtime; } + check_maildir_times (tmp, &s); add_folder (menu, state, mutt_b2s (mailbox), mutt_b2s (tmp->pathbuf), &s, tmp); } while ((tmp = tmp->next));