Mutta osobiście używam od dłuższego czasu, ostatnio postanowiłem się "wziąć" za niego by spełniał moje zachcianki. W howto opiszę konfiguracje już działającego mutta pomijając etapy zawarte w dokumentacji gentoo dla mutt, traktuje ją jako obowiązkową do dalszego etapu tego howto.
1. Osobiście denerwował mnie mutt na poczatku używania, poruszanie się po kilku skrzynkach było mało wygodne, sytuację tą zmienił pewnien człowiek który pisze patch sidebar dla mutt, jest to nic innego jak dobrze znana wizualizacja skrzynek jako sidebar wystepująca w wielu graficznych klientach pocztowych.
Strona projektu.
Jakiś czas temu przygotowałem ebuilda dla paczki mutta patchowanego już przez autora patcha dla mutt. Ebuild był robiony tak aby tylko działał (a nawet to nie do końca) poprostu sandbox nie pozwala na instalacje (jak ktoś by chciał poprawić ebuilda by działał dobrze to zachęcam).
Instalację dlatego trzeba wykonac pomijając sandbox, a zatem po umieszczeniu ebuilda tam gdzie dokumentacja gentoo nakazuje instalujemy mutt-sidebar.
Code: Select all
FEATURES="-sandbox" emerge mutt-sidebar
Code: Select all
# kolor podświetlenia skrzynki gdy przyjdzie nowy mail.
color sidebar_new yellow default
# macra
macro index b '<enter-command>toggle sidebar_visible<enter>'
macro pager b '<enter-command>toggle sidebar_visible<enter>'
# szerokość
set sidebar_width="18"
set sidebar_visible="yes"
# bindy
# ctrl-n: w dól listy, ctrl-p t: w góre listy
# ctrl-o: otwieranie zaznaczonej skrzynki
bind index \CP sidebar-prev
bind index \CN sidebar-next
bind index \CO sidebar-open
bind pager \CP sidebar-prev
bind pager \CN sidebar-next
bind pager \CO sidebar-open
No ale idziemy dalej.
2. Podpisywanie/szyfrowanie maili kluczem GnuGpg.
Nie będe wspominał o czymś takim jak konfiguracji gpg itd. zakładam że już to użytkownik posiada i ma skonfigurowane i posiada swój klucz. Dokumentacja dla GnuGpg.
Zatem musimy zmusić mutt by potrafił podpisywać/szyfrować w interaktywny sposób maile.
do ~/.muttrc dodajemy:
Code: Select all
set pgp_decode_command="/usr/bin/gpg --charset utf-8 %?p?--passphrase-fd 0? --no-verbose --quiet --batch --output - %f"
set pgp_verify_command="/usr/bin/gpg --no-verbose --quiet --batch --output - --verify %s %f"
set pgp_decrypt_command="/usr/bin/gpg --passphrase-fd 0 --no-verbose --quiet --batch --output - %f"
set pgp_sign_command="/usr/bin/gpg --no-verbose --batch --quiet --output - --passphrase-fd 0 --armor --detach-sign --textmode %?a?-u %a? %f"
set pgp_clearsign_command="/usr/bin/gpg --charset utf-8 --no-verbose --batch --quiet --output - --passphrase-fd 0 --armor --textmode --clearsign %?a?-u %a? %f"
set pgp_encrypt_only_command="pgpewrap /usr/bin/gpg --charset utf-8 --batch --quiet --no-verbose --output - --encrypt --textmode --armor --always-trust -- -r %r -- %f"
set pgp_encrypt_sign_command="pgpewrap /usr/bin/gpg --charset utf-8 --passphrase-fd 0 --batch --quiet --no-verbose --textmode --output - --encrypt --sign %?a?-u %a? --armor --always-trust -- -r %r -- %f"
set pgp_import_command="/usr/bin/gpg --no-verbose --import -v %f"
set pgp_export_command="/usr/bin/gpg --no-verbose --export --armor %r"
set pgp_verify_key_command="/usr/bin/gpg --verbose --batch --fingerprint --check-sigs %r"
set pgp_list_pubring_command="/usr/bin/gpg --no-verbose --batch --quiet --with-colons --list-keys %r"
set pgp_list_secring_command="/usr/bin/gpg --no-verbose --batch --quiet --with-colons --list-secret-keys %r"
set pgp_good_sign="`gettext -d gnupg -s 'Good signature from "' | tr -d '"'`"
3. Z czasem męczy już używanie myszki tylko do kopiowania z mutt linków do przeglądarki, z pomocą przychodzi nam urlview, instalujemy program.
Code: Select all
emerge net-misc/urlview
Tworzymy plik ~/urlview a w nim:
Code: Select all
REGEXP (((http|https|ftp|gopher)|mailto):(//)?[^ >"\t]*|www\.[-a-z0-9.]+)[^ .,;\t>">\):]
#REGEXP (((http|https|ftp|gopher)|mailto)[.:][^ >"\t]*|www\.[-a-z0-9.]+)[^ .,;\t>">\):]
COMMAND firefox -remote 'openURL(%s, new-tab)'
COMMAND url_handler.sh
zastępujemy w nim każdy wyraz netscape na firefox by byglądało tak:
Code: Select all
---
https_prgs="/usr/bin/firefox:XW /usr/bin/lynx:XT"
http_prgs="/usr/bin/lynx:XT /usr/bin/firefox:XW"
mailto_prgs="/usr/bin/mutt:VT /usr/bin/elm:VT /usr/bin/pine:VT /usr/bin/mail:VT"
gopher_prgs="/usr/bin/lynx:XT /usr/bin/gopher:XT"
ftp_prgs="/usr/bin/lynx:XT /usr/bin/ncftp:XT"
---
następnie musimy zbindować klawisze, w ~/.muttrc dopisujemy
Code: Select all
# Bindy
macro index \CB |urlview\n
macro pager \CB |urlview\n
4. Następna niedogodność z jaką można się spotkać to nie czytanie domyślnie maili html, zatem do dzieła.
instalujemy run-mailcap
Code: Select all
emerge app-misc/run-mailcap
Code: Select all
text/html; elinks -dump %s; copiousoutpu
Code: Select all
emerge www-client/elinks
wtedy wpis w ~/.mailcap ma wyglądać następująco
Code: Select all
text/html; /usr/bin/html2text -nobs %s; copiousoutput; description=HTML Text
Code: Select all
emerge app-text/html2text
Code: Select all
auto_view text/html
5. Czasem dostajemy różne zdjęcia na skrzynke pocztową, zapisywanie ich jako załączników może być monotonne, możemy zrobić by mutt sam je otwierał zewnętrznym programem bez zapisywania.
Polecam zatem wrócić do punktu 4 i rozwiązania problemu za pomocą mailcap, w tym przypadku do ~/.mailcap dopisujemy
Code: Select all
image/*; fbi '%s'; test=test -z "$DISPLAY"; needsterminal
Code: Select all
emerge media-gfx/fbi
Wszystkie zewnętrzne pomocnicze programy można zamieniać na inne wedle gustu i uznania.




