diff --git a/mutt/.mutt/attach_fork.sh b/mutt/.mutt/attach_fork.sh new file mode 100755 index 0000000..eb83c35 --- /dev/null +++ b/mutt/.mutt/attach_fork.sh @@ -0,0 +1,13 @@ +#!/bin/sh +if (($# < 2)); then + printf "Invalid usage\nPress enter\n" >&2 + read + exit 2 +fi +set -xe +OLD_FILE="$1" +shift +BASENAME="$(basename "$OLD_FILE")" +NEW_FILE="$(mktemp --suffix "${BASENAME##*.}")" +cp --no-preserve=all -- "$OLD_FILE" "$NEW_FILE" +exec "$@" "$NEW_FILE" >/dev/null 2>&1 & disown diff --git a/mutt/.mutt/bindings b/mutt/.mutt/bindings new file mode 100644 index 0000000..b9d6553 --- /dev/null +++ b/mutt/.mutt/bindings @@ -0,0 +1,372 @@ +# Heavily modified from https://github.com/iagox86/mutt/blob/master/keybindings.conf + +# generic => *~pager/editor +# browser => Mailbox list +# index => List of emails +# pager => Email read screen +# attach => Attachments list +# editor => Command line; not sure what else + +bind generic,pager,editor,index | noop +bind generic,pager,editor,index a noop +bind generic,pager,editor,index b noop +bind generic,pager,editor,index c noop +bind generic,pager,editor,index d noop +bind generic,pager,editor,index e noop +bind generic,pager,editor,index f noop +bind generic,pager,editor,index g noop +bind generic,pager,editor,index h noop +bind generic,pager,editor,index i noop +bind generic,pager,editor,index j noop +bind generic,pager,editor,index k noop +bind generic,pager,editor,index l noop +bind generic,pager,editor,index m noop +bind generic,pager,editor,index n noop +bind generic,pager,editor,index o noop +bind generic,pager,editor,index p noop +bind generic,pager,editor,index q noop +bind generic,pager,editor,index r noop +bind generic,pager,editor,index s noop +bind generic,pager,editor,index t noop +bind generic,pager,editor,index u noop +bind generic,pager,editor,index v noop +bind generic,pager,editor,index w noop +bind generic,pager,editor,index x noop +bind generic,pager,editor,index y noop +bind generic,pager,editor,index z noop +bind generic,pager,editor,index A noop +bind generic,pager,editor,index B noop +bind generic,pager,editor,index C noop +bind generic,pager,editor,index D noop +bind generic,pager,editor,index E noop +bind generic,pager,editor,index F noop +bind generic,pager,editor,index G noop +bind generic,pager,editor,index H noop +bind generic,pager,editor,index I noop +bind generic,pager,editor,index J noop +bind generic,pager,editor,index K noop +bind generic,pager,editor,index L noop +bind generic,pager,editor,index M noop +bind generic,pager,editor,index N noop +bind generic,pager,editor,index O noop +bind generic,pager,editor,index P noop +bind generic,pager,editor,index Q noop +bind generic,pager,editor,index R noop +bind generic,pager,editor,index S noop +bind generic,pager,editor,index T noop +bind generic,pager,editor,index U noop +bind generic,pager,editor,index V noop +bind generic,pager,editor,index W noop +bind generic,pager,editor,index X noop +bind generic,pager,editor,index Y noop +bind generic,pager,editor,index Z noop + +bind generic,pager,editor,index noop +bind generic,pager,editor,index noop +bind generic,pager,editor,index noop +bind generic,pager,editor,index noop +bind generic,pager,editor,index noop +bind generic,pager,editor,index noop +bind generic,pager,editor,index noop +bind generic,pager,editor,index noop +bind generic,pager,editor,index noop +bind generic,pager,editor,index noop +bind generic,pager,editor,index noop +bind generic,pager,editor,index noop +bind generic,pager,editor,index noop +bind generic,pager,editor,index noop + +bind generic,pager,editor,index 1 noop +bind generic,pager,editor,index 2 noop +bind generic,pager,editor,index 3 noop +bind generic,pager,editor,index 4 noop +bind generic,pager,editor,index 5 noop +bind generic,pager,editor,index 6 noop +bind generic,pager,editor,index 7 noop +bind generic,pager,editor,index 8 noop +bind generic,pager,editor,index 9 noop +bind generic,pager,editor,index 0 noop +bind generic,pager,editor,index ! noop +bind generic,pager,editor,index @ noop +bind generic,pager,editor,index $ noop +bind generic,pager,editor,index % noop +bind generic,pager,editor,index ^ noop +bind generic,pager,editor,index & noop +bind generic,pager,editor,index * noop +bind generic,pager,editor,index ( noop +bind generic,pager,editor,index ) noop + +bind generic,pager,editor,index \Ca noop +bind generic,pager,editor,index \Cb noop +bind generic,pager,editor,index \Cc noop +bind generic,pager,editor,index \Cd noop +bind generic,pager,editor,index \Ce noop +bind generic,pager,editor,index \Cf noop +bind generic,pager,editor,index \Cg noop +bind generic,pager,editor,index \Ch noop +bind generic,pager,editor,index \Ci noop +bind generic,pager,editor,index \Cj noop +bind generic,pager,editor,index \Ck noop +bind generic,pager,editor,index \Cl noop +bind generic,pager,editor,index \Cm noop +bind generic,pager,editor,index \Cn noop +bind generic,pager,editor,index \Co noop +bind generic,pager,editor,index \Cp noop +bind generic,pager,editor,index \Cq noop +bind generic,pager,editor,index \Cr noop +bind generic,pager,editor,index \Cs noop +bind generic,pager,editor,index \Ct noop +bind generic,pager,editor,index \Cu noop +bind generic,pager,editor,index \Cv noop +bind generic,pager,editor,index \Cw noop +bind generic,pager,editor,index \Cx noop +bind generic,pager,editor,index \Cy noop +bind generic,pager,editor,index \Cz noop +bind generic,pager,editor,index \CA noop +bind generic,pager,editor,index \CB noop +bind generic,pager,editor,index \CC noop +bind generic,pager,editor,index \CD noop +bind generic,pager,editor,index \CE noop +bind generic,pager,editor,index \CF noop +bind generic,pager,editor,index \CG noop +bind generic,pager,editor,index \CH noop +bind generic,pager,editor,index \CI noop +bind generic,pager,editor,index \CJ noop +bind generic,pager,editor,index \CK noop +bind generic,pager,editor,index \CL noop +bind generic,pager,editor,index \CM noop +bind generic,pager,editor,index \CN noop +bind generic,pager,editor,index \CO noop +bind generic,pager,editor,index \CP noop +bind generic,pager,editor,index \CQ noop +bind generic,pager,editor,index \CR noop +bind generic,pager,editor,index \CS noop +bind generic,pager,editor,index \CT noop +bind generic,pager,editor,index \CU noop +bind generic,pager,editor,index \CV noop +bind generic,pager,editor,index \CW noop +bind generic,pager,editor,index \CX noop +bind generic,pager,editor,index \CY noop +bind generic,pager,editor,index \CZ noop + +bind generic,pager,editor,index \C noop +bind generic,pager,editor,index \C noop +bind generic,pager,editor,index \C noop +bind generic,pager,editor,index \C noop +bind generic,pager,editor,index \C noop +bind generic,pager,editor,index \C noop +bind generic,pager,editor,index \C noop +bind generic,pager,editor,index \C noop +bind generic,pager,editor,index \C noop +bind generic,pager,editor,index \C noop +bind generic,pager,editor,index \C noop +bind generic,pager,editor,index \C noop +bind generic,pager,editor,index \C noop +bind generic,pager,editor,index \C noop + +bind generic,pager,editor,index \C1 noop +bind generic,pager,editor,index \C2 noop +bind generic,pager,editor,index \C3 noop +bind generic,pager,editor,index \C4 noop +bind generic,pager,editor,index \C5 noop +bind generic,pager,editor,index \C6 noop +bind generic,pager,editor,index \C7 noop +bind generic,pager,editor,index \C8 noop +bind generic,pager,editor,index \C9 noop +bind generic,pager,editor,index \C0 noop +bind generic,pager,editor,index \C! noop +bind generic,pager,editor,index \C$ noop +bind generic,pager,editor,index \C% noop +bind generic,pager,editor,index \C^ noop +bind generic,pager,editor,index \C& noop +bind generic,pager,editor,index \C* noop +bind generic,pager,editor,index \C( noop +bind generic,pager,editor,index \C) noop + +bind generic,pager,editor,index a noop +bind generic,pager,editor,index b noop +bind generic,pager,editor,index c noop +bind generic,pager,editor,index d noop +bind generic,pager,editor,index e noop +bind generic,pager,editor,index f noop +bind generic,pager,editor,index g noop +bind generic,pager,editor,index h noop +bind generic,pager,editor,index i noop +bind generic,pager,editor,index j noop +bind generic,pager,editor,index k noop +bind generic,pager,editor,index l noop +bind generic,pager,editor,index m noop +bind generic,pager,editor,index n noop +bind generic,pager,editor,index o noop +bind generic,pager,editor,index p noop +bind generic,pager,editor,index q noop +bind generic,pager,editor,index r noop +bind generic,pager,editor,index s noop +bind generic,pager,editor,index t noop +bind generic,pager,editor,index u noop +bind generic,pager,editor,index v noop +bind generic,pager,editor,index w noop +bind generic,pager,editor,index x noop +bind generic,pager,editor,index y noop +bind generic,pager,editor,index z noop +bind generic,pager,editor,index A noop +bind generic,pager,editor,index B noop +bind generic,pager,editor,index C noop +bind generic,pager,editor,index D noop +bind generic,pager,editor,index E noop +bind generic,pager,editor,index F noop +bind generic,pager,editor,index G noop +bind generic,pager,editor,index H noop +bind generic,pager,editor,index I noop +bind generic,pager,editor,index J noop +bind generic,pager,editor,index K noop +bind generic,pager,editor,index L noop +bind generic,pager,editor,index M noop +bind generic,pager,editor,index N noop +bind generic,pager,editor,index O noop +bind generic,pager,editor,index P noop +bind generic,pager,editor,index Q noop +bind generic,pager,editor,index R noop +bind generic,pager,editor,index S noop +bind generic,pager,editor,index T noop +bind generic,pager,editor,index U noop +bind generic,pager,editor,index V noop +bind generic,pager,editor,index W noop +bind generic,pager,editor,index X noop +bind generic,pager,editor,index Y noop +bind generic,pager,editor,index Z noop + +bind generic,pager,editor,index noop +bind generic,pager,editor,index noop +bind generic,pager,editor,index noop +bind generic,pager,editor,index noop +bind generic,pager,editor,index noop +bind generic,pager,editor,index noop +bind generic,pager,editor,index noop +bind generic,pager,editor,index noop +bind generic,pager,editor,index noop +bind generic,pager,editor,index noop +bind generic,pager,editor,index noop +bind generic,pager,editor,index noop +bind generic,pager,editor,index noop +bind generic,pager,editor,index noop + +bind generic,pager,editor,index 1 noop +bind generic,pager,editor,index 2 noop +bind generic,pager,editor,index 3 noop +bind generic,pager,editor,index 4 noop +bind generic,pager,editor,index 5 noop +bind generic,pager,editor,index 6 noop +bind generic,pager,editor,index 7 noop +bind generic,pager,editor,index 8 noop +bind generic,pager,editor,index 9 noop +bind generic,pager,editor,index 0 noop +bind generic,pager,editor,index ! noop +bind generic,pager,editor,index @ noop +bind generic,pager,editor,index $ noop +bind generic,pager,editor,index % noop +bind generic,pager,editor,index ^ noop +bind generic,pager,editor,index & noop +bind generic,pager,editor,index * noop +bind generic,pager,editor,index ( noop +bind generic,pager,editor,index ) noop + +bind generic,pager,editor,index ^T noop + +# Movement +bind generic,index 0 first-entry +bind generic,index g first-entry +bind generic,index G last-entry +# Right +bind generic select-entry +bind generic l select-entry +bind generic select-entry +bind index display-message +bind index l display-message +bind index display-message +bind pager l view-attachments +bind pager view-attachments +bind attach l view-text +bind attach view-text +# Left +macro index h "c?\t" "Go back to the list of mailboxes" +macro index "c?\t" "Go back to the list of mailboxes" +bind attach h exit +bind attach exit +bind pager h exit +bind pager exit +# Up +bind generic,index,pager previous-page +bind generic,index k previous-entry +bind generic,index previous-entry +bind pager k previous-line +bind pager previous-line +# Down +bind generic,index,pager next-page +bind generic,index j next-entry +bind generic,index next-entry +bind index n search-next +bind pager j next-line +bind pager next-line +bind pager N search-opposite +bind pager n next-entry + +# Exit/Quit (quit will prompt) +bind generic,index,pager,index Q exit +bind generic,index,pager,index q quit + +# Reload configuration +macro generic,index,pager,editor , ":source ~/.mutt/muttrc\n" "Reload mutt's configuration file" + +# Tab complete +bind editor complete-query +bind editor ^T complete + +# Writing mail +bind index,pager m mail +bind index,pager r reply +bind index,pager b bounce-message +bind index,pager f forward-message + +# Archive +macro index,pager d "=Archive" "Archive" +macro index,pager y "=Archive" "Archive" + +# Misc +bind generic,index,pager / search +bind generic,index,pager : enter-command +bind index,pager @ display-address +bind index,pager a create-alias +bind index,pager o sort-mailbox +bind index,pager s save-message +bind index,pager | pipe-message +bind index,pager $ sync-mailbox +macro index,pager "mbsync -a" "Show Mutt documentation" +bind index ? limit +bind index p print-message +bind index u undelete-message +bind index x toggle-read +bind index c change-folder +bind pager H display-toggle-weed + +# Staging +# +# TODO: Might be used to do an mbsync +# bind index,pager R list-reply +# +# bind pager p print-message +# +# Setting/clearing flags +# bind index W clear-flag +# bind index w set-flag +# macro index ! wN "Mark email as unread" +# bind index P previous-new-then-unread +# bind index N next-new-then-unread +# macro index r WNn "Mark as read, then go to next" +# bind index t read-thread +# macro index T tn +# +# bind browser check-new +# bind browser N select-new +# bind index r group-reply # Control-r, \Cr +# vim: set ft=neomuttrc diff --git a/mutt/.mutt/gen_html.sh b/mutt/.mutt/gen_html.sh new file mode 100755 index 0000000..6fc85e2 --- /dev/null +++ b/mutt/.mutt/gen_html.sh @@ -0,0 +1,18 @@ +#!/bin/sh +set -ex + +FILE="$1" +if [[ -z "$FILE" ]]; then + printf "No HTML file given" >&2 + exit 1 +fi +TMP_DIR="$(mktemp -d)" +# Force the name input.html since some attachments may have malformed extensions/no extension +cp "$FILE" "$TMP_DIR/input.html" + +# docker container run -it --rm -v "$TMP_DIR:/usr/src/app" zenika/alpine-chrome --no-sandbox --screenshot --hide-scrollbars "file:///usr/src/app/input.html" +# Works but screenshot is usually too large +# docker container run -it --net none --rm -v "$TMP_DIR:/usr/src/app" zenika/alpine-chrome --no-sandbox --screenshot --window-size=1280,1696 --hide-scrollbars "file:///usr/src/app/input.html" +docker container run -it --rm -v "$TMP_DIR:/usr/src/app" zenika/alpine-chrome --no-sandbox --print-to-pdf --hide-scrollbars "file:///usr/src/app/input.html" + +xdg-open "$TMP_DIR/output.pdf" diff --git a/mutt/.mutt/mailcap b/mutt/.mutt/mailcap new file mode 100644 index 0000000..d6595f6 --- /dev/null +++ b/mutt/.mutt/mailcap @@ -0,0 +1,12 @@ +# text/html; w3m -I %{charset} -T text/html; copiousoutput; +# text/html; pandoc -f html -t markdown; copiousoutput; compose=vim %s +# application/pdf; pandoc -f html -t markdown; copiousoutput; compose=vim %s +application/pdf; ~/.mutt/attach_fork.sh okular %s +application/vnd.openxmlformats-officedocument.wordprocessingml.document; libreoffice %s +application/octet-stream; ~/.mutt/attach_fork.sh okular %s + +text/html; ~/.mutt/gen_html.sh %s +text/html; w3m -I %{charset} -T text/html; copiousoutput + +image/jpeg; feh +image/png; feh diff --git a/mutt/.mutt/muttrc b/mutt/.mutt/muttrc new file mode 100644 index 0000000..712833c --- /dev/null +++ b/mutt/.mutt/muttrc @@ -0,0 +1,71 @@ +# Setup bindings +source ~/.mutt/bindings + +set smtp_authenticators = "login" +#set ssl_force_tls = yes +set smtp_authenticators = 'gssapi:login' + +# character set on sent messages +set send_charset="utf-8" +# if there is no character set given on incoming messages, it is probably windows +set assumed_charset="iso-8859-1" + +set sendmail="/usr/bin/msmtp" +set use_from=yes +set use_envelope_from = yes + +# So we can change from +set edit_headers=yes + +# make sure Vim knows Mutt is a mail client and that a UTF-8 encoded message will be composed +set editor="vim -c 'set syntax=mail ft=mail enc=utf-8 formatoptions-=t'" + +# Treat text as flowed +# End lines with whitespae to chomp them +# Otherwise, newlines will be kept +#set text_flowed +# Apparently this doesn't work well with some clients + +# auto_view application/msword +# auto_view application/pdf + +# make default search pattern to search in To, Cc and Subject +# set simple_search="~f %s | ~C %s | ~s %s" + +# folder-hook 'personal' +# macro index 1 " =../EMAIL_ADDRESS/inbox/" +# macro index 2 +set move = no + +# macro index,pager d "=Archive" "Archive" +# macro index,pager y "=Archive" "Archive" + +# Aliases +set alias_file = "~/.mutt/aliases" +set sort_alias = alias +set reverse_alias = yes +source $alias_file + +# Sort reverse order +set sort_aux=reverse-date-received +set sort=threads +set sort_re +set date_format = "%m/%d/%t" + +# prefer plain text +alternative_order text/plain text/enriched text/html + +# auto convert text/html MIME type to text/plain +auto_view text/html + +# urls +# macro pager \cb 'tr -d "\n" | w3m' 'Follow links in w3m' + macro pager \cb 'w3m' 'Follow links in w3m' +# macro pager \cb 'pandoc -f html -t markdown | vim -' 'Open as markdown' + +set mailcap_path = ~/.mutt/mailcap + +# macro index z "!mbsync -a^M" "Update through mbsync" + +source ~/.mutt/private +# vim: set ft=muttrc diff --git a/mutt/.mutt/tmp.html b/mutt/.mutt/tmp.html new file mode 100644 index 0000000..b9d6553 --- /dev/null +++ b/mutt/.mutt/tmp.html @@ -0,0 +1,372 @@ +# Heavily modified from https://github.com/iagox86/mutt/blob/master/keybindings.conf + +# generic => *~pager/editor +# browser => Mailbox list +# index => List of emails +# pager => Email read screen +# attach => Attachments list +# editor => Command line; not sure what else + +bind generic,pager,editor,index | noop +bind generic,pager,editor,index a noop +bind generic,pager,editor,index b noop +bind generic,pager,editor,index c noop +bind generic,pager,editor,index d noop +bind generic,pager,editor,index e noop +bind generic,pager,editor,index f noop +bind generic,pager,editor,index g noop +bind generic,pager,editor,index h noop +bind generic,pager,editor,index i noop +bind generic,pager,editor,index j noop +bind generic,pager,editor,index k noop +bind generic,pager,editor,index l noop +bind generic,pager,editor,index m noop +bind generic,pager,editor,index n noop +bind generic,pager,editor,index o noop +bind generic,pager,editor,index p noop +bind generic,pager,editor,index q noop +bind generic,pager,editor,index r noop +bind generic,pager,editor,index s noop +bind generic,pager,editor,index t noop +bind generic,pager,editor,index u noop +bind generic,pager,editor,index v noop +bind generic,pager,editor,index w noop +bind generic,pager,editor,index x noop +bind generic,pager,editor,index y noop +bind generic,pager,editor,index z noop +bind generic,pager,editor,index A noop +bind generic,pager,editor,index B noop +bind generic,pager,editor,index C noop +bind generic,pager,editor,index D noop +bind generic,pager,editor,index E noop +bind generic,pager,editor,index F noop +bind generic,pager,editor,index G noop +bind generic,pager,editor,index H noop +bind generic,pager,editor,index I noop +bind generic,pager,editor,index J noop +bind generic,pager,editor,index K noop +bind generic,pager,editor,index L noop +bind generic,pager,editor,index M noop +bind generic,pager,editor,index N noop +bind generic,pager,editor,index O noop +bind generic,pager,editor,index P noop +bind generic,pager,editor,index Q noop +bind generic,pager,editor,index R noop +bind generic,pager,editor,index S noop +bind generic,pager,editor,index T noop +bind generic,pager,editor,index U noop +bind generic,pager,editor,index V noop +bind generic,pager,editor,index W noop +bind generic,pager,editor,index X noop +bind generic,pager,editor,index Y noop +bind generic,pager,editor,index Z noop + +bind generic,pager,editor,index noop +bind generic,pager,editor,index noop +bind generic,pager,editor,index noop +bind generic,pager,editor,index noop +bind generic,pager,editor,index noop +bind generic,pager,editor,index noop +bind generic,pager,editor,index noop +bind generic,pager,editor,index noop +bind generic,pager,editor,index noop +bind generic,pager,editor,index noop +bind generic,pager,editor,index noop +bind generic,pager,editor,index noop +bind generic,pager,editor,index noop +bind generic,pager,editor,index noop + +bind generic,pager,editor,index 1 noop +bind generic,pager,editor,index 2 noop +bind generic,pager,editor,index 3 noop +bind generic,pager,editor,index 4 noop +bind generic,pager,editor,index 5 noop +bind generic,pager,editor,index 6 noop +bind generic,pager,editor,index 7 noop +bind generic,pager,editor,index 8 noop +bind generic,pager,editor,index 9 noop +bind generic,pager,editor,index 0 noop +bind generic,pager,editor,index ! noop +bind generic,pager,editor,index @ noop +bind generic,pager,editor,index $ noop +bind generic,pager,editor,index % noop +bind generic,pager,editor,index ^ noop +bind generic,pager,editor,index & noop +bind generic,pager,editor,index * noop +bind generic,pager,editor,index ( noop +bind generic,pager,editor,index ) noop + +bind generic,pager,editor,index \Ca noop +bind generic,pager,editor,index \Cb noop +bind generic,pager,editor,index \Cc noop +bind generic,pager,editor,index \Cd noop +bind generic,pager,editor,index \Ce noop +bind generic,pager,editor,index \Cf noop +bind generic,pager,editor,index \Cg noop +bind generic,pager,editor,index \Ch noop +bind generic,pager,editor,index \Ci noop +bind generic,pager,editor,index \Cj noop +bind generic,pager,editor,index \Ck noop +bind generic,pager,editor,index \Cl noop +bind generic,pager,editor,index \Cm noop +bind generic,pager,editor,index \Cn noop +bind generic,pager,editor,index \Co noop +bind generic,pager,editor,index \Cp noop +bind generic,pager,editor,index \Cq noop +bind generic,pager,editor,index \Cr noop +bind generic,pager,editor,index \Cs noop +bind generic,pager,editor,index \Ct noop +bind generic,pager,editor,index \Cu noop +bind generic,pager,editor,index \Cv noop +bind generic,pager,editor,index \Cw noop +bind generic,pager,editor,index \Cx noop +bind generic,pager,editor,index \Cy noop +bind generic,pager,editor,index \Cz noop +bind generic,pager,editor,index \CA noop +bind generic,pager,editor,index \CB noop +bind generic,pager,editor,index \CC noop +bind generic,pager,editor,index \CD noop +bind generic,pager,editor,index \CE noop +bind generic,pager,editor,index \CF noop +bind generic,pager,editor,index \CG noop +bind generic,pager,editor,index \CH noop +bind generic,pager,editor,index \CI noop +bind generic,pager,editor,index \CJ noop +bind generic,pager,editor,index \CK noop +bind generic,pager,editor,index \CL noop +bind generic,pager,editor,index \CM noop +bind generic,pager,editor,index \CN noop +bind generic,pager,editor,index \CO noop +bind generic,pager,editor,index \CP noop +bind generic,pager,editor,index \CQ noop +bind generic,pager,editor,index \CR noop +bind generic,pager,editor,index \CS noop +bind generic,pager,editor,index \CT noop +bind generic,pager,editor,index \CU noop +bind generic,pager,editor,index \CV noop +bind generic,pager,editor,index \CW noop +bind generic,pager,editor,index \CX noop +bind generic,pager,editor,index \CY noop +bind generic,pager,editor,index \CZ noop + +bind generic,pager,editor,index \C noop +bind generic,pager,editor,index \C noop +bind generic,pager,editor,index \C noop +bind generic,pager,editor,index \C noop +bind generic,pager,editor,index \C noop +bind generic,pager,editor,index \C noop +bind generic,pager,editor,index \C noop +bind generic,pager,editor,index \C noop +bind generic,pager,editor,index \C noop +bind generic,pager,editor,index \C noop +bind generic,pager,editor,index \C noop +bind generic,pager,editor,index \C noop +bind generic,pager,editor,index \C noop +bind generic,pager,editor,index \C noop + +bind generic,pager,editor,index \C1 noop +bind generic,pager,editor,index \C2 noop +bind generic,pager,editor,index \C3 noop +bind generic,pager,editor,index \C4 noop +bind generic,pager,editor,index \C5 noop +bind generic,pager,editor,index \C6 noop +bind generic,pager,editor,index \C7 noop +bind generic,pager,editor,index \C8 noop +bind generic,pager,editor,index \C9 noop +bind generic,pager,editor,index \C0 noop +bind generic,pager,editor,index \C! noop +bind generic,pager,editor,index \C$ noop +bind generic,pager,editor,index \C% noop +bind generic,pager,editor,index \C^ noop +bind generic,pager,editor,index \C& noop +bind generic,pager,editor,index \C* noop +bind generic,pager,editor,index \C( noop +bind generic,pager,editor,index \C) noop + +bind generic,pager,editor,index a noop +bind generic,pager,editor,index b noop +bind generic,pager,editor,index c noop +bind generic,pager,editor,index d noop +bind generic,pager,editor,index e noop +bind generic,pager,editor,index f noop +bind generic,pager,editor,index g noop +bind generic,pager,editor,index h noop +bind generic,pager,editor,index i noop +bind generic,pager,editor,index j noop +bind generic,pager,editor,index k noop +bind generic,pager,editor,index l noop +bind generic,pager,editor,index m noop +bind generic,pager,editor,index n noop +bind generic,pager,editor,index o noop +bind generic,pager,editor,index p noop +bind generic,pager,editor,index q noop +bind generic,pager,editor,index r noop +bind generic,pager,editor,index s noop +bind generic,pager,editor,index t noop +bind generic,pager,editor,index u noop +bind generic,pager,editor,index v noop +bind generic,pager,editor,index w noop +bind generic,pager,editor,index x noop +bind generic,pager,editor,index y noop +bind generic,pager,editor,index z noop +bind generic,pager,editor,index A noop +bind generic,pager,editor,index B noop +bind generic,pager,editor,index C noop +bind generic,pager,editor,index D noop +bind generic,pager,editor,index E noop +bind generic,pager,editor,index F noop +bind generic,pager,editor,index G noop +bind generic,pager,editor,index H noop +bind generic,pager,editor,index I noop +bind generic,pager,editor,index J noop +bind generic,pager,editor,index K noop +bind generic,pager,editor,index L noop +bind generic,pager,editor,index M noop +bind generic,pager,editor,index N noop +bind generic,pager,editor,index O noop +bind generic,pager,editor,index P noop +bind generic,pager,editor,index Q noop +bind generic,pager,editor,index R noop +bind generic,pager,editor,index S noop +bind generic,pager,editor,index T noop +bind generic,pager,editor,index U noop +bind generic,pager,editor,index V noop +bind generic,pager,editor,index W noop +bind generic,pager,editor,index X noop +bind generic,pager,editor,index Y noop +bind generic,pager,editor,index Z noop + +bind generic,pager,editor,index noop +bind generic,pager,editor,index noop +bind generic,pager,editor,index noop +bind generic,pager,editor,index noop +bind generic,pager,editor,index noop +bind generic,pager,editor,index noop +bind generic,pager,editor,index noop +bind generic,pager,editor,index noop +bind generic,pager,editor,index noop +bind generic,pager,editor,index noop +bind generic,pager,editor,index noop +bind generic,pager,editor,index noop +bind generic,pager,editor,index noop +bind generic,pager,editor,index noop + +bind generic,pager,editor,index 1 noop +bind generic,pager,editor,index 2 noop +bind generic,pager,editor,index 3 noop +bind generic,pager,editor,index 4 noop +bind generic,pager,editor,index 5 noop +bind generic,pager,editor,index 6 noop +bind generic,pager,editor,index 7 noop +bind generic,pager,editor,index 8 noop +bind generic,pager,editor,index 9 noop +bind generic,pager,editor,index 0 noop +bind generic,pager,editor,index ! noop +bind generic,pager,editor,index @ noop +bind generic,pager,editor,index $ noop +bind generic,pager,editor,index % noop +bind generic,pager,editor,index ^ noop +bind generic,pager,editor,index & noop +bind generic,pager,editor,index * noop +bind generic,pager,editor,index ( noop +bind generic,pager,editor,index ) noop + +bind generic,pager,editor,index ^T noop + +# Movement +bind generic,index 0 first-entry +bind generic,index g first-entry +bind generic,index G last-entry +# Right +bind generic select-entry +bind generic l select-entry +bind generic select-entry +bind index display-message +bind index l display-message +bind index display-message +bind pager l view-attachments +bind pager view-attachments +bind attach l view-text +bind attach view-text +# Left +macro index h "c?\t" "Go back to the list of mailboxes" +macro index "c?\t" "Go back to the list of mailboxes" +bind attach h exit +bind attach exit +bind pager h exit +bind pager exit +# Up +bind generic,index,pager previous-page +bind generic,index k previous-entry +bind generic,index previous-entry +bind pager k previous-line +bind pager previous-line +# Down +bind generic,index,pager next-page +bind generic,index j next-entry +bind generic,index next-entry +bind index n search-next +bind pager j next-line +bind pager next-line +bind pager N search-opposite +bind pager n next-entry + +# Exit/Quit (quit will prompt) +bind generic,index,pager,index Q exit +bind generic,index,pager,index q quit + +# Reload configuration +macro generic,index,pager,editor , ":source ~/.mutt/muttrc\n" "Reload mutt's configuration file" + +# Tab complete +bind editor complete-query +bind editor ^T complete + +# Writing mail +bind index,pager m mail +bind index,pager r reply +bind index,pager b bounce-message +bind index,pager f forward-message + +# Archive +macro index,pager d "=Archive" "Archive" +macro index,pager y "=Archive" "Archive" + +# Misc +bind generic,index,pager / search +bind generic,index,pager : enter-command +bind index,pager @ display-address +bind index,pager a create-alias +bind index,pager o sort-mailbox +bind index,pager s save-message +bind index,pager | pipe-message +bind index,pager $ sync-mailbox +macro index,pager "mbsync -a" "Show Mutt documentation" +bind index ? limit +bind index p print-message +bind index u undelete-message +bind index x toggle-read +bind index c change-folder +bind pager H display-toggle-weed + +# Staging +# +# TODO: Might be used to do an mbsync +# bind index,pager R list-reply +# +# bind pager p print-message +# +# Setting/clearing flags +# bind index W clear-flag +# bind index w set-flag +# macro index ! wN "Mark email as unread" +# bind index P previous-new-then-unread +# bind index N next-new-then-unread +# macro index r WNn "Mark as read, then go to next" +# bind index t read-thread +# macro index T tn +# +# bind browser check-new +# bind browser N select-new +# bind index r group-reply # Control-r, \Cr +# vim: set ft=neomuttrc