# Muttprofile

Muttprofile is a utility to choose profiles with the Mutt email client. It is useful at least in the following cases:

- You have so many profiles that it is hard to find convenient key mappings to load them (Mutt does make extensive use of the keyboard already :-)
- You have so many profiles that is is hard to remember how many of them you actually have or what are they for?
- If you prefer choosing profiles interactively rather than using keyboard shortcuts.

Muttprofile was written in Perl. It is distributed under GNU General Public Licence (same as Mutt itself).

## Latest news

(2003-11-18) Version 1.0.1 has been released. It includes a couple of bugfixes.

## Version history

1.0.1 (current) | 2000-11-20 | Two bugfixes, details can be found from http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=218957 http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=218960 Additional bugfix regarding a case when active profile exist but is a file instead of symlink.
1.0.0 | 2000-05-10 | First public release

## Requirements

- Mutt (obviously :-)
- Perl version 5.x or later
- Perl module Term::Complete, comes with Perl5 distributions
- Perl module Getopt::Long, comes with Perl5 distributions

Please note that the `Term::Complete` module in Perl 5.8.0 may produce an error. This has been fixed in Perl 5.8.1. If you are stuck with perl 5.8.0, I have a separate page explaining the problem and how to fix it.

Muttprofile is a somewhat Unix-oriented tool in its command-line operation. It also makes use of symbolic links. I don't know if it works under other operating systems.

## Download

Download muttprofile version 1.0.1 (14 kB)

Debian package

## Installation

Muttprofile itself requires no special installation but you might want to check the first line of the file (`#!/usr/bin/perl -w`) and change the path to perl if needed (`'which perl'` might be useful here :-)

After that you need to tell Mutt how to call muttprofile and load the active profile. Perhaps the easiest way to invoke muttprofile from mutt is to bind a key with mutt macro command. For example, adding this to your muttrc-file

    macro	index	<F10>	"!muttprofile\n:source ~/.mutt/profile.active\n" "Call muttprofile and load profile"

binds the function key <F10> to call muttprofile and load the new active profile.

Other examples:

    macro	index	<F10>	"!muttprofile\n:source ~/.mutt/profile.active\n^f" "Call muttprofile, load profile and forget PGP passphrase"

binds the function key <F10> to call muttprofile, load the new active profile and tells Mutt to forget the currently active PGP passphrase.

    macro	index	<F10>	"!muttprofile\n:source ~/.mutt/profile.active\n^fm" "New message with profile"

binds the function key <F10> to start muttprofile, load the profile, forget the PGP passphrase and start a new message.

In the profile files, you may want to add the following:

    # NAME: name for your profile
    # DESC: description of you profile, optional

In the interactive mode, muttprofile displays these to help you choose a profile. If they are missing, filename is used instead of the NAME. DESC is optional.

## Documentation

Dodumentation is included in POD format. You can read it using `perldoc -F muttprofile`.

For convenience, you can find the corresponding man page here: `muttprofile(1)`

Short summary:
muttprofile looks for profile files in your mutt directory, reads NAME and DESC keywords, let's you choose a profile based on those and finally creates a symbolic link that points to that profile file. Thus Mutt only needs to load one profile (the active profile).

## Future development

At the moment, muttprofile is what it is and stays that way. If necessary (propably not) I'll try to keep it functional with new versions of Mutt and Perl.

## Acknowledgments

Martin F. Krafft maintains a Debian package of muttprofile. Ha has also helped and encouraged me a lot.

Martin Schulze found two bugs in muttprofile and provided fixes as well. For details, see the Debian Bug Reoprt logs. These fixes are now included in the 1.0.1 release.

Matti Airas helped me a lot when first writing muttprofile: for example he suggested the idea of using symlinks and to use NAME and DESC keys in the profiles. He also introduced me to Mutt :-)

Rikard Florin continued work with muttprofile. He rewrote muttprofile to include a graphical user interface. Unfortunately, his version seems to be no longer available. It used to be here.

The people in the mutt-users mailing list gave me valuable help with mutt configuration.

## See also

Information on (Sender) profiles with Mutt
Martti Rahkila's Mutt Resources

URL: http://www.iki.fi/martti.rahkila/mutt/muttprofile.html
Last update: 2003-11-20
Author: Martti Rahkila