0

I am trying to setup a two (maybe more) mailboxes in mutt with very different settings. I have setup folder-hooks for each but it custom settings are not fully the same.

I wonder how to reset all custom settings setup for one mailbox before applying settings from the other.

The setup is:

.muttrc:
   some custom config...
   mre custom config...
   folder-hook home source .mutt/home.config
   folder-hook work source .mutt/work.config

I'd like to reset all configs setup by home.config when I apply work.config (but keep general config setup by .muttrc so reset all is too much).

kamaradclimber
  • 2,479
  • 1
  • 26
  • 45

2 Answers2

0

You need

folder-hook . source .mutt/default.config

before the other two folder-hooks, as stated in section 3.5 of the manual.

Adam Spiers
  • 17,397
  • 5
  • 46
  • 65
  • this won't undo the specific of work.config when I switch to home.config – kamaradclimber Oct 08 '13 at 13:37
  • It will if `default.config` contains the correct `reset` commands. AFAICK mutt doesn't have a built-in way of automatically resetting everything within a given config file, so you will have to build `default.config` appropriately via a technique like the one @kamaradclimber suggests. – Adam Spiers Oct 08 '13 at 14:00
0

Own answer:

Create a script reset.sh like:

grep -E -h -v '^(#.*)?$' $@ |  sed -E 's/(.*)=.*/\1/; s/^(un)?set/reset/g; /macro/d'

and as Adam suggested, in the main conf:

set my_reset_source=`~/.mutt/reset.sh ~/.mutt/*.config > /tmp/mutt-reset`
folder-hook . source /tmp/mutt-reset
folder-hook home source ~/.mutt/home.config
folder-hook work source ~/.mutt/work.config
kamaradclimber
  • 2,479
  • 1
  • 26
  • 45
  • 1
    Yeah, something along those lines should work. Reinventing the mutt config file parser wheel here is unfortunately unavoidable. BTW I think it should be `sed -E` not `sed -e`, but with GNU sed you don't need the `-e` or even two separate `sed` invocations: `sed 'command1; command2'` – Adam Spiers Oct 08 '13 at 14:04
  • unfortunately Id on't see how to reset macro, so I'll simply have to remove any mention of macro – kamaradclimber Oct 08 '13 at 14:18