-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 On Thursday, March 5 at 08:25 AM, quoth Bill Moseley: >On Thu, Mar 05, 2009 at 01:54:26AM -0600, Kyle Wheeler wrote: >> My point was that if you use some sort of hook for setting the From >> header, you can use that same hook for changing whatever settings. > > Ok, so I have this working to change my signature and from header > when replying to a message sent *to* my gmail account (regardless of > which folder the mail is in).
Right then, you can use that to change your smtp_url at the same time. > I'm not 100% clear on the syntax -- that is, when I have to quote > (the unmy_hdr line seems to work w/o the quotes where the set > signature requires the single quotes). It's an issue of parsing. Mutt re-parses (and thus de-quotes) hook commands when they are triggered. This allows for lots of complex embedding, but can result in some confusion. So, doing something like 'unmy_hdr From', no matter how many times you re-parse that, it looks the same. On the other hand, something like 'set signature="echo foo|"' will change as it gets re-parsed. Let's take your examples: >reply-hook . unmy_hdr From When the hook is established (i.e. read from the file), it will be understood as: reply-hook . unmy_hdr From And when it gets triggered, it will be understood as unmy_hdr From >reply-hook . 'set signature="echo Bill Moseley; echo mose...@hank.org|"' When it gets established: reply-hook . set signature="echo Bill Moseley; echo mose...@hank.org|" And when it gets triggered, it will be understood as: set signature="echo Bill Moseley; echo mose...@hank.org|" Compare that to what happens if you leave off the first set of quotes, like this: reply-hook . set signature="echo Bill Moseley; echo mose...@hank.org|" When that gets established, it will be understood as: reply-hook . set signature=echo Bill Moseley; echo mose...@hank.org| And then when it gets triggered, it will be understood as: set signature=echo Bill Moseley; echo mose...@hank.org| Do you see how that can lead to trouble? >But, then I have a new problem: > >reply-hook seems to override the folder-hook, right? All hooks override all other hooks, if that makes any sense. It works in a "last hook wins" method. >So this reply-hook takes precedence over the folder-hook. Yes. >reply-hook . 'set signature="echo Bill Moseley.; echo mose...@hank.org|"' > >folder-hook =lists.mutt 'set signature=$HOME/.signature_mutt' > >How can I have a signature take precedence over the reply-hook >when in the mutt folder? Use the folder-hook to change the reply-hook (or something the reply-hook relies on). >Do I have to nest the reply-hook inside a folder-hook? And if so, can >someone provide an example of they syntax? Yes... but the problem is that you're using a folder-hook for something it was never intended to be used for. Using the folder-hook to change your signature is like using the message-hook to change the subject line of future composed messages... you *can*, but it's going to be difficult to get right. I think it makes far more sense to base that sort of information on who you're sending to than on what folder you happen to be looking at. And, when you do that, the solution ends up being fairly simple. For example: reply-hook . \ 'set signature=~/.standardsig.txt' reply-hook '~e owner-mutt-us...@mutt.org' \ 'set signature=~/.muttsig.txt' Yes, you *can* embed reply-hooks in folder-hooks, but then things get ugly because you'd need to unhook things (the unhook is there to prevent mutt from building up absurdly long chains of redundant hooks), which interacts badly with any other reply-hooks you happen to have (i.e. they'd need to be re-established within the folder-hook too): folder-hook . \ 'unhook reply-hook ; \ reply-hook . "set signature=stdsig.txt"; \ reply-hook "~C m...@gmail" "set signature=gmailsig.txt"' folder-hook =lists.mutt \ 'unhook reply-hook ; \ set signature=muttsig.txt' Does that make sense? ~Kyle - -- Necessity is the plea for every infringement of human freedom. It is the argument of tyrants; it is the creed of slaves. -- William Pitt the Younger -----BEGIN PGP SIGNATURE----- Comment: Thank you for using encryption! iEYEARECAAYFAkmwIKkACgkQBkIOoMqOI16F3wCg40KmBjyLSgAXerrmZ9ofAPXI QZIAoOmwav8HyeXtVHaZ4jBjr25tYCFq =T0B0 -----END PGP SIGNATURE-----