Nastavení muttu: muttrc

Maily se nám stahují a už je můžeme teoreticky i posílat. Ale předtím, než se konečně vrhneme na jejich čtení, tak si musíme ještě nastavit samotný mutt. Konfiguraci muttu lze pro přehlednost rozházet do více souborů (čehož taky využijeme). Začneme tedy s hlavním souborem, který dáme do ~/.mutt/muttrc:

  1.  

V první části nastavuji to, co se týká složek, tedy kde má hledat poštu. Proměnná folder ukazuje do našeho maildiru a pokud nyní někde, kde se očekává jméno přímo nějaké složky, uvedu na jejím začátku znak "+" nebo "=" (tak jako je to třeba u mbox), mutt si sám doplní cestu do našeho maildiru. mbox ukazuje na naší příchozí poštu, postponed na složku, kam uložíte zprávy pokud je před odesláním ještě odložíte, record obsahuje odeslané zprávy.

V další části se nastavují všelijaké proměnné muttu (jejich kompletní seznam je v dokumantaci). Osobně jsem nastavil ty, kde mi default nějak nevyhovoval. Popis uvedených voleb je takovýto:

  • alias_file ukazuje na soubor, kam budeme ukládat aliasy - to je něco jako adresář (příklad alias souboru bude ještě uveden)
  • crypt_autosign se týká použití pgp (gpg) a nastavení na hodnotu yes znamená, že odeslané maily se budou automaticky podepisovat (pokud neurčíte jinak). Pro funkční spolupráci s gpg je potřeba nastavit ještě hromadu dalších parametrů, nicméně ty už obvykle bývají v distribučním balíku přednastavené a umístěné v /etc/mutt tak, aby s nimi mutt počítal defaultně. Soubor se typicky jmenuje gpg.rc.
  • display_filter ukazuje na program, kterým se prožene mail ještě před zobrazením a má tedy šanci jeho výstup změnit. Prázdná hodnota je zde proto, že defaultní konfigurace proháněla maily přes program t-prot, který jsem nechtěl použít.
  • editor - označuje editor, ve kterém budete psát e-maily. V mém případě jsem použil můj oblíbený emacs. Parametry nw znamenají, že se emacs pustí v terminálu a ne v dalším okně.
  • envelope_from při nastavení na yes nastaví při odesílání e-mailů obálkovou adresu na stejnou, jako from samotného mailu (který si nastavíme někde dále). Doporučuju nechat na yes - mailserverům se obvykle nelíbí, když v MAIL FROM dostanou něco typu mujpc.localdomain...
  • mail_check nastavuje interval, kdy mutt sám hledá změny ve složkách (jako nové zprávy apod) - bez jeho nastavení to obvykle udělá, až když v něm zmáčknete nějakou klávesu.
  • mark_old při nastavení na no zakáže označovat zprávy jako staré. Tedy zpráva se obvykle stává starou po tom, co přijde jako nová a vy si jí nějaký čas nevšímáte a necháte jí tam. Mně stačí pouze status zprávy nová, tak jsem toto vypnul.
  • pgp_timeout se týká doby, po kterou si mutt pamatuje heslo k privátnímu pgp klíči k podepisování/šifrování e-mailů. Po této době jej zapomene. Interval je v sekundách a toto je maximální hodnota, kterou lze nastavit.
  • pipe_decode nastavené na yes muttu řekne, že když bude mail při nějaké akci pipovat nějakému dalšímu programu, tak mu ho má předtím zpracovat. Doporučuji též nechat zapnuté - dále v konfiguraci budeme používat program urlview na vytažení URL adres z mailů a pokud mu mutt pošle nedekódovaný base64 bastl, tak s je urlview neuvidí.
  • signature udává cestu k souboru, kde je uložen náš podpis (který se bude vkládat do mailů, které budeme psát).
  • smart_wrap zapíná chytré zalamování - tedy když mutt bude zalamovat text čteného mailu, tak ho zalomí někde na hranici slova a ne v jeho prostředku.
  • wait_key zabrání tomu, aby se mutt po napipování mailu do externího programu dožadoval stisknutí libovolné klávesy po jeho skončení.
  • wrap - jelikož slušní e-mailový klienti, kteří dodržovali pevnou šířku řádků, už patrně vymřeli, tak se vám velice lehce stane, že řádky mailů, které budete číst, se budou táhnout až ke konci okna s muttem. A pokud ho máte na fullscreenu monitoru s rozlišením 1920x1200, tak se to opravdu číst nedá. Nastavení na 120 znamená, že mutt bude po 120 znacích řádky zalamovat sám (s dodržením smart_wrap). Někdo může namítat, že jediná správná šířka je 72 znaků, ale mně osobně to připadá už jako moc velká nudle a plýtvání prostorem...

Poslední část nedělá nic jiného, než importuje ty ostatní soubory s dalším nastavením. Mezi nima je i soubor aliases - proměnná aliases nastavená výše totiž jen ukazuje na místo, kam mutt uloží alias v případě, že mu řeknete, že ho má uložit. Pokud chcete (a to nejspíš chcete :) ) uložené adresy používat i při psaní mailů, musíte soubor prohnat i přes source.

Nyní se tedy podíváme, jak alias soubor vypadá:

  1.  

Začátek slovem alias je povinný, do nick si napíšete něco, pod čím to pak vy v muttu budete hledat, dále můžete napsat celé jméno (ale nemusíte) a na konec řádku přijde samotná e-mailová adresa.

Nyní se podíváme na soubor bindings, který obsahuje pár přemapování kláves. Obsah:

  1.  

První dva řádky nedělají nic jiného, než že v režimu čtení e-mailu namapují šipku nahoru/dolu tak, aby posouvala řádek nahoru/dolu. Poslední makro pak jen na klávesovou zkratku Ctrl+b spustí program urlview (musíte ho mít nainstalovaný) a rourou mu pošle obsah mailu. Urlview je dobrý k tomu, že vám ukáže seznam URL adres v daném e-mailu a vy můžete libovolnou z nich otevřít v prohlížeči (jejím výběrem).

Dále mám v konfiguraci soubor colors, ve kterém, jak už název napovídá, nastavuji barvy. Obsah je následující:

  1.  

Syntaxe je taková, že se uvede klíčové slovo color, dále místo, kde se barva bude aplikovat, potom barva popředí, pozadí a nakonec volitelný pattern. Do konfigurace lze použít několik základních barev (viz dokumentace) a k nim bright varianta. První řádek nastavuje barvu indikátoru - tedy zvýrazněné položce. Druhá seznamu zpráv odpovídající patternu ~N - což znamená pouze na nové zprávy. Status nastavuje barvu stavového řádku, signature barvu podpisu v e-mailech a quotedX nastaví barvu X-té úrovně citace.

V souboru headers mám přidanou jednu vlastní hlavičku + nastavení from. Obsah:

  1.  

my_hdr přidá do odesílaných mailů hlavičku X-Operating-System s hodnotou shodnou s výstupem příkazu uname -a. From nastaví jméno odesílatele.

Teď soubor hooks pro nastavení hooků:

  1.  

Všechny 4 tyto řádky používám defakto jen jako alternativu pro nastavení identit, jak jsou známy v jiných mailových klientech. Význam je takový, že pokud otevřu složku Prace, tak se nastaví moje adresa odesílatele na jan.krajdl@firma.com a použitý podpis na soubor ~/.mutt/signature_prace. Pokud naopak otevřu jakoukoliv jinou složku, než Prace, nastaví se moje standardní from a můj běžný podpis. Stejného efektu by šlo docílit nastavením nějakého makra a identity si tak přepínat třeba jen nějakou klávesovou zkratkou.

Soubor sidebar nastavuje pouze věci týkající se sidebaru, který je v opatchované verzi muttu (mutt-patched na debianích systémech). Pokud nemáte verzi se sidebarem, žádná z těchto voleb nebude fungovat. Obsah souboru:

  1.  

Na začátku se nastavují obecné vlastnosti - šířka sidebaru, zda bude viditelný, oddělovač od okolí a jestli složky v něm zobrazené se budou řadit. Dále se nastavuje barva složek, ve kterých je nová zpráva a namapování kláves pro ovládání. Tento zápis docílí toho, že klávesy k a j pohybují v seznamu složek nahoru / dolu. Ctrl+n a Ctrl+p udělají page down a page up v seznamu složek, Ctrl+o složku otevře. A stiskem tlačítka b se zapíná/vypíná viditelnost sidebaru. Poslední řádek importuje soubor mailboxes, kde se definují složky, které budou také vidět v sidebaru. Soubor se skládá z jednoho řádku začínajícím slovem mailboxes a za ním seznamem složek, které chceme v sidebaru mít, odděleném mezerou. Složky lze uvádět se znakem + nebo = na začátku, aby nebylo nutné vypisovat celou cestu. Jen tak mimochodem - pokud používáte pro stahování pošty offlineimap a chcete vidět všechny složky, které offlineimap stahuje, dá se v jeho nastavení (viz dokumentace) nastavit, že automaticky tento soubor vytváří podle aktuálně existujících složek.

To je zhruba vše, co se týče konfigurace muttu. Avšak v konfiguraci je naznačeno použití několika dalších programů. Začneme třeba emacsem. Těm, kdo jej budou používat, se možná bude hodit fakt, že emacs v sobě nese tzv. mail mód, tedy mód určený pro psaní emailů (například barevně odlišuje citovaný text). Kooperace s muttem vypadá tak, že mutt nechá emacsem otevřít nějaký textový soubor v /tmp a po jeho skončení jej otevře a použije jako tělo zprávy. Tento soubor vždy začíná slovem mutt a tedy můžeme emacs nastavit, že pokud toto zjistí, zapne mail mód automaticky. Dále je také vhodné nastavit auto-fill-mode s nějakou rozumnou hodnotou pro automatické zalamování řádek po x znacích (já mám v konfiguraci opět nastaveno 120 znaků, těm co se to nelíbí, nechť si nastaví 72 :) ). Konfigurační část emacsu vypadá takto:

  1.  

Dále jsme použili program urlview, který nám zobrazí všechny URL adresy, které najde v mailu a jednoduše nám umožní je otevřít. Urlview by měl správně otevírat adresy ve výchozím prohlížeči. Pokud je chcete otevírat v jiném (nebo urlview je otevírá v jiném, než co si myslíte, že máte jako výchozí), zapište do souboru ~/.urlview tohle:

  1.  

Posledním detailem je ještě to, co mutt dělá s různými přílohami a vůbec jinými mime typy, než čistý text. Obvykle by měl danou část zprávy otevřít ve výchozí aplikaci. Pokud to chcete změnit (či dokonce přímo v muttu zobrazovat nějak přefiltrovaný obsah jinak nečitelných částí zprávy), můžete se zaměřit na soubor ~/.mailcap. Můj vypadá takhle:

  1.  

První řádek říká, že pokud vysloveně otevřu část s mime typem text/html, tak ji otevře ve firefoxu. Nicméně v HTML často chodí samo tělo mailu, aby jste ho alespoň nějak zobrazili, můžeme zneužít program elinks (potřeba nainstalovat). Elinks s parametrem -dump nedělá nic jiného, než že tu HTML hrůzu projede a vyplivne nějak zpracovaný text ven (už bez HTML značek). Parametr copiousoutput pak už jen muttu řekne, že výstup má vzít a zobrazit - v souvislosti s parametrem auto_view text/html v muttrc bude takhle mutt sám zobrazovat v sobě HTML maily čitelně. Zbylé dva řádky pak už jen říkají, že jpeg obrázky se budou otevírat v programu xli.

To by z konfigurace, alespoň pro začátek :), mělo být vše. Nyní se můžete ještě podívat na krátký přehled používání.

Tags: