dotfiles/muttrc

751 lines
21 KiB
Plaintext
Raw Normal View History

2020-01-03 10:10:15 +01:00
##-*- mode: shell-script -*-
####################
## ~/.mutt/muttrc ##
####################
## Mutt 1.4.2.1i (2004-02-12)
## Mutt 1.5.13 (2007)
## Time-stamp: <2020-01-03 10:09:48 (dan)>
## where is my mind? se non lo sai tu
## dove conservo le mail
set folder=$HOME/Mail
## dove arrivano le mail
set spoolfile=/var/mail/dan
## inbox
set mbox=$HOME/Mail/INBOX
## outbox
set record=$HOME/Mail/OUTBOX
## postponed - draft messages
set postponed=$HOME/Mail/Postponed
## temp dir
set tmpdir=$TMPDIR
## signature
set signature="$HOME/.mutt/signature"
## signature random
## crea il file "fortune" con adagi separati da %
## oppure crea il file "fortune.dat" con strfile fortune
#set signature="fortune $HOME/.mutt/fortune|"
## certificati
set certificate_file="$HOME/.mutt/certificates"
## default: /.mutt_certificates
set editor="/usr/bin/emacs %s"
#############
## MAILCAP ##
#############
set mailcap_path="$HOME/.mutt/mailcap"
set mailcap_sanitize=yes
## che allegati vuoi vedere inline (html solo dump)
auto_view text/html
## ordine nel quale mailcap visualizza
alternative_order text/plain text/enriched text/html text image/*
###############
## MAILBOXES ##
###############
## specifica le mailbox che ricevono mail dove bisogna controllare per nuovi messaggi.
## usa TAB per mostrare il menu delle mailbox specificate e per ciclare i Nuovi msg
## mutt -y mostra direttamente le mailbox specificate.
## ! significa "spoolfile" (/var/mail/user)
## = oppure + significa "$HOME/Mail
## \ significa a capo e continua
mailboxes ! \
=INBOX =OUTBOX =Postponed \
`echo $HOME/Mail/Lists/*`
set message_cachedir="$HOME/tmp"
##############
## IDENTITY ##
##############
## specifica realname (overriden da $from)
#set realname="Nome"
## specifica il from (override realname)
#set from="Nome Cognome <nome@macchina.org>"
## Alternates
alternates = nome@macchina.org
alternates = nome2@macchina2.org
## usa per il reply lo stesso from come hai ricevuto.
set reverse_name
## as is
set reverse_realname=yes
## genera il from nei messaggi in uscita
set use_from=yes
## mostra il nome vero di chi mi scrive (dagli alias)
set reverse_alias=yes
## mutt cerca di derivare il sender dal "From:" header
set envelope_from=yes
## per le mail locali. overrides /etc/resolv.conf
#set hostname=macchina.macchina.taz
################
## MY HEADERS ##
################
## include `my_hdr' nei messaggi in uscita
set hdrs
## includi gli header quotati nel messaggio di risposta
#set header
#my_hdr X-URL: http://url.org
my_hdr X-Accept-Language: It, Fr, En, Es
#my_hdr X-Operating-System: `uname -srm`
my_hdr X-Mailer: Mutt http://www.mutt.org
my_hdr X-Editor: GNU Emacs http://www.emacs.org
#my_hdr Reply-By: `date --date="666 hours ago" +"%a, %d %b %Y %T %z"`
#my_hdr X-Message-Flag: Non capita spesso di flaggare un messaggio come importante, ma è capitato.
my_hdr X-GPG-Key: http://daniele.freeshell.org/pubkey.asc
my_hdr X-GPG-Fingerprint: 6505 F2DB 8F9B 5B2E 86A2 EC60 1C58 C6DA D3D3 0CCB
my_hdr X-Quote: if you thought that there is a better way you were right
#my_hdr User-Agent: Mutt
# genera un header apposta per le Liste
set followup_to=yes
############################
## YOUR HEADERS - WEEDING ##
############################
## gli headers da visualizzare
## prima li ignoro tutti, poi indico quelli che voglio vedere
## hit "h" toggle full headers view on/off
ignore *
unignore From: To: Cc: Bcc: \
Reply-To: Return-Path: \
X-URL: X-Accept-Language: \
Organization: X-Organization: \
X-Operating-System: X-Mailer: User-Agent: X-MimeOLE: \
X-GPG-Key: X-GPG-Keynumber: X-GPG-Keyserver: X-GPG-Key: X-GPG-Fingerprint: \
X-Disclaimer: X-Quote: \
X-Face: \
X-newsreader: X-mailing-list: \
posted-to: \
Message-Id: \
Date: \
Subject:
## ordine di visualizzazione degli header
unhdr_order *
hdr_order To: Cc: Bcc: \
Date: \
Reply-To: Return-Path: \
X-URL: X-Accept-Language: \
Organization: X-Organization: \
X-Operating-System: X-Mailer: User-Agent: X-MimeOLE: \
X-GPG-Key: X-GPG-Keynumber: X-GPG-Keyserver: X-GPG-Key: X-GPG-Fingerprint: \
X-Disclaimer: X-Quote: \
X-Face: \
X-newsreader: X-mailing-list: \
posted-to: \
Message-Id: \
From: \
Subject:
##########################
## SORTING OF THE MAILS ##
##########################
## date-received, date-sent, from, mailbox-order, size, subject, threads, to, score
## and everything with a prefixed "reverse-"
## sort_aux can be prefixed with "last-" to use last element in thread instead of first one
## ordinamento primario in base ai thread
set sort=threads
## ordinamento secondario in base alla data di invio
set sort_aux=date-sent
#set sort_aux=reverse-date-received
#set sort_aux=date-received
#set sort_aux=last-date
#set sort_aux=reverse-score
## mostra i doppioni
set duplicate_threads=yes
## non collassare i thread se contengono messaggi non letti
set collapse_unread=no
## Use received date instead of Date: for thread
set thread_received
## ordina le mbox per date
#set sort_browser=reverse-date
##############################
## SORTING IN FILE BROWSING ##
##############################
## specifica come ordina le mail nel browser. default alfabeticamente.
## valori validi: alpha, date, size, unsorted
## puoi anche usare il reverse- prefix
#set sort_browser=reverse-date
set sort_browser=alpha
## come precedo le quotes
#set indent_string="> "
set indent_string=">"
## inserisci testo alla fine del quote
#set post_indent_string='---end quoted text---'
## shift-T toggla quote visibile ON/OFF
## mette automaticamente "--" prima della firma
set sig_dashes=no
## usa il cursore come freccia invece che come barra
#set arrow_cursor=yes
## preferisco la status bar in alto
#set status_on_top
## come appare preceduto il quote
## n=nome a=email d=data D=data mia s=subject
## Default: "On %d, %n wrote:"
#set attribution="il `date +%A` `date +%d` `date +%B` `date +%Y`, alle `date +%k` e `date +%M` rispondo cosi:"
#set attribution="%n <%a> [%(%d/%m/%y %H:%M)]:"
#set attribution="On [%d] %n <%a> ha scritto:"
set attribution="On %d, %n wrote:"
## muovi i msg automaticamente?
set move=ask-yes
## always include msg when replying
set include
## salva una copia dei msg in uscita
set copy=ask-yes
## cancellare i msg deletati
set delete=ask-yes
## chiedi prima di uscire
set quit=ask-yes
## domanda se reply al mittente o se obbedire al reply-to (se diverso)
set reply_to=ask-yes
## fammi editare gli header quando compongo
set edit_headers=yes
##############
## SENDMAIL ##
##############
set sendmail="msmtp -a ISP -C $HOME/msmtprc"
#set sendmail="ssmtp -C $HOME/ssmtp.conf"
send2-hook '~f dan@macchina.org' 'set sendmail="msmtp -a macchina -C $HOME/msmtprc"'
###############
## MIXMASTER ##
###############
#set mixmaster="/usr/bin/mixmaster -m -S
#######################
## mutt SMTP support ##
#######################
## dal 1.5.x in poi, se compilato +USE_SASL +USE_SMTP
#set smtp_url="smtps://dan@autistici.org:secret@mail.autistici.org"
#set smtp_authenticators="cram-md5"
##################
## Status Flags ##
##################
## D message is deleted (is marked for deletion)
## d message have attachments marked for deletion
## K contains a PGP public key
## N message is new
## O message is old
## P message is PGP encrypted
## r message has been replied to
## S message is PGP signed and the signature is succesfully verified
## s message is PGP signed
## ! message is flagged
## * message is tagged
## Some of the status flags can be turned on or off using
## * set-flag (default: w)
## * clear-flag (default: W)
## w apre un menu flag
## per vedere solo le mail flaggate: l ~F
## per vedere solo le mail taggate: l ~T
## the following flags reflect who the message is addressed to.
## They can be customized with the $to_chars variable. sono 6 in tutto:
## space message is not to you
## + message is to you and you only
## T message is to you, but also to or cc'ed to others
## C message is cc'ed to you
## F message is from you
## L message is sent to a subscribed mailing list
## set to_chars=" +TCFL" # default
#set to_chars="{ {{ l"
#set to_chars="{ {{ L"
## usavo questo
#set to_chars="b cC "
##################
## INDEX FORMAT ##
##################
## customize the message index display to your taste.
## Default: "%4C %Z %{%b %d} %-15.15L (%4l) %s"
## (vedi mrcb.muttrc per i valori ammessi)
## C=numero del msg, N=score del msg; Z= status flag
## b=nome del file, d=data/ora, n=autore o address, l=num linee
## M=numero messaggi nel thread, s=soggetto, c=peso in bytes del messaggio
#set index_format="%Z%3C %[%b%d] %-15.15L %s"
set index_format="%Z %3C %[%d/%m/%y] %-4.4c %25.25a %s"
## formato data
## il ! bang forza la data in inglese
#set date_format="!%a, %b %d, %Y at %I:%M:%S%p %Z" #default
set date_format="%d/%m/%y %H:%M %Z"
## formato forward dei msg
#set forward_format="[%a: %s]" # default
#set forward_format="[fwd (%-4.4c) from %a: %s]"
#set forward_format="[Forward: %a %s]"
set forward_format="[fwd: %s]"
## formato menu composizione
## legenda: %a numero allegati, %h local hostname, %l size, %v mutt version
#set compose_format="-- Mutt: Compose [Approx. msg size: %l Atts: %a]%>-" # default set compose_format="-- %v--
#Compose [Peso approx: %l attach: %a]%>-"set compose_format="---email-in-uscita---> pesa %l --> allegati %a %>-"
#Compose [approx msg size: %l allegati: %a]%>-"set compose_format="---email-in-uscita---> pesa %l --> num allegati %a %>-"
## formato index dei folder
#set folder_format="%2C %t %N %F %2l %-8.8u %-8.8g %8s %d %f" # default
set folder_format="%3C %t %N %f"
## formato linea di status del pager (di solito indirizzo)
set pager_format="-%Z- %C/%m: %-20.20n %s" # default
#set pager_format="-%Z- %C/%m: [%n] %s %|-"
## formato messaggi
#set message_format="%s" # default
## formato status
#set status_format="-%r-Mutt: %f [Msgs:%?M?%M/?%m%?n? New:%n?%?o? Old:%o?%?d? Del:%d?%?F? Flag:%F?%?t? Tag:%t?%?p? Post:%p?%?b? Inc:%b?%?l? %l?]---(%s/%S)-%>-(%P)---" #default
#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)---"
## formato menu attachement - allegati
#set attach_format="%u%D%I %t%4n %T%.40d%> [%.7m/%.10M, %.6e%?C?, %C?, %s] " # default
## corretta che senno' fa pastrocchi
set attach_format="%u%D%I %t%4n %T%d [%.7m/%.10M, %.6e%?C?, %C?, %s] "
## formato menu pgp
#set pgp_entry_format="%4n %t%f %4l/0x%k %-4a %2c %u" # default
set pgp_entry_format="%4n %t%f %[%y/%m/%d] %4l/0x%k %-4a %2c %u"
## formato menu alias
#set alias_format="%4n %2f %t %-10a %r" # default
set alias_format="%4n %2f %t %-26a %r"
## non marcare le mail vecchie
set nomark_old
## butta via automaticamente i reply non modificati
set abort_unmodified=yes
## chiede se abortire i subject vuoti
set abort_nosubject=ask-yes
## chiede conferma prima di appendere un msg ad una mbox esistente, default yes
set confirmappend=yes
## chiede conferma prima di creare una nuova mbox, default yes
set confirmcreate=yes
## salva i msg in uscita secondo il destinatario
set save_name
## mostra il progress mentre scrivi nelle mbox
set write_inc=25
## domanda se proporre il cc
#set askcc
## domanda se proporre il bcc
#set askbcc
## fcc by recipient, create if mailbox doesn't exist
#set force_name
## fammi o non_fammi vedere l'help
set help=no
## domanda se postporre un msg non mandato (quadoption)
set postpone=ask-yes
## domanda se richiamare i messaggi postposti (quadoption)
set recall=ask-no
## cancella automaticamente le mbox vuote
unset save_empty
## tipo di mbox
set mbox_type=mbox
## non fare bip a me, sai?
set beep=no
## non permetti il sospendi C-z
set suspend=no
## quanti comandi si ricorda, default 10
set history=5
## evita di precedere con ";" i comandi sulle taggate
set auto_tag=yes
## quali file mostrare nel file browser (. = tutti)
set mask="."
## mostra la versione di mutt allo startup
push V
####################
## PRINT - STAMPA ##
####################
## stampa bene (premi p per stampare)
#set print_command="enscript --font=LiberationSans10 --pretty-print"
## usa muttprint, default lpr
set print_command="muttprint"
## chiedi conferma prima di stampare
set print=ask-yes
#################
## ATTACHEMENT ##
#################
## mantenere gli allegati nelle mail salvate (quadoption)
#set fcc_attach=no
set fcc_attach=ask-yes
## mantenere gli allegati nelle mail forwardate
## questo chiede se allegare il messaggio invece che metterlo inline
## se lo mette inline, non acclude gli allegati
set mime_forward=ask-yes
set mime_forward_rest=yes
set forward_decode=yes
## tenta di tradurre inline l'allegato mime (funzia solo se e' plain txt)
set mime_forward_decode=no
#############
## CHARSET ##
#############
set charset=utf-8
set send_charset=utf-8
set allow_8bit
## usa gli ascii per i thread, ma e' brutto
set ascii_chars=no
charset-hook US-ASCII ISO-8859-15
#charset-hook utf-8
###########
## PAGER ##
###########
## quando scorri il pager e cambi pagina, il numero di righe che tiene
set pager_context=1
## num di linee del mini-index messaggi
set pager_index_lines=6
## blocca il pager alla fine del msg
set pager_stop=yes
## attiva il ritorno a capo delle righe piu' lunghe dello schermo
set smart_wrap=yes
## visualizza un '+' all'inizio delle righe mandate a capo
set markers=yes
## metti delle ~ alle righe vuote alla fine del msg
set tilde=yes
######################################
## SPELLING - CONTROLLO ORTOGRAFICO ##
######################################
#set ispell = "/opt/local/bin/aspell --mode=email check --lang=it_IT"
#########
## URL ##
#########
## mappa su ^b il browser esterno usando urlview
#macro index \cb |urlview\n
#macro pager \cb |urlview\n
## mappa su ^b il browser esterno usando urlscan
macro index,pager \cb "<pipe-message> urlscan<Enter>" "call urlscan to extract URLs out of a message"
macro attach,compose \cb "<pipe-entry> urlscan<Enter>" "call urlscan to extract URLs out of a message"
## reload il muttrc (ESC + r)
macro index \er ":source ~/.mutt/muttrc\n"
#############
## BINDING ##
#############
## Syntax: bind <map> <key> <function>
## Values for <map>:
## generic, alias, attach, browser, editor, index, compose, pager, pgp, postpone
## Special values for <key>: \t, <tab>, \r, \n, \e, <esc>, <up>, <down>, <left>, <right>, <pageup>,
## <pagedown>, <backspace>, <delete>, <insert>, <enter>, <home>, <end>, <space>, <f1>,...,<f10>
bind pager '[' half-up
bind pager ']' half-down
#########
## GPG ##
#########
set pgp_sign_as="0xD3D30CCB"
set pgp_autosign=yes
set pgp_autoencrypt=no
## capisci da te se hai a che fare con msg crittati inline traditional (evitami di fare ESC-P)
set pgp_auto_decode=yes
## verifica automaticamente le firme
set pgp_verify_sig=yes
## se ricevi firmato rispondi firmato
set pgp_replysign=yes
## se ricevi crittato rispondi crittato
set pgp_replyencrypt=yes
## se ricevi crittato e firmato rispondi crittato e firmato
set pgp_replysignencrypted
## salvo copia crittata di tutto quel che mando crittato
#set pgp_encryptself
## salva i sent msg crittati in chiaro
set fcc_clear=yes
## dimentico la passphrase dopo tot secondi (o alla chiusura di mutt)
set pgp_timeout=120
## uso quote printable se pgp vuolsi cosi' (on di default)
set pgp_strict_enc
## solitamente non e' necessario visualizzarle
#set pgp_ignore_subkeys
set pgp_decode_command="gpg %?p?--passphrase-fd 0? --no-verbose --batch --output - %f"
set pgp_verify_command="gpg --no-verbose --batch --status-fd 2 --output - --verify %s %f"
set pgp_decrypt_command="gpg --passphrase-fd 0 --no-verbose --batch --output - %f"
## create a application/pgp signed (old-style) message
set pgp_clearsign_command="gpg --no-verbose --batch --output - --passphrase-fd 0 --armor --textmode --clearsign %?a?-u %a? %f"
## create a pgp/mime signed attachment
set pgp_sign_command="gpg --no-verbose --batch --output - --passphrase-fd 0 --armor --detach-sign --textmode %?a?-u %a? %f"
## create a pgp/mime encrypted attachment
set pgp_encrypt_only_command="/usr/lib/mutt/pgpewrap gpg -v --batch --output - --encrypt --textmode --armor --always-trust -- -r %r -- %f"
## create a pgp/mime encrypted and signed attachment
set pgp_encrypt_sign_command="/usr/lib/mutt/pgpewrap gpg --passphrase-fd 0 -v --batch --output - --encrypt --sign %?a?-u %a? --armor --always-trust -- -r %r -- %f"
## import a key into the public key ring
set pgp_import_command="gpg --no-verbose --import -v %f"
## export a key from the public key ring
set pgp_export_command="gpg --no-verbose --export --armor %r"
## verify a key
set pgp_verify_key_command="gpg --no-verbose --batch --fingerprint --check-sigs %r"
## read in the public key ring
set pgp_list_pubring_command="gpg --no-verbose --batch --with-colons --list-keys %r"
## read in the secret key ring
set pgp_list_secring_command="gpg --no-verbose --batch --with-colons --list-secret-keys %r"
###########
## LISTS ##
###########
## subscribe alle Liste alle quali sei iscritto
## lists le Liste di cui conosci l'esistenza (ma non sei iscritto)
## serve a flaggare con una "L" nell'index status le mail dalla lista
subscribe lista@autistici.org
###########
## ALIAS ##
###########
set alias_file=$HOME/.mutt/aliases.mutt
## ordina gli alias in ordine alfabetico per nome indirizzo o per nome alias
## opzioni: address, alias, unsorted
set sort_alias=alias
############
## SOURCE ##
############
#source $HOME/.mutt/aliases.mutt
#source $HOME/.mutt/colors
#source $HOME/.mutt/hook.mutt
###########
## HOOKS ##
###########
folder-hook . set sort=threads
folder-hook /var/mail/dan set sort=date-received
folder-hook ~/Mail/INBOX set sort=date-received
folder-hook ~/Mail/OUTBOX set sort=date-sent
## thread collassati (folded) all'avvio
folder-hook . 'push <collapse-all>'
send-hook . unmy_hdr From:
send-hook . unmy_hdr Reply-To:
## manda dall'indirizzo email dal quale sei iscritto
send-hook (lista) 'my_hdr From: dan <dan@macchina.org>'
## non tenere copia delle mail mandate a una lista (le ricevi)
send-hook (lista|lista2) unset record
## qundo scrivo a un autistico mando da autistico
send-hook macchina\\.org 'my_hdr From: dan <dan@macchina.org>'
#send-hook '~f dan@macchina\.org' 'my_hdr X-Quote: if we cannot be free at least we can be cheap'
## critta sempre quello che mando
send-hook usagpg@macchina.org 'set pgp_autoencrypt'
## salva mail in uscita nella giusta mbox e usa il nome giusto.
fcc-save-hook lea@macchina.org +People/lea
fcc-save-hook root@akpi.altrove.taz +logwatch
############
## COLORI ##
############
## COLORI: white black green magenta blue cyan yellow red (bright)
## SYNTAX: color target foreground background [arguments]
color normal white default
color status white blue
color indicator white blue
color message white default
color error white default
color search black red
color signature blue default
color attachment red default
color tilde magenta default
color tree red default
color markers brightmagenta default
color underline brightwhite default
color bold brightwhite default
color quoted green default
color quoted1 magenta default
color hdrdefault cyan default
color header brightcyan default "^(to|from|subject):"
color body brightblue default "[-a-z_0-9.+]+@[-a-z_0-9.]+"
color body brightblue default "((ftp|http|https|www)://|news:)[^ >)\"\t]+"
color body black brightred "BAD signature"
color body black brightyellow "Can't check signature"
color body black brightgreen "Good signature"
color index brightwhite default "~N"
#color index brightwhite default "~p" # mail a me Personalmente
color index cyan default "~P" # mail da me Personalmente
color index magenta default "~T" # Tagged
color index yellow default "~F" # Flagged
color index blue default "~D" # Deleted
#color index green default "~O" # Unread (serve solo se usi marcare OLD le vecchie mail)
#color index yellow default "~g" # gpg signed
#color index brightyellow default "~G" # gpg encrypted
#color index red default "~b amore" # msgs che parlano d'amore
#color index magenta default "~C luigi@foo.org" # mail a/da luigi@foo.org
## PER TERMINALE MONO
#mono normal none
mono indicator reverse
mono tree bold
mono status reverse
mono error bold
mono message none
mono quoted bold
mono signature none
mono attachment underline
mono search reverse
mono tilde none
mono markers bold
mono hdrdefault none
mono bold bold
mono underline underline
mono header bold "^(from|to):"
mono header underline "^(subject):"
mono body underline "((ftp|http|https)://|(file|news):|www\\.)[-a-z0-9_.:]*[a-z0-9](/[^][{} \t\n\r\"<>()]*[^][{} \t\n\r\"<>().,:!])?/?"
mono body underline "[-a-z_0-9.]+@[-a-z_0-9.]+"
mono body bold "(^| )\\*[-a-z0-9‰ˆ¸fl*]+\\*[,.?]?[ \n]"
mono body underline "(^| )_[-a-z0-9‰ˆ¸fl_]+_[,.?]?[ \n]"
## dovessi colorare gli scores
#color index blue default '(~n 1-1)'
#color index cyan default '(~n 2-2)'
#color index yellow default '(~n 3-3)'
#color index red default '(~n 4-4)'
#color index red default '(~n 5-5)'
#color index blue default '(~n 6-6)'
#color index brightyellow default '(~n 7-7)'
#color index white default '(~n 8-9)'
#color index brightred default '(~n 10-99)'