Hi, I'm using folder hooks and "set folder" in order to switch seput between local mail and a few imap accounts. To each imap inbox corresponds a different folder. I find it really annoying that "c<tab><tab>" opens the last browsed folder instead of the current value of "set folder", when it just changed. I don't want mutt to show local folders when i just changed to remote imap. I could use c+<tab><tab> to get this behavior, but i tend to forget the "+". Additionally, i use something like: macro index,pager B "<change-folder>?" "show folder" Which i would like to follow folder, when it changes. The following patch do that, by reinitializing the browser directory when "set folder" is used. Best regards, antoine
--- browser.c.orig Wed Sep 5 20:28:05 2007 +++ browser.c @@ -57,6 +57,7 @@ typedef struct folder_t static char LastDir[_POSIX_PATH_MAX] = ""; static char LastDirBackup[_POSIX_PATH_MAX] = ""; +static char LastMaildir[_POSIX_PATH_MAX] = ""; /* Frees up the memory allocated for the local-global variables. */ static void destroy_state (struct browser_state *state) @@ -609,8 +610,11 @@ void _mutt_select_file (char *f, size_t { if (!folder) getcwd (LastDir, sizeof (LastDir)); - else if (!LastDir[0]) + else if (!LastDir[0] || mutt_strcmp(LastMaildir,NONULL(Maildir))) + { + strfcpy (LastMaildir, NONULL(Maildir), sizeof (LastMaildir)); strfcpy (LastDir, NONULL(Maildir), sizeof (LastDir)); + } #ifdef USE_IMAP if (!buffy && mx_is_imap (LastDir))
Attachment:
pgpyJiaH11saC.pgp
Description: PGP signature