#
-# This file contains commands to change the keybindings in Mutt to be
+# This file contains commands to change the keybindings in NeoMutt to be
# similar to those of PINE 3.95.
#
-# Neonwolf Color Scheme for Mutt
+# Neonwolf Color Scheme for NeoMutt
# Source: https://github.com/h3xx/mutt-colors-neonwolf/blob/master/mutt-colors-neonwolf-256.muttrc
# Based mostly on the colors from the badwolf airline theme
#
#
-# make sure that you are using mutt linked against slang, not ncurses, or
-# suffer the consequences of weird color issues. use "mutt -v" to check this.
+# make sure that you are using neomutt linked against slang, not ncurses, or
+# suffer the consequences of weird color issues. use "neomutt -v" to check this.
# custom body highlights -----------------------------------------------
# highlight my name and other personally relevant strings
-# Mutt color file
+# NeoMutt color file
# Maintainer: Jon Häggblad <jon@haeggblad.com>
# URL: http://www.haeggblad.com
# Last Change: 2013 May 17
# Version: 0.1
#
-# Mutt colorscheme loosely inspired by vim colorscheme wombat.vim.
+# NeoMutt colorscheme loosely inspired by vim colorscheme wombat.vim.
#
# Changelog:
# 0.1 - Initial version
# Screenshot http://trovao.droplinegnome.org/stuff/mutt-zenburnt.png
#
-# This is a zenburn-based mutt color scheme that is not (even by far)
+# This is a zenburn-based neomutt color scheme that is not (even by far)
# complete. There's no copyright involved. Do whatever you want with it.
# Just be aware that I won't be held responsible if the current color-scheme
# explodes your mail client. ;)
#
# Do notice that this color scheme requires a terminal emulator that supports
# 256 color. Any modern X terminal emulator should have support for that and
-# you can enable it by calling mutt as "TERM=xterm-256color mutt" or, if you
+# you can enable it by calling neomutt as "TERM=xterm-256color neomutt" or, if you
# use screen, by adding "term screen-256color" to your .screenrc.
#
# This file is in the public domain.
# configuration variable $pgp_sign_as. You probably need to
# use this within a conditional % sequence.
#
-# %r In many contexts, mutt passes key IDs to pgp. %r expands to
+# %r In many contexts, neomutt passes key IDs to pgp. %r expands to
# a list of key IDs.
# Note that we explicitly set the comment armor header since GnuPG, when used
## Preparation
-In order to run the benchmark, you must have a directory in maildir format at hand. Mutt will load messages from there and populate the header cache with them. Please note that you'll need a reasonable large number of messages - >50k - to see anything interesting.
+In order to run the benchmark, you must have a directory in maildir format at hand. NeoMutt will load messages from there and populate the header cache with them. Please note that you'll need a reasonable large number of messages - >50k - to see anything interesting.
## Running the benchmark
The script accepts the following arguments
```
--e Path to the mutt executable
+-e Path to the neomutt executable
-m Path to the maildir directory
-t Number of times to repeat the test
-b List of backends to test
```
-Example: `./neomutt-hcache-bench.sh -e /usr/local/bin/mutt -m ../maildir -t 10 -b "lmdb qdbm bdb kyotocabinet"`
+Example: `./neomutt-hcache-bench.sh -e /usr/local/bin/neomutt -m ../maildir -t 10 -b "lmdb qdbm bdb kyotocabinet"`
## Operation
-The benchmark works by instructing mutt to use the backends specified with `-b` one by one and to load the messages from the maildir specified with `-m`. Mutt is launched twice with the same configuration. The first time, no header cache storage exists, so mutt populates it. The second time, the previously populated header cache storage is used to reload the headers. The times taken to execute these two operations are kept track of independently.
+The benchmark works by instructing neomutt to use the backends specified with `-b` one by one and to load the messages from the maildir specified with `-m`. NeoMutt is launched twice with the same configuration. The first time, no header cache storage exists, so neomutt populates it. The second time, the previously populated header cache storage is used to reload the headers. The times taken to execute these two operations are kept track of independently.
At the end, a summary with the average times is provided.
## Sample output
```sh
-$ sh neomutt-hcache-bench.sh -m ~/maildir -e ../../mutt -t 10 -b "bdb gdbm qdbm lmdb kyotocabinet tokyocabinet"
+$ sh neomutt-hcache-bench.sh -m ~/maildir -e ../../neomutt -t 10 -b "bdb gdbm qdbm lmdb kyotocabinet tokyocabinet"
Running in /tmp/tmp.TFHQ8iPy
1 - populating - bdb
1 - reloading - bdb
usage()
{
- echo "Usage: $(basename "$0") -e <mutt> -m <mdir> -t <times> -b <backends>"
+ echo "Usage: $(basename "$0") -e <neomutt> -m <mdir> -t <times> -b <backends>"
echo ""
- echo " -e Path to the mutt executable"
+ echo " -e Path to the neomutt executable"
echo " -m Path to a maildir directory"
echo " -t Number of times to repeat the test"
echo " -b List of backends to test"
while getopts e:m:t:b: OPT; do
case "$OPT" in
e)
- MUTT="$OPTARG"
+ NEOMUTT="$OPTARG"
;;
m)
MAILDIR="$OPTARG"
esac
done
-if [ -z "$MAILDIR" ] || [ -z "$MUTT" ] || [ -z "$TIMES" ] || [ -z "$BACKENDS" ]; then
+if [ -z "$MAILDIR" ] || [ -z "$NEOMUTT" ] || [ -z "$TIMES" ] || [ -z "$BACKENDS" ]; then
usage
exit 1
fi
export my_backend=$1
export my_maildir=$MAILDIR
export my_tmpdir=$TMPDIR
- t=$(time -p $MUTT -F "$CWD"/muttrc 2>&1 > /dev/null)
+ t=$(time -p $NEOMUTT -F "$CWD"/muttrc 2>&1 > /dev/null)
echo "$t" | xargs
}
# KeybaseMutt
-A work in progress. KeybaseMutt exists to let its users utilize Keybase within mutt. (Unfortunately, not natively (yet).)
+A work in progress. KeybaseMutt exists to let its users utilize Keybase within neomutt. (Unfortunately, not natively (yet).)
## Quick start
Then just throw these into your .muttrc
-`set editor = 'echo %s > ~/.mutt/keybaseMutt/.tmp; vim %s'`
+`set editor = 'echo %s > ~/.neomutt/keybaseMutt/.tmp; vim %s'`
-`macro compose K "<enter-command>unset wait_key<enter><shell-escape>python ~/.mutt/keybaseMutt/keybase.py<enter><enter-command>set wait_key<enter>`
+`macro compose K "<enter-command>unset wait_key<enter><shell-escape>python ~/.neomutt/keybaseMutt/keybase.py<enter><enter-command>set wait_key<enter>`
Done!
## Decrypting and verifying messages
-Unfortunately, there isn't an easy way to decrypt or verify messages through a macro. Instead, you'll need to use the pipe feature of mutt.
+Unfortunately, there isn't an easy way to decrypt or verify messages through a macro. Instead, you'll need to use the pipe feature of neomutt.
Opening the email, you'll need to navigate to the actual attachment. (Press "V" when you're reading the email.)
#!/bin/sh
# If no directory exists, make it exist.
-if [ -d "$HOME/.mutt/keybaseMutt" ]; then
+if [ -d "$HOME/.neomutt/keybaseMutt" ]; then
# If someone already has a backup, complain.
- if [ -d "$HOME/.mutt/keybaseMuttBACKUP" ]; then
- #echo "$HOME/.mutt/keybaseMuttBACKUP exists"
+ if [ -d "$HOME/.neomutt/keybaseMuttBACKUP" ]; then
+ #echo "$HOME/.neomutt/keybaseMuttBACKUP exists"
echo "You are going to overwrite your backup. Are you sure you want to do this? [y|n]"
read -r overwrite
# If they want to delete their backup.
if [ "$overwrite" = 'y' ]; then
- cp -R "$HOME/.mutt/keybaseMutt" "$HOME/.mutt/keybaseMuttBACKUP"
- rm -r "$HOME/.mutt/keybaseMutt"
- mkdir -p "$HOME/.mutt/keybaseMutt/scripts"
+ cp -R "$HOME/.neomutt/keybaseMutt" "$HOME/.neomutt/keybaseMuttBACKUP"
+ rm -r "$HOME/.neomutt/keybaseMutt"
+ mkdir -p "$HOME/.neomutt/keybaseMutt/scripts"
# Otherwise, abort mission.
else
exit 1
fi
- elif [ ! -d "$HOME/.mutt/keybaseMuttBACKUP" ]; then
+ elif [ ! -d "$HOME/.neomutt/keybaseMuttBACKUP" ]; then
echo "Backing up previous install."
- cp -R "$HOME/.mutt/keybaseMutt" "$HOME/.mutt/keybaseMuttBACKUP"
- rm -r "$HOME/.mutt/keybaseMutt"
- mkdir -p "$HOME/.mutt/keybaseMutt/scripts"
+ cp -R "$HOME/.neomutt/keybaseMutt" "$HOME/.neomutt/keybaseMuttBACKUP"
+ rm -r "$HOME/.neomutt/keybaseMutt"
+ mkdir -p "$HOME/.neomutt/keybaseMutt/scripts"
fi
# Otherwise, make a backup
-elif [ ! -d "$HOME/.mutt/keybaseMutt" ]; then
+elif [ ! -d "$HOME/.neomutt/keybaseMutt" ]; then
echo "Installing your program..."
- mkdir -p "$HOME/.mutt/keybaseMutt/scripts"
+ mkdir -p "$HOME/.neomutt/keybaseMutt/scripts"
fi
# Copy my directory to your directory.
-cp ./keybase.py "$HOME/.mutt/keybaseMutt"
-cp ./pgpdecrypt.sh "$HOME/.mutt/keybaseMutt/scripts"
-cp ./decrypt.sh "$HOME/.mutt/keybaseMutt/scripts"
-cp ./verify.sh "$HOME/.mutt/keybaseMutt/scripts"
-cp ./pgpverify.sh "$HOME/.mutt/keybaseMutt/scripts"
+cp ./keybase.py "$HOME/.neomutt/keybaseMutt"
+cp ./pgpdecrypt.sh "$HOME/.neomutt/keybaseMutt/scripts"
+cp ./decrypt.sh "$HOME/.neomutt/keybaseMutt/scripts"
+cp ./verify.sh "$HOME/.neomutt/keybaseMutt/scripts"
+cp ./pgpverify.sh "$HOME/.neomutt/keybaseMutt/scripts"
# Yay! Stuff's installed!
-echo "You'll need to include a path to '~/.mutt/keybaseMutt/scripts' in your shell's rc file. If you've done this previously on your computer, press 'n'."
+echo "You'll need to include a path to '~/.neomutt/keybaseMutt/scripts' in your shell's rc file. If you've done this previously on your computer, press 'n'."
echo "Do you use [b]ash, [k]sh, or [z]sh? [n]"
echo "(You use $SHELL)"
read -r shellInput
if [ "$shellInput" = 'b' ]; then
- echo 'export PATH="$PATH:~/.mutt/keybaseMutt/scripts"' >> "$HOME/.bashrc"
+ echo 'export PATH="$PATH:~/.neomutt/keybaseMutt/scripts"' >> "$HOME/.bashrc"
elif [ "$shellInput" = 'k' ]; then
- echo 'export PATH="$PATH:~/.mutt/keybaseMutt/scripts"' >> "$HOME/.kshrc"
+ echo 'export PATH="$PATH:~/.neomutt/keybaseMutt/scripts"' >> "$HOME/.kshrc"
elif [ "$shellInput" = 'z' ]; then
- echo 'export PATH="$PATH:~/.mutt/keybaseMutt/scripts"' >> "$HOME/.zshrc"
+ echo 'export PATH="$PATH:~/.neomutt/keybaseMutt/scripts"' >> "$HOME/.zshrc"
else
echo "If you use something another shell, you'll need to add the path manually."
fi
directory = open('.file', 'r')
pwd = directory.read().strip('\n')
directory.close()
- tmp = open("%s/.mutt/keybaseMutt/.tmp" % pwd, "r")
+ tmp = open("%s/.neomutt/keybaseMutt/.tmp" % pwd, "r")
tmp = tmp.read().strip("\n")
print("Working....")
os.system('%s -i %s -o %s' % (parameters, tmp, tmp))
# directory = open('.file', 'r')
# pwd = directory.read().strip('\n')
# directory.close()
-# tmp = open('%s/.mutt/keybaseMutt/.tmp' % pwd, 'r')
+# tmp = open('%s/.neomutt/keybaseMutt/.tmp' % pwd, 'r')
# tmp = tmp.read().strip('\n')
# print("Working...")
# os.system('%s -i %s -o %s' % (parameters, tmp, tmp))
-set editor = 'echo %s > ~/.mutt/keybaseMutt/.tmp; vim %s'
-macro compose K "<enter-command>unset wait_key<enter><shell-escape>python ~/.mutt/keybaseMutt/keybase.py<enter><enter-command>set wait_key<enter>
+set editor = 'echo %s > ~/.neomutt/keybaseMutt/.tmp; vim %s'
+macro compose K "<enter-command>unset wait_key<enter><shell-escape>python ~/.neomutt/keybaseMutt/keybase.py<enter><enter-command>set wait_key<enter>
<dc:title>Malcolm Locke <malc@wholemeal.co.nz></dc:title>
</cc:Agent>
</dc:creator>
- <dc:description>Based on the XPM format icon provided with the Mutt Debian package</dc:description>
+ <dc:description>Based on the XPM format icon provided with the NeoMutt Debian package</dc:description>
</cc:Work>
<cc:License
rdf:about="http://creativecommons.org/licenses/by-sa/4.0/">
# I subscribe to a lot of mailing lists, so this is _very_ useful. This
# groups messages on the same subject to make it easier to follow a
-# discussion. Mutt will draw a nice tree showing how the discussion flows.
+# discussion. NeoMutt will draw a nice tree showing how the discussion flows.
set sort=threads # primary sorting method
#set sort_aux=reverse-date-received # how to sort subthreads
#set sort_aux=last-date # date of the last message in thread
set sort_browser=reverse-date # how to sort files in the dir browser
set spoolfile='~/mailbox' # where my new mail is located
-#set status_format="-%r-Mutt: %f [Msgs:%?M?%M/?%m%?n? New:%n?%?d? Del:%d?%?F? Flag:%F?%?t? Tag:%t?%?p? Post:%p?%?b? Inc:%b? %l]---(%s)-%>-(%P)---"
+#set status_format="-%r-NeoMutt: %f [Msgs:%?M?%M/?%m%?n? New:%n?%?d? Del:%d?%?F? Flag:%F?%?t? Tag:%t?%?p? Post:%p?%?b? Inc:%b? %l]---(%s)-%>-(%P)---"
#set status_on_top # some people prefer the status bar on top
#set strict_threads # don't thread by subject
set tilde # virtual lines to pad blank lines in the pager
## The following options are only available if you have
## compiled in S/MIME support
-# If you compiled mutt with support for both PGP and S/MIME, PGP
+# If you compiled neomutt with support for both PGP and S/MIME, PGP
# will be the default method unless the following option is set
set smime_is_default
# line and replace the keyid with your own.
set smime_default_key="12345678.0"
-# Uncomment to make mutt ask what key to use when trying to decrypt a message.
+# Uncomment to make neomutt ask what key to use when trying to decrypt a message.
# It will use the default key above (if that was set) else.
# unset smime_decrypt_use_default_key
sub handle_add_root_cert ($);
-my $mutt = $ENV{MUTT_CMDLINE} || 'mutt';
+my $neomutt = $ENV{MUTT_CMDLINE} || 'neomutt';
my $opensslbin = "/usr/bin/openssl";
my $tmpdir;
-# Get the directories mutt uses for certificate/key storage.
+# Get the directories neomutt uses for certificate/key storage.
my $private_keys_path = mutt_Q 'smime_keys';
-die "smime_keys is not set in mutt's configuration file"
+die "smime_keys is not set in neomutt's configuration file"
if length $private_keys_path == 0;
my $certificates_path = mutt_Q 'smime_certificates';
-die "smime_certificates is not set in mutt's configuration file"
+die "smime_certificates is not set in neomutt's configuration file"
if length $certificates_path == 0;
my $root_certs_path = mutt_Q 'smime_ca_location';
-die "smime_ca_location is not set in mutt's configuration file"
+die "smime_ca_location is not set in neomutt's configuration file"
if length $root_certs_path == 0;
my $root_certs_switch;
sub mutt_Q ($) {
my ($var) = @_;
- my $cmd = "$mutt -v >/dev/null 2>/dev/null";
+ my $cmd = "$neomutt -v >/dev/null 2>/dev/null";
system ($cmd) == 0 or die<<EOF;
-Couldn't launch mutt. I attempted to do so by running the command "$mutt".
+Couldn't launch neomutt. I attempted to do so by running the command "$neomutt".
If that's not the right command, you can override it by setting the
environment variable \$MUTT_CMDLINE
EOF
- $cmd = "$mutt -Q $var 2>/dev/null";
+ $cmd = "$neomutt -Q $var 2>/dev/null";
my $answer = `$cmd`;
$? and die<<EOF;
-Couldn't look up the value of the mutt variable "$var".
-You must set this in your mutt config file. See contrib/smime.rc for an example.
+Couldn't look up the value of the neomutt variable "$var".
+You must set this in your neomutt config file. See contrib/smime.rc for an example.
EOF
$answer =~ /\"(.*?)\"/ and return bsd_glob($1, GLOB_TILDE | GLOB_NOCHECK);
- $answer =~ /^Mutt (.*?) / and die<<EOF;
-This script requires mutt 1.5.0 or later. You are using mutt $1.
+ $answer =~ /^NeoMutt (.*?) / and die<<EOF;
+This script requires neomutt 1.5.0 or later. You are using neomutt $1.
EOF
die "Value of $var is weird\n";
EOF
close TMP;
-$ENV{MUTT_CMDLINE} = "mutt -F $tmpdir/muttrc";
+$ENV{MUTT_CMDLINE} = "neomutt -F $tmpdir/muttrc";
# make a user key
run 'smime_keys init';
run 'openssl genrsa -out user.key 1024';
# make a request for this key to be signed
-run 'openssl req -new -key user.key -out newreq.pem', "\n\nx\n\nx\nx\nuser\@smime.mutt\n\nx\n";
+run 'openssl req -new -key user.key -out newreq.pem', "\n\nx\n\nx\nx\nuser\@smime.neomutt\n\nx\n";
mkdir 'demoCA' or die;
mkdir 'demoCA/certs' or die;
open IN, 'list' or die;
<IN> eq "\n" or die;
-<IN> =~ /^$keyid\: Issued for\: user\@smime\.mutt \"new_label\" \(Trusted\)\n/ or die;
+<IN> =~ /^$keyid\: Issued for\: user\@smime\.neomutt \"new_label\" \(Trusted\)\n/ or die;
close IN;
unlink 'list' or die;
# Vim Keys
-This Mutt config file sets up some keyboard mappings that make Mutt more
+This NeoMutt config file sets up some keyboard mappings that make NeoMutt more
friendly for Vim users. For example:
- gg Move to top of Index