Mutt New Generation

MuttNG, czli Mutt New Generation, to stary, dobry Mutt (klient poczty pod konsolę) z kilkoma, bardzo przydatnymi, patchami - m.in. dodającymi okno z listą skrzynek czy cache'owaniem zawartosci folderów IMAP. Dzięki wsparciu dla NNTP, MuttNG może być także wykorzystywany jako czytnik grup USENETowych, choć... nie ma to jak SLRN :)

Pełna lista zmian w stosunku do oryginalnego Mutta dostępna jest na stronie domowej projektu.

Skrinszoty

994x878 1150x946 730x610

Pliki konfiguracyjne

Plik formaty19-05-2007

# vim: ft=muttrc 

set folder_format="%N %8s bytes - %d %f"

#set index_format="%4C %Z %[!%y%m%d] %-17.17F (%3l) %s"
set index_format="%2C %Z [%-20.20F] %4c  %s %> %[%Y-%m-%d %H:%M %a]"

#set folder_format="%2C %t %N %F %2l %-8.8u %-8.8g %8s %d %f"
set folder_format="%2C %t %N  %-30f %> %8s  %F  %-8.8u %-8.8g %d"

#set status_format="-%r-Mutt: %f [Msgs:%?M?%M/?%m%?n? New:%n?%?o? Old:%o?%?d? Del:%d?%?F? Wazne:%F?%?t? Tag:%t?%?p? Post:%p?%?b? Inc:%b?%?l? %l?]---(%s/%S)-%>-(%P)---"
set status_format="%f  Nieprzeczytane:%n/%m%?o?  Stare:%o?%?d?  Skasowane:%d?%?F?  Wazne:%F?%?t?  Zaznaczone:%t?%?p?  Niedokonczone:%p?%?b?  Skrzynki z nowa poczta:%b?%?l? %l? %> Sort.:%s/%S (%P) "
#set status_format="%f (Niep: %n/%m)--(Sta: %o)--(Skas: %d)--(Wazne: %F)--(Zazn: %t)--(Niedok: %p)--(Skrzynki z nową pocztą: %b)--( %l )---%>--(%s/%S)--(%P)--"

#set pager_format="-%S- %C/%m: %-20.20n   %s"
set pager_format="%S  %C/%m  Linii:%l  Rozmiar:%c  Punktacja:%N %y %> "
set pager_index_lines=20                # how many index lines to show in the pager
set pager_stop                  # don't move to the next message on next-page
#set pager=less                 # some people prefer an external pager
#set pager_context=3            # no. of lines of context to give when scrolling

# okienko załączników
set attach_format="%u%D%I %t%4n %T%.40d%> [%.7m/%.10M, %.6e%?C?, %C?, %s] "

# okno aliasow (ksiazka adresowa)
#set alias_format=""%2n %t %-10a   %r"
set alias_format="%2n%f %t %-10a  %r"

# domyslnmy dormat daty (dostepny pod %d)
#set date_format="!%a, %b %d, %Y at %I:%M:%S%p %Z"
set date_format="!%a, %b %d, %Y at %I:%M:%S%p %Z"

set message_format="%s"
set forward_format="[%a: %s]"

set pgp_entry_format="%4n %t%f %4l/0x%k %-4a %2c %u"

set wrapmargin=2

#set attribution="Dnia %d.%m.%Yr. (%a), %n napisal(a):" # nagłówek odpowiedzi
set attribution="%n wrote:"     # nagłówek odpowiedzi
set indent_string="> "          # how to quote replied text

set quote_regexp="^([ \t]*[|>:}#])+"
#set quote_regexp="^ *[a-zA-Z]*[>:#}]*" # how to catch quoted text


# Wybor naglowkow, ktore maja byc pokazywane w tresci maila
ignore *
unignore        From Subject To Cc Bcc Mail-Followup-To X-Operating-System Date User-Agent X-Mailer X-Url X-Home-Page List-Id

# kolejnosc wyswietlania naglowkow
unhdr_order *                           # forget the previous settings
hdr_order       List-Id Subject From To Cc Bcc User-Agent X-Mailer Date


# Folder List
set sidebar_width=24
set sidebar_visible=yes

set sort=threads


#set sort_aux=reverse-date-received     # how to sort subthreads
#set sort_aux=reverse-last-date         # date of the last message in thread
set sort_aux=last-date          # date of the last message in thread
set sort_browser=alpha  # how to sort files in the dir browser


#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
#set timeout=0                  # timeout for prompt in the index menu

Plik mailcap19-05-2007

# vim: ft=mailcap

text/html;              elinks -force-html --dump %s; copiousoutput
#text/html;             lynx -force_html --dump %s; copiousoutput
application/octet-stream; mutt.octet.filter %s; copiousoutput
text/x-vcard;           mutt.vcard.filter; copiousoutput
application/msword;     antiword '%s'|iconv -f cp1250 -t utf8; copiousoutput

Plik score19-05-2007

# vim: ft=muttrc 

# dzienniki (wg score są poźniej kolorowane)
score ~ffreshmeat-news@lists\.freshmeat\.net =1001
score ~fsubskrypcje@idg\.com\.pl =1002
score ~fnewsletter@wprost\.pl =1003
score ~flistonosz@stopklatka\.pl =1004
score ~s\"Trybuna -100

Plik index19-05-2007

Plik gpg19-05-2007

# konfiguracja GnuPG
set pgp_decode_command="gpg --charset utf-8 --status-fd=2 %?p?--passphrase-fd 0? --no-verbose --quiet --batch --output - %f"
set pgp_verify_command="gpg --status-fd=2 --no-verbose --quiet --batch --output - --verify %s %f"
set pgp_decrypt_command="gpg --status-fd=2 %?p?--passphrase-fd 0? --no-verbose --quiet  --batch  --output - %f"
set pgp_sign_command="gpg --no-verbose --batch --quiet --output - %?p?--passphrase-fd 0? --armor --detach-sign --textmode %?a?-u %a? %f"
set pgp_clearsign_command="gpg --charset utf-8 --no-verbose --batch --quiet --output - %?p?--passphrase-fd 0? --armor --textmode --clearsign %?a?-u %a? %f"
set pgp_encrypt_only_command="pgpewrapng gpg --charset utf-8 --batch --quiet --no-verbose --output - --encrypt --textmode --armor --always-trust --hidden-encrypt-to 0xED75F599 -- -r %r -- %f"
set pgp_encrypt_sign_command="pgpewrapng gpg --charset utf-8 %?p?--passphrase-fd 0? --batch --quiet --no-verbose --textmode --output - --encrypt --sign %?a?-u %a? --armor --always-trust --hidden-encrypt-to 0xED75F599 -- -r %r -- %f"
set pgp_import_command="gpg --no-verbose --import %f"
set pgp_export_command="gpg --no-verbose --export --armor %r"
set pgp_verify_key_command="gpg --verbose --batch  --fingerprint --check-sigs %r"
set pgp_list_pubring_command="gpg --no-verbose --batch --quiet --with-colons --list-keys %r"
set pgp_list_secring_command="gpg --no-verbose --batch --quiet --with-colons --list-secret-keys %r"
set pgp_good_sign="^\\[GNUPG:\\] GOODSIG"

# nowe (pgp_ sa przestarzałe)
set crypt_autoencrypt = no      # domyślne szyfrowanie wysyłanych wiadomości
set crypt_autopgp = yes         # włączenie PGP
set crypt_autosign = yes        # automatyczne podpisywanie
set crypt_autosmime = yes       # automatycznie wlaczyc szyfr./podpisywanie S/MIME
set crypt_replyencrypt = yes    # somyślnie szyfruj odpowiedzi na maile zaszyforwane
set crypt_replysign = no        # domyslnie podpisuj odpowiedzi na podpisane maile
set crypt_replysignencrypted = no #
set crypt_timestamp = yes       # dodawaj znacznik czasu do 
set crypt_verify_sig = yes      # zawsze staraj sie zweryfikować PGP lub S/MIME

# vim: ft=muttrc 

Plik skrzynki19-05-2007

# vim: ft=muttrc

#----------------------------------
# SKRZYNKI, KATALOGI
#----------------------------------

#set mbox=+mbox                 # mbox, przeczytane maile tu lądują (nie dotyczy IMAP ?)
set mbox='imap://localhost/INBOX'
set mbox_type=Maildir           # domyslnym typem skrzynek jest Maildir

#set imap_user='pox'
#set imap_pass=''
#set folder=~/Mail              # where i keep my mailboxes
set folder=imap://localhost/INBOX
#set spoolfile='/var/mail/pox'  # where my new mail is located
set spoolfile='imap://localhost/INBOX'
set postponed=+Drafts           # skrzynka z mailami niedokonczonymi
set trash=+Trash
set record=+Sent                # default location to save outgoing mail
set header_cache=~/tmp/mutt-cache       # cachowanie naglowkow dla imapa
#set maildir_header_cache_verify
#set header_cache_pagesize

#mbox-hook =mutt-users.in =mutt-users   # gdzie maja trafiac przeczytane maile (wg wzoru)

# skrzynki (sprawdzanie nowej poczty, wyswietlanie na pasku)
mailboxes ! =ozarowski_pl =gmail =wp_pl
mailboxes =student
mailboxes =griffith =debian =debian/nm
mailboxes =dzienniki
mailboxes =listy =listy/debian =listy/debian/python =listy/debian/project =listy/debian/devel =listy/debian/mentors
mailboxes =listy/sqlalchemy =listy/mutt =listy/ekg2
mailboxes =rss =rss/ManU =rss/humor
mailboxes =rss/linux =rss/programy  =rss/programy/vim =rss/emulacja
mailboxes =rss/blogi
mailboxes =rss/anime =rss/anime/recenzje =rss/tv =rss/napisy =rss/download =rss/download/torrent =rss/download/anime
mailboxes =rss/dev =rss/pc =rss/pc/osnews
mailboxes =EZI =EZI/KNEZI
mailboxes =SPAM =WAZNE =Sent =Trash

lists freshmeat-news@lists.freshmeat.net

subscribe debian-announce@lists.debian.org debian-security-announce@lists.debian.org debian-news@lists.debian.org debian-devel-announce@lists.debian.org secure-testing-announce@lists.alioth.debian.org
subscribe debian-project@lists.debian.org debian-devel@lists.debian.org debian-python@lists.debian.org debian-mentors@lists.debian.org
subscribe python-modules-team@lists.alioth.debian.org collab-maint-devel@lists.alioth.debian.org
subscribe conky-development@lists.sourceforge.net conky-users@lists.sourceforge.net
subscribe easytag-mailing@lists.sourceforge.net
subscribe ekg2-users@lists.ziew.org ekg2-devel@lists.ziew.org
subscribe gaupol-announcements@gna.org
subscribe gimp-announce@lists.xcf.berkeley.edu
subscribe griffith-user@forge.novell.com griffith-announce@forge.novell.com
subscribe griffith-user@lists.berlios.de griffith-devel@lists.berlios.de griffith-announce@lists.berlios.de
subscribe ktdistrib@zork.net    # kernel traffic
subscribe libtorrent-devel@rakshasa.no
subscribe mc@gnome.org
subscribe mplayer-announce@mplayerhq.hu
subscribe mutt-ng-devel@lists.berlios.de mutt-ng-users@lists.berlios.de
subscribe paste-news@pythonpaste.org paste-users@pythonpaste.org
subscribe pyenchant-users@lists.sourceforge.net
subscribe slrn-announce@lists.sourceforge.net slrn-users@lists.sourceforge.net
subscribe sms-users@ma.krakow.pl
subscribe snownews-talk@kcore.de
subscribe sqlalchemy-users@lists.sourceforge.net sqlalchemy@googlegroups.com
subscribe squid-announce@squid-cache.org
subscribe unofficial@lists.debian-unofficial.org
subscribe vim-announce@vim.org
subscribe xfce-announce@xfce.org

Plik kolory19-05-2007

# vim: ft=muttrc 

#----------------------------------
# DLA KOLOROWEGO TERMINALA
#----------------------------------

color normal    default            default
color index     default             default            ".*"
color hdrdefault        green  default
# kolorowanie cytatów (po I-tym cytowaniu, powtarzane sa kolory od quoted, quoted1,...)
color quoted    cyan               default
color quoted1   brightblue        default
color quoted2   blue              default
color quoted3   brightcyan        default
color signature brightblack     default
color indicator brightyellow    red
color error     brightred   default
color status    brightwhite        blue
color tree      red          default
color tilde     magenta             default
color message   brightcyan        default
color markers   brightcyan        default
color attachment        black brightblack
color search    red                yellow

color header    brightgreen        default                ^(From|Subject):
color header    yellow             default            ^List-Id:
color underline brightgreen     default

# URLe
color body      magenta              default             "((ftp|http|https)://|(file|mailto|news):|www\\.)[-a-z0-9_.:@]*[a-z0-9](/[^][{} \t\n\r\"<>()]*[^][{} \t\n\r\"<>().,:!])?/?"
# emotikony
color body      green                default               "((;|:|8\\:|\\=)(-|=|~|_|-'|%|<|)(\\)|Q|P|\\)%))"

color body      brightred    default            "\\*[^\*]*\\*"    # pogrubiony
color body      brightmagenta        default                "_[^_]*_"             # podkreślony
color body      magenta              default             "\/[^/]*\/"        # pochylony

#color body     red             default         "(^| )\\*[-a-z0-9*]+\\*[,.?]?[ \n]"
#color body     green           default         "(^| )_[-a-z0-9_]+_[,.?]?[ \n]"

#----------------------------------
# Diff
color body      brightred            default           "^-.*"
color body      brightgreen          default         "^\\+.*"
color body      brightmagenta                default               "^@@ .*"
#----------------------------------
# SCORE

color index     red         default                "(~f ozarowski)"
color index     red         default                "(~f POX)"
# kolory dla dzienników (oznaczanych przez odpowiedi score)
color index     blue                default               '(~n 1001-1001)'
color index     cyan                default               '(~n 1002-1002)'
color index     green               default              '(~n 1003-1003)'
color index     magenta             default            '(~n 1004-1004)'

color index     brightgreen default         "(=f EKA\\ PWR)"
color index     brightgreen default         "(=s (Komiksy))"
color index     green               default              "=f 'NFOrce NFOs - TV-Rips'"
color index     green               default              "=f 'Hatak'"
color index     green               default              "=s '[E-Books]'"
color index     green               default              "=s '[x264]'"

#----------------------------------
# Folder List Patch
# color of folders with new mail
color sidebar_new yellow default


#----------------------------------
# indexcolor-patch
# ~N - nowe
# !~N - stare
# ~D - skasowane
# '~r >5d' - co najmniej 5 dni
color index_author      magenta              default     !~N
color index_author      brightmagenta        default        ~N

#color index_subject blue default '~r >7d'
#color index_subject    white           default !~N
#color index_subject    brightwhite     default ~N

color index_collapsed   brightyellow      default
color index_number      green                default
color index_flags       brightyellow  default
color index_date        green          default
color index_size        yellow         default
color index_label       brightyellow  default
color index_label       red           default

#----------------------------------
# GnuGPG
#
# poprawne
color body brightgreen default "^gpg:.*Good signature from" # "NN NN <EE@EE>"
color body brightgreen default "^gpg:.*aka" # "NN NN <EE@EE>"
color body brightgreen default "^gpg:.*OK, to my jesteśmy adresatem anonimowym."
# błędy
color body brightyellow red "^gpg:.*B(ad|AD) signature from.*"
color body brightyellow red "^gpg:.*CRC error.*"
color body brightyellow red "^gpg:.*no signature found"
color body brightyellow red "^gpg:.*nie można sprawdzić podpisu."
color body brightyellow red "^gpg:.*Note: This key has expired!"
color body brightyellow red "^gpg:.*public key decryption failed: bad passphrase"
color body brightyellow red "^gpg:.*decryption failed: secret key not available"
color body brightyellow red "^gpg:.*błąd odszyfrowywania: brak klucza prywatnego"
# ostrzeżenia
color body brightyellow default "^gpg:.*Nie można sprawdzić podpisu: brak klucza publicznego"
color body brightyellow default "^gpg:.*Can't check signature: public key not found"
color body brightyellow default "^gpg:.*WARNING: This key is not certified with a trusted signature!"
color body brightyellow default "^gpg:.*OSTRZEŻENIE: Ten klucz nie jest poświadczony zaufanym podpisem!"
color body brightyellow default "^gpg:.*There is no indication that the signature belongs to the owner."
color body brightyellow default "^gpg:.*Nie ma pewności co do tożsamości osoby która złożyła podpis."
color body brightyellow default "^gpg:.*can't handle these multiple signatures"
color body brightyellow default "^gpg:.*signature verification suppressed"
color body brightyellow default "^gpg:.*invalid node with packet of type.*"
color body brightyellow default "^gpg:.*\\[don't know\\]: invalid packet.*"
# informacje
color body brightwhite default "^(gpg:.*)?(Primary key fingerprint:|Fingerprint)"
color body brightwhite default "^(gpg:.*)?(Odcisk klucza głównego:|Odcisk klucza)"
# informacje systemowe
color body brightblue default "^gpg:.*(Signature|encrypted).*"
color body brightblue default "^gpg:.*requesting key.*"
color body brightblue default "^gpg:.*checking the trustdb.*"
color body brightblue default "^gpg:.*checking at depth.*"
color body brightblue default "^gpg:.*next trustdb check due at" # YYYY-MM-DD
color body brightblue default "^gpg:.*anonymous recipient; trying secret key"
# reszta :)
color body brightblue default "^gpg:"

#----------------------------------
# DLA MONOCHROMATYCZNEGO TERMINALA
#----------------------------------

mono header     underline   ^(From|Subject):
mono quoted     bold


#----------------------------------
# dostępne kolory
#----------------------------------
# white black green magenta blue cyan yellow red default colorX
# brightwhite brightblack brightgreen brightmagenta brightblue brightcyan brightyellow red brigntcolorX

Plik klawiszologia19-05-2007

# vim: ft=muttrc 

#----------------------------------
# SKROTY KLAWISZOWE
#----------------------------------

#       maps:
#               alias           alias menu
#               attach          attachment menu
#               browser         directory browser
#               compose         compose menu
#               index           message index
#               pgp             pgp menu
#               postpone        postponed message recall menu
#               generic         generic keymap for all of the above
#               editor          line editor
#               pager           text viewer
#               

# jak w VIMie / SLRNie
bind index zt current-top
bind index zz current-middle
bind index zb current-bottom
# a'la VIM:
bind pager \Ce previous-line
bind pager \Cy next-line
# a'la links:
bind pager <insert> previous-line
bind pager <delete> next-line

bind generic \Cu    half-up
bind generic \Cd    half-down
bind pager   \Cu    half-up
bind pager   \Cd    half-down


macro index,pager \cb "<pipe-message> BROWSER=elinks urlscan<Enter>" "call urlscan to extract URLs out of a message"
macro attach,compose \cb "<pipe-entry> BROWSER=elinks urlscan<Enter>" "call urlscan to extract URLs out of a message"

macro index S s=SPAM\n "Oznacz jako SPAM"
macro pager S s=SPAM\n "Oznacz jako SPAM"

bind pager G bottom     # just like vi and less

#bind editor \cy eol    # make ^Y jump to the end of the line

macro index \ea "!vim ~/.muttng/adresy\n:source ~/.muttng/adresy\n" "edytuj ksiązkę adresową i przeładuj ją"
macro pager \ea "!vim ~/.muttng/adresy\n:source ~/.muttng/adresy\n" "edytuj ksiązkę adresową i przeładuj ją"
macro index <F5> ":source ~/.muttng/muttngrc\n" "Reload the muttrc"
macro pager <F5> ":source ~/.muttng/muttngrc\n" "Reload the muttrc"

# zamiast wciskac c i <tab>
macro index l "c?\t" "lista skrzynek"
macro pager l "c?\t" "lista skrzynek"

bind index <left> previous-unread
bind pager <left> previous-unread
bind index <right> next-unread
bind pager <right> next-unread

# rot13 by Sébastien Michel ?
macro pager <esc>r "<enter-command>  set display_filter = \"tr a-zA-Z n-za-mN-ZA-M\"<enter> <exit><display-message>" "rot13"
macro pager <esc>R "<enter-command>unset display_filter<enter><exit><display-message>" "re-display message"

#----------------------------------
# Folder List Patch
bind index <esc><up> sidebar-prev
bind index <esc><down> sidebar-next
bind index <esc><right> sidebar-open
bind pager <esc><up> sidebar-prev
bind pager <esc><down> sidebar-next
bind pager <esc><right> sidebar-open
# niewykorzystane
# sidebar-scroll-up
# sidebar-scroll-down
macro index <esc><left> ':toggle sidebar_visible^M'
macro pager <esc><left> ':toggle sidebar_visible^M'
#----------------------------------

# skroty dla wyboru skrzynek (c)
#       ! - przenosi do $spoolfile (imap://localhost/IMAP)
#       > - przenosi do $mbox (~/Mail/mbox)
#       < - przenosi do $record (Wysłane)
#       - or !! -- przenosi do poprzedniej skrzynki
#       ~ -- przenosi do katalogu domowego
#       = or + -- przeniosi do $folder (np. =wp_pl)
#       @alias -- refers to the default save folder as determined by the address of the alias


# stare
#----------------------------------
#macro index S "as" "save tagged messages" # Saves tagged messages
#macro pager P "!gpg --keyserver wwwkeys.us.pgp.net --recv-key 0x" "Get PGP Key"
#macro pager L "!gpg --lsign-key 0x" "Sign PGP Key"

#macro index \cx "!fetchmail\n" "Check for new mail via fetchmail"
#macro pager \cx "!fetchmail\n" "Check for new mail via fetchmail"

Plik muttngrc19-05-2007

# vim: ft=muttrc 
set quit=ask-no                 # spytaj czy wyjsc z mutta
set abort_unmodified=yes        # automatically abort replies if I don't change the message
set alias_file=~/.muttng/adresy # where I keep my aliases
set allow_8bit                  # never do Q-P encoding on legal 8-bit chars
set autoedit                    # go to the editor right away when composing
set noconfirmappend             # don't ask me if i want to append to mailboxes
set confirmcreate               # prompt when creating new files
set copy=yes                    # always save a copy of outgoing messages
set delete=yes                  # purge deleted messages without asking
set help                        # show the help lines
set history=20                  # number of lines of history to remember
set include                     # always include messages when replying
set locale="pl_PL.UTF8"         # locale to use for printing time
set mailcap_path="~/.muttng/mailcap:~/.mailcap:/etc/mailcap"
set mark_old = no
set mail_check=10               # how often to poll for new mail
set menu_scroll                 # no implicit next-page/prev-page
set mime_forward                # use message/rfc822 type to forward messages
set move=yes                    # don't ask about moving messages, just do it
set print=ask-no                # ask me if I really want to print messages
set print_command=/bin/false    # how to print things
set noprompt_after              # ask me for a command after the external pager exits
set read_inc=25                 # show progress when reading a mailbox
set reply_to                    # always use reply-to if present
set reverse_name                # use my address as it appears in the message i am replying to
set nosave_empty                # remove files when no messages are left
set signature="~/.signature"    # file which contains my signature

set tmpdir=~/tmp                # where to store temp files
set nouse_domain                # don't qualify local addresses with $domain
set visual=vim                  # editor invoked by ~v in the builtin editor
set write_inc=25                # show progress while writing mailboxes
set maildir_trash=yes           # kasowane maile beda przenoszone do kosza (tylko maildir)
set max_line_length=80          # linie mogą mieć co najwyżej 80 znaków
set stuff_quoted                # poprawia ">cytaty" na "> cytaty"

auto_view application/x-gunzip
auto_view application/x-gzip
auto_view text/html

#mime_lookup application/octet-stream | mime.types:   application/pdf         pdf

#======== wczytaj pozostałe ustawienia ========================

source ~/.muttng/adresy         # książka adresowa
source ~/.muttng/formaty        # ustawienia wyglądu list
source ~/.muttng/klawiszologia  # skrótry klawiszowe
source ~/.muttng/kolory         # ustawienia kolorów
source ~/.muttng/hook           # oddzielne ustawienia dla katalogow/kont
source ~/.muttng/naglowki       # nagłówki dodawane do maili
source ~/.muttng/score          # punktacja
source ~/.muttng/skrzynki       # skrzynki, katalogi etc.
source ~/.muttng/gpg            # GPG
source ~/.muttng/prywatne       # ustawienia prywatne (hasla, adresy email, etc.)

# lbdbq:
set query_command="lbdbq '%s'"
set query_command="abook --mutt-query %s"
Autor: Piotr 'POX' Ożarowski. Napisano w VIM na Debian GNU/Linux
Valid HTML! Valid CSS!

19-05-2007