From 2016-03-09-belug.de@guckes.net Wed Mar 09 19:00:00 2016
From: Sven Guckes <2016-03-09-belug.de@guckes.net>
To: you <publikum@chemnitzer.linux-tage.de>
Subject: Email mit/with Mutt
Date: Sat Mar 19 15:23:42 CET 2016
X-Latest-change: Thu Mar 17 17:42:23 CET 2016

= Title =

┃  _____                    _  _               _  _          __  __         _    _
┃ | ____| _ __ ___    __ _ (_)| |   _ __ ___  (_)| |_       |  \/  | _   _ | |_ | |_
┃ |  _|  | '_ ` _ \  / _` || || |  | '_ ` _ \ | || __|      | |\/| || | | || __|| __|
┃ | |___ | | | | | || (_| || || |  | | | | | || || |_       | |  | || |_| || |_ | |_
┃ |_____||_| |_| |_| \__,_||_||_|  |_| |_| |_||_| \__|      |_|  |_| \__,_| \__| \__|

★  _____                    _  _             _  _    _       __  __         _    _
★ | ____| _ __ ___    __ _ (_)| | __      __(_)| |_ | |__   |  \/  | _   _ | |_ | |_
★ |  _|  | '_ ` _ \  / _` || || | \ \ /\ / /| || __|| '_ \  | |\/| || | | || __|| __|
★ | |___ | | | | | || (_| || || |  \ V  V / | || |_ | | | | | |  | || |_| || |_ | |_
★ |_____||_| |_| |_| \__,_||_||_|   \_/\_/  |_| \__||_| |_| |_|  |_| \__,_| \__| \__|

From 2016-03-09-belug.de@guckes.net Wed Mar 09 19:00:00 2016
From: Sven Guckes <2016-03-09-belug.de@guckes.net>
To: you <publikum@chemnitzer.linux-tage.de>
Subject: 2016-03-09 BeLUG: Email mit Mutt
Date: Sat Mar 19 16:00:00 CET 2016

┃  _____                    _  _               _  _          __  __         _    _
┃ | ____| _ __ ___    __ _ (_)| |   _ __ ___  (_)| |_       |  \/  | _   _ | |_ | |_
┃ |  _|  | '_ ` _ \  / _` || || |  | '_ ` _ \ | || __|      | |\/| || | | || __|| __|
┃ | |___ | | | | | || (_| || || |  | | | | | || || |_       | |  | || |_| || |_ | |_
┃ |_____||_| |_| |_| \__,_||_||_|  |_| |_| |_||_| \__|      |_|  |_| \__,_| \__| \__|

= Vorschau =

  Zeit: Mi 9. März 2016 19-20:30h

  Rahmen: Berliner Linux User Group (BeLUG)
  http://www.belug.de/aktivitaeten-kalender/eMailMitMutt2016.html

  Ort: beim IN-Berlin: http://www.in-berlin.de/space
  Lehrter Straße 53, 10557 Berlin (Moabit, Tiergarten, Mitte)
  http://www.openstreetmap.org/node/412766878

  Programm: 40min "show", dann Pause, dann Q&A.

  http://www.guckes.net/talks/mutt.features.txt
  http://www.guckes.net/talks/mutt.features.html (in Farbe)

  "Warum ist der Text in Englisch - und nicht Deutsch?"
  "Weil da für mich so einfacher ist.  Eine Übersetzung mache
  ich gerne.. allerdings kommt immer noch einiges hinzu."

From 2016-03-09-belug.de@guckes.net Wed Mar 09 19:00:00 2016
From: Sven Guckes <2016-03-09-belug.de@guckes.net>
To: you <publikum@chemnitzer.linux-tage.de>
Subject: 2016-03-19 C-L-T: Email mit Mutt
Date: Sat Mar 19 16:00:00 CET 2016

┃  _____                    _  _               _  _          __  __         _    _
┃ | ____| _ __ ___    __ _ (_)| |   _ __ ___  (_)| |_       |  \/  | _   _ | |_ | |_
┃ |  _|  | '_ ` _ \  / _` || || |  | '_ ` _ \ | || __|      | |\/| || | | || __|| __|
┃ | |___ | | | | | || (_| || || |  | | | | | || || |_       | |  | || |_| || |_ | |_
┃ |_____||_| |_| |_| \__,_||_||_|  |_| |_| |_||_| \__|      |_|  |_| \__,_| \__| \__|

= Talk =

  Sven Guckes: "Email mit Mutt" (Email with Mutt)
  2016-03-19 16:00 in Raum V4
  19.03.2016 16:00 in Raum V4
  https://chemnitzer.linux-tage.de/2016/en/programm/beitrag/391

  http://www.guckes.net/talks/mutt.features.txt
  http://www.guckes.net/talks/mutt.features.html (in colour)

= Event =

  Chemnitzer Linux-Tage      Motto: "Es ist Dein Projekt"
  2016-01-08 cfp deadline    http://chemnitzer.linux-tage.de/2016/
  2016-03-18/19  event :)    Sa 8:30-18h, So 9-18h  | Anfahrt:
  Sa+So 19.+20. März 2016    www.freedom-tours.de www.linuxbus.de

★ From: Sven Guckes <clt2016@guckes.net>
★ Date: Sat Mar 19 16:00:00 CET 2016

From 2016-03-09-belug.de@guckes.net Wed Mar 09 19:00:00 2016
From: Sven Guckes <2016-03-09-belug.de@guckes.net>
To: you <publikum@chemnitzer.linux-tage.de>
Subject: Beschreibung/Description
Date: Sat Mar 19 16:00:00 CET 2016

= Beschreibung =

  Email mit Mutt

 "Email als Kommunikation ist für alle Projekte
  immer noch ein zentraler Dienst.
  Ein guter Mailclient ist von Vorteil.
  Mutt bietet viele Vorteile, die man
  bei den meisten anderen vermisst.
  Davon möchte ich euch 23 bis 42 zeigen."

= Description =

  Email with Mutt

 "Email as communication still is
  a central service on the internet.
  A good mail client is an advantage.
  Mutt offers a lot of advantages
  which you will miss in others.
  I will show you 23 to 42 of these.."

From 2016-03-09-belug.de@guckes.net Wed Mar 09 19:00:00 2016
From: Sven Guckes <2016-03-09-belug.de@guckes.net>
To: you <publikum@chemnitzer.linux-tage.de>
Date: Sat Mar 19 16:00:00 CET 2016
Subject: INTRO

mitlesen? bittesehr:
"website" holen:
$ wget guckes.net/mt
mit mutt lesen:
$ mutt -f mt

Fragen?
bitte aufschreiben/merken.
nach der Pause besprechen.
frage nicht beantwortet?
bitte per email schicken!

Ablauf:
dieser vortrag ist eine 40min *show*.
es zeigt die *features* des programms.
*warum* verwende ich es überhaupt?

wohlgemerkt:
man kann eh nicht alles in 40min zeigen.  "alles" würde
mindestens ein ganzes wochenende beanspruchen.
darum mache ich eine *persönliche* auswahl.
wie könnte es auch anderes sein?

MyView:
meine sicht der dinge:
* email verwende ich seit ca 1988 - (fast) jeden tag. "geschnittenes brot!"
* ich halte meine mails *nicht* auf dem laptop vor (warum sollte ich?)
* ich verbinde mich von irgendeinem rechner per mosh/ssh ("ssh client") zum server
* ich verwende den mailer mutt, seitdem es ihn gibt (seit feb 1996).
* alle verwendete tools müssen gut auf mich anzupassen sein. mutt passt!

in-berlin.de:
* IN-Berlin ist mein Internet Service Provider (ISP) seit vielen jahren
* dort werden alle eingehenden emails auf dem mailserver bewertet -> "X-Spam-Score:"
* mails können natürlich direkt an den account weitergeleitet werden..
* .. aber das fortlaufende eingehen habe ich abgeschaltet. (es stört mich)
* fetchmail holt die mails vom mailserver auf anfrage - wenn ich zeit habe
* procmail verteilt die mails nach absender bzw verteileradresse auf folder
* mutt kennt alle folder mit eingehenden mails (mailboxes)
* mutt zeigt alle mailboxes in einem eigenen menu an (mutt -y)
* mutt versteht IMAP(S) - aber das ist mir immer zu langsam
* .. und ich weiss nicht, ob ich den andere vertrauen kann ;)
ausserdem:
* IN-Berlin hat "alle" daten (emails, programme und konfigurationen)
* IN-Berlin macht jede Nacht einen backup :-)
* IN-Berlin leute treffen sich jeden dienstag
* IN-Berlin antwortet auf anfragen sehr schnell und kompetent

From 2016-03-09-belug.de@guckes.net Wed Mar 09 19:00:00 2016
From: Sven Guckes <2016-03-09-belug.de@guckes.net>
To: you <publikum@chemnitzer.linux-tage.de>
Subject: Where is BASSEL?
Date: Sat Mar 19 16:00:00 CET 2016

  ABOUT BASSEL KHARTABIL-SAFADI:
  On March 15, 2012, Bassel Khartabil was detained in a
  wave of arrests in the Mazzeh district of Damascus.
  Until October 2015, he was being held at Adra Prison
  in Damascus by the Syrian government.
  His current whereabouts are unknown.

  We are asking: Where is Bassel?

  https://de.wikipedia.org/wiki/Bassel_Khartabil
  http://freebassel.org/

  2016-03-19 14h/2pm:
  London: Marble Arch
  Paris:  Centre Georges Pompidou
  Berlin: Alexanderplatz

  2016-03-19 14h - Weinbergsweg 9, 10119 Berlin
  https://www.facebook.com/events/515230938663059/

From 2016-03-09-belug.de@guckes.net Wed Mar 09 19:00:00 2016
From: Sven Guckes <2016-03-09-belug.de@guckes.net>
To: you <publikum@chemnitzer.linux-tage.de>
Date: Sat Mar 19 16:00:00 CET 2016
Subject: #00 Überblick - kurz

= Überblick - kurz =

* relativ kleines Programm (stripped ca 750KB)
* super schnell!  (lokal, nicht per IMAP  ;-)
* hochkonfigurabel (ca 350 optionen)
* textbasiert
* Key Binding. Macros.
* Freie Software!  (GPL)
* FARBE! :)

Kommandos:
* bounce (sende Kopie - ohne Änderungen am header+body)
* list-reply (antworte *nur* an die Mailingliste)
* PGP Support (Signatur+Verschlüsselung)

Optionen:
* display_filter (Nachricht erst filtern, dann Resultat anzeigen)
* reverse_alias (zu wem gehört der Alias)
* reverse_name  (antworte als Angesprochener)
* to_chars (an wen ging diese email?)
* UNIX -> externe Tools - austauschbar/modular!

From 2016-03-09-belug.de@guckes.net Wed Mar 09 19:00:00 2016
From: Sven Guckes <2016-03-09-belug.de@guckes.net>
To: you <publikum@chemnitzer.linux-tage.de>
Date: Sat Mar 19 16:00:00 CET 2016
Subject: #00 Überblick - lang

= Überblick - lang =

* Texttool - rennt überall :)
* Verdammt schnell -> time mutt -f ~/Mail.IN/VIM

[Selbstverständlich?]
* Ansicht der Diskussionen als Bäume (threads)
* Übersichtsmenu der Mailboxes (Folder für eingehende Nachrichten)
* Ansicht aller Teile bzw Anhänge (attachments)
* Mailformate: versteht die Formate mailbox + maildir (und zwei weitere)

[Nicht ganz so selbstverständlich]
* Header: Auswahl der Zeilen, sowie Reihenfolge und Farbe einstellbar
* Index:  Einstellbare Farben (Ordnerinhalt) und Pager (Ansicht der Nachrichten)
* Key Binding und Makros (zB nur neue Mails bis zu zwei Wochen anzeigen)
* Anwendung von Kommandos auf die aktuelle Auswahl (tagging + tag-prefix)

[Kommandos]
* Auswahl von Nachrichten im Index ("limit") nach Mustern (regular expressions, regex)
* Weiterleitung ohne all diese Änderungen eines "forward" (bounce)
* Neupositionierung der aktuellen Nachricht (reposition current message)
* Wiederverwendung von existierenden Nachrichten (resend_message)
* Sichtung der "rohen Daten" - ("edit" the raw message) - wie sieht die Nachricht wirklich aus?
* Weitergabe der Nachricht per "pipe" an ein Program/Script, zB urlview
* Wechsel zwischen Kurz-Header und ganzem Header (display-toggle-weed)
* Ausblenden der zitierten Textes (toggle-quoted)

[Kommandos bzgl Antworten]
* Automatische Reparatur von "Subject: Re:/AW:"
* Editieren des Header im Editor - zusätzliche Zeilen, subjectwechsel
* Antworte nur an die Mailingliste (list-reply) (subscribe)
* Unterstützung für Crypto (GPG/PGP) (encrypt, sign) -> workshop, anyone?

[Konfiguration]
* Interne Kommandozeile mit "tab expansion" - ":set opt<TAB>=<TAB>"
* Setupdateien: "source file" -> Aufteilen der Einstellungen in mehrere Dateien
* Hilfe: Eingebaute Hilfe - Suche mit Trefferanzeige - adaptiert Key Bindings

[Optionen]
* editor - Auswahl des Lieblingseditors.  "one job - one tool"
* display_filter - Tippfehler korrigieren, Signaturen löschen
* reverse_alias - Auswahl der Anzeige von bekannten Adressen
* reverse_name - "Antworte als der Angeschriebene" -> Rollenaccount

[Protokolle ("Datenaustausch")]
* MIME  (Multipurpose Internet Mail Extensions) (RFC1522)
* PGP/MIME (RFC2015)
* IMAPS (Internet Message Access Protocol) - "Zugriff auf Mailboxen auf anderen Rechnern"
* POPS  (Post Office Protocol) - "*hole* Mails von anderen Rechnern"
* SMTP  (Simple Mail Transfer Protocol) - "*versende* Mails an andere Rechner"
* NNTP  (Network News Transfer Protocol) - Usenet Newsgruppen
* SSL + SASL
* Folder Formats: Mailbox, Maildir, MMDF, MH

[Mehr]
* nicht-interaktive Verwendung (crontab, shell, script)
* hooks:
  account-hook charset-hook crypt-hook fcc-hook folder-hook iconv-hook
  mbox-hook message-hook reply-hook save-hook send2-hook send-hook

[Setup!]
"okay - ich will das ausprobieren? gib mir einen setup!"
geht nicht. menschen sind zu unterschiedlich.
offensichtlich: andere namen und emailadressen.

weniger offensichtlich:
mail    eingang:  POP
mail verwaltung: IMAP
mail formats:    mail folder, maildir (+2 andere)
mail folder:     files, dirs, tags?
editor:          which editor do you like most? ;)

and now.. each of the features on a separate page:

From 2016-03-09-belug.de@guckes.net Wed Mar 09 19:00:00 2016
From: Sven Guckes <2016-03-09-belug.de@guckes.net>
To: you <publikum@chemnitzer.linux-tage.de>
Date: Sat Mar 19 16:00:00 CET 2016
Subject: #01 Speed!

= #01 Speed! =

mutt is FAST!

  $ time mutt -f ~/Mail.IN/VIM

  reads ca 57,000 mails including threading
  1st run: ca 12secs
  2nd run: ca  6secs

From 2016-03-09-belug.de@guckes.net Wed Mar 09 19:00:00 2016
From: Sven Guckes <2016-03-09-belug.de@guckes.net>
To: you <publikum@chemnitzer.linux-tage.de>
Date: Sat Mar 19 16:00:00 CET 2016
Subject: #02 Key Binding

= #02 Key Binding =

Key Binding allows to bind any internal command
to any key or key sequence - and also to bind it
a sequence of internal commands (known as a "macro").

example1:
    # ",," limits the index to new mails (~N)
    # from within the last two weeks (~d<2w) -
    # and no duplicates (!~=)
    macro index ,, "<limit>~N ~d<2w !~=\n"

example2:
    open a folder:
    $ mutt -f Mail.IN/VIM
    use this macro:
    macro index \#N "<limit>~f bram ~s patch ! ~s re: ~d <3w"

    pattern:
    ~f bram     matches "bram"  in "From:"
    ~s patch    matches "patch" in "Subject:"
    ! ~s re:    matches when there is NO "re:" in "Subject:"
    ~d <3w      matches when the "Date:" is less than three weeks away

From 2016-03-09-belug.de@guckes.net Wed Mar 09 19:00:00 2016
From: Sven Guckes <2016-03-09-belug.de@guckes.net>
To: you <publikum@chemnitzer.linux-tage.de>
Date: Sat Mar 19 16:00:00 CET 2016
Subject: #03 Command Line

= #03 Command Line =

mutt can be used for sending mails on the command line -
and can therefore also be used within scripts, eg from "cron".

initiate an email:
  $ mutt guckes
  $ mutt guckes@guckes.net
  $ mutt 'Sven Guckes <guckes@guckes.net>'

too much typing? create an alias!
  muttrc: alias icke Sven Guckes <guckes@guckes.net>
  $ mutt icke

sending myself a URL:
  $ echo $URL | mutt icke
note: sends right away. no editing.

sending myself the contents of a file - and with a subject line, too:
  $ mutt < file.txt | mutt -s "the file" icke

sending myself two files as an attachment:
  $ mutt -s "the files" -a file1.txt -a file2.pdf -- icke

From 2016-03-09-belug.de@guckes.net Wed Mar 09 19:00:00 2016
From: Sven Guckes <2016-03-09-belug.de@guckes.net>
To: you <publikum@chemnitzer.linux-tage.de>
Date: Sat Mar 19 16:00:00 CET 2016
Subject: #04 scriptable

= #04 scriptable =

whatever you can do interactively in your shell
you can also do within a shell script.

also works nicely also with crontab.

  example: kalenderblatt.sh
  cat $FILE | mutt -s "$DATUM Kalenderblatt" $EMAIL1 $EMAIL3

From 2016-03-09-belug.de@guckes.net Wed Mar 09 19:00:00 2016
From: Sven Guckes <2016-03-09-belug.de@guckes.net>
To: you <publikum@chemnitzer.linux-tage.de>
Date: Sat Mar 19 16:00:00 CET 2016
Subject: #05 Crypto

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

= #05 Crypto =

mutt supports PGP/MIME since 1996!

  ALT-k                mail-key     send public key
  CTRL-K            extract-key  extract public keys from message
  ------           decrypt-copy  make decrypted copy
  ------           decrypt-save  make decrypted copy and delete
  ALT-P   check-traditional-pgp  check for classic PGP (INLINE PGP)

mutt automatically verifies digital signatures
when displaying signed messages, and
prompts for passphrase to use seckey
(for decryption and for signing).
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1

iQP9AwUBVt+qVOq5fyABhTkbAQLRZh89H1Cf8PqIVXIgTOKNrOn+D0gxIU2jf+8J
v4jZ5o6rLxokmhHmcPAPxp3YB98a1fiVg49+GM7VcbBPxBtkzhs4XGWIkjdXl8XJ
nUCY/Jv3uttnVHDi+4ep20vzKD6o4+HwROlpVPVHef3N6ExCJC87dvdd57QnaTDq
KitqU1vrzESFTdFcr9g8vOTwuHZ2WeVTz0qVMphywOMNtYFnThi1FHXmGbuGJq++
Hb6rvsfK9bVRjzuJjf9SA0owx/bhI+S6a9deS8TdTKSaKGjVL03/GILjeqUSpBbz
H5RIx9ZovCa25IpdnB5yplelQ1huPbQPCyTjc9G1zB3zzq0+NAmP5YSEVtPFj/uF
CUGEnk/bKOEpvHxFCLjYI+kmYPb9gXBYatgF1zb4BfhjyImHGphftZLAgNrijl10
50ecXCauyBJBCUK8sGj6dq6rBHp3nFY0awohxfH/ZBgh9A3UiObVwzsByjcoeJMJ
eaxTdowUX0586gWILeUFYAjW/UdivHo82WE0cZW+lk1r/HrNzQHcvbMrF7y0RZyQ
PvqbNP1YV53rGOReJXjQ/BMJkJoXZLJoI+Q7GhBk3RZVC788LLWUU6F7qvBk14Ec
Sfe4RMVgJNByOLDwmf2dmA53n7hOmbzjVfNaHcDOOnXSL5db18IOefVFTu/xyiOC
LBu4opEBVjp5KB7db7IOSzicy6j3mXJpSQspjGx9h/5/wnM6FFRBEs0N4Gs6A+kr
g9Utoy8mq4m+0OuNmndZbNTK43zRnkS21MFwn/NdROEWqCCsOGdv90fd1oNtWDIT
dQZ3YNKq62HOjikluZYE7qmTYhYiNQBSQpfasrVg9ecEKUGzm09Q+SopKzazbXqt
5xYHnwyiB+UsgrYEnAKrxm32vncCdQstB/6OFDF3wT5ECQ/KHkHwY8pbUY31tkaB
YEuH80c+b1BXnGNt9M+EiocuWBAJX/swhOfY48N1LB7fUv4XYewKNhPyneZON9Sn
6QKBWo0HQEKlbFbgrc4r1A/xs52NQDalbZo2WrJAye93NiQgVU+j91Wuiz1Eb+aG
g0GhPYpS87O5RAVeH5keBCainV/3YPw85/sG4J5bp6QlkVedxdh1ihfbuTCbVRE5
S9q3p0qXUA1RCtK+3oMiblf1BYYmv3bCIuXsWCq8cb1ft+Ztg/6LD6YVRr0wouo/
427Cuy5MdlEF7Eca7H4bBkHFGEc/WrYnB8ga21IrwyX9GxGiVNwVllyW9fyJj8tv
xhGZQrFOsm800tylBZQwYel6ixfSF0JHiBiP0jvrLI8qPVziZdrtbe9wIc+ZpNUN
srAyePBIzKRQeWs4DaN+tw==
=E7Zt
-----END PGP SIGNATURE-----

ps: :'<,'>!gpg -a -b --clearsign

From 2016-03-09-belug.de@guckes.net Wed Mar 09 19:00:00 2016
From: Sven Guckes <2016-03-09-belug.de@guckes.net>
To: you <publikum@chemnitzer.linux-tage.de>
Date: Sat Mar 19 16:00:00 CET 2016
Subject: #06 MailLists

= #06 MailLists =

mutt has *three* reply commands:
reply, reply-all, and reply-to-list

every mailer has two reply commands:
you either reply to the sender - or all addresses.

but they do not have a command which replies
to the mailinglist address only?
there no support for mailing lists?  "hellooo?"

mutt has reply-to-list, of course.
simply "subscribe address" to tell it
about the mailing lists addresses:

  example:
  subscribe sed-users@yahoogroups.com

but this is only necessary for lists
which do not send "List-" header lines.

  List-Id:
  List-Unsubscribe:
  List-Archive:
  List-Post:
  List-Help:
  List-Subscribe:

From 2016-03-09-belug.de@guckes.net Wed Mar 09 19:00:00 2016
From: Sven Guckes <2016-03-09-belug.de@guckes.net>
To: you <publikum@chemnitzer.linux-tage.de>
Date: Sat Mar 19 16:00:00 CET 2016
Subject: #07 Color

= #07 Color =

mutt comes without colors by default.
some distributions come with a /etc/Muttc
which defines some colors.

however, colours are additional information.

colour in the folder index:
    * messages from yourself
    * messages with crypto (signatures, encrypted data)
    * replies to your messages
    * special words in the subject line
    * messages via mailinglist
    * possible spam

colour in the header:
    * background colours for From:,Subject:,Date:,To:+Cc:
    * Message-ID (MID), In-Reply-To (IRT), References:, X-Mailer
    * Resent-*, X-Envelope-* ...

colour in the body:
* attachment info, quoted text, signature, tilde
* special characters (umlauts!), and words, eg weekdays
* *emphasized* words
* "citations" and „quotations”
* dashes words (up-to-date)
* # comments and /* comments */
* arrows -> <= and smilies :-) ;)
* date+time (ranges), weekdays, month names
* numbers+units
* abbreviation like TLA
* alternatives this/that

* IP addresses+ranges
* geo coordinates
* names of cities, countries, towns
* names of streets and places

* names of distributions, operating systems, programs, protocols, projects
* emails, URLs, phone numbers, zip codes
* directories, filenames, file permissions,
* long option names, variables, version numbers
* border lines, bulleted and numbered lists, [mini-headers]
* punctuation (mid-line, EOL), trailing whitespace
* fingerprints if keys, keyIDs, md5sums
* markup: markdown, pandoc, HTML tags, LaTeX commands
* IRC channel names and hastags
* footnote references
* IBAN/SEPA numbers

* words with ticks, eg "it's"

From 2016-03-09-belug.de@guckes.net Wed Mar 09 19:00:00 2016
From: Sven Guckes <2016-03-09-belug.de@guckes.net>
To: you <publikum@chemnitzer.linux-tage.de>
Date: Sat Mar 19 16:00:00 CET 2016
Subject: #08 Aliases
X-TODO: add the topics from below

= #08 Aliases =

you can create aliases, of course.
either by using the "create-alias" command
in the folder index upon the current message -
or by editing the  setup file with an editor.

    example:
    alias nickname  FirstName Lastname <first.last@domain.tld>
    alias work      My Name <me@work.tld>

anyone who can handle an editor can do this easily.
so it does not take any extra interfaces for this.

TODO

aliases, group aliases, alias lookup

    example:
    participants of a workshop:
    alias part1  Joe  Doe  <joe.doe@domain>
    alias part2  Jane Doe <jane.doe@domain>
    alias part3  Tante Emma <emma@laden.de>

    alias group  part1, part2, part3

see also: https://de.wikipedia.org/wiki/John_Doe

From 2016-03-09-belug.de@guckes.net Wed Mar 09 19:00:00 2016
From: Sven Guckes <2016-03-09-belug.de@guckes.net>
To: you <publikum@chemnitzer.linux-tage.de>
Date: Sat Mar 19 16:00:00 CET 2016
Subject: #09 Message Flags

= #09 Message Flags =

the folder index shows some "flags" with messages.

crypto:  encrypted, signed, verified, with key attachment
status:  new mail (N), old mail (O), replied mail (r)
special: duplicate (=), list (L), flagged (!), to-be-deleted (D)

From -> to whom; i am on Cc or To (but not alone)

"to_chars":
  C one of my addresses appears in the Cc: -
    but there is at least one more address which is not mine
  T one of my addresses appears in the To: -
    but there is at least one more address which is not mine
  + all recipient addresses are mine :)

mutt needs to know your addresses.
so define them with "alternates":

    alternates *@guckes.net
    alternates guckes@project.org

now mutt can filter your addrsses out
when you are replying to "all addresses".

From 2016-03-09-belug.de@guckes.net Wed Mar 09 19:00:00 2016
From: Sven Guckes <2016-03-09-belug.de@guckes.net>
To: you <publikum@chemnitzer.linux-tage.de>
Date: Sat Mar 19 16:00:00 CET 2016
Subject: #10 index_format

= #10 index_format =

the option 'index_format' controls the
view of messages in the folder index.

it is great to have control over that!

   :set index_format="%4C %Z %{%Y-%b-%d} %-23.23F|%4c|%s"

-> "%F" for "From:" and "%A" for "Reply-To:".

    :set index_format='%4C %Z %{%b%d} %-16.16F %s'

->  macro index ,ii ':set index_format='%4C %Z %{%b%d} %-16.16F %s'\n

TODO:  add macros for switching.
    macro index ,i1 ...
    macro index ,i2 ...
    macro index ,i3 ...

all format options:
  $ man muttrc | grep '[a-z_]*_format$'
  alias_format
  attach_format
  compose_format
  date_format
  folder_format
  forward_format
  index_format
  message_format
  mix_entry_format
  pager_format
  pgp_entry_format
  query_format
  status_format
  ts_icon_format
  ts_status_format

From 2016-03-09-belug.de@guckes.net Wed Mar 09 19:00:00 2016
From: Sven Guckes <2016-03-09-belug.de@guckes.net>
To: you <publikum@chemnitzer.linux-tage.de>
Date: Sat Mar 19 16:00:00 CET 2016
Subject: #11 Message-Id
Message-Id: <20160309194223.GA04711@guckes.net>

= #11 Message-Id =

the Message-Id (MID) can be generated.

  set hostname="guckes.net"

-> can be recognized in the header
-> can be colored accordingly

old: color index brightyellow black   "~h 'in-reply-to:.*<201[.a-z0-9]*@guckes.net>'"
new: color index brightyellow black   "~i '2016.*@guckes.net'"

From 2016-03-09-belug.de@guckes.net Wed Mar 09 19:00:00 2016
From: Sven Guckes <2016-03-09-belug.de@guckes.net>
To: you <publikum@chemnitzer.linux-tage.de>
Date: Sat Mar 19 16:00:00 CET 2016
Subject: #12 alternates

= #12 alternates  =

alternates - which addresses are mine?

From 2016-03-09-belug.de@guckes.net Wed Mar 09 19:00:00 2016
From: Sven Guckes <2016-03-09-belug.de@guckes.net>
To: you <publikum@chemnitzer.linux-tage.de>
Date: Sat Mar 19 16:00:00 CET 2016
Subject: #13 reverse_alias

= #13 reverse_alias =

reverse_alias -> show your chosen name for an alias in the index

From 2016-03-09-belug.de@guckes.net Wed Mar 09 19:00:00 2016
From: Sven Guckes <2016-03-09-belug.de@guckes.net>
To: you <publikum@chemnitzer.linux-tage.de>
Date: Sat Mar 19 16:00:00 CET 2016
Subject: #14 reply_regexp

= #14 reply_regexp =

reply_regexp -> repair subject lines to "Re:" on answers

From 2016-03-09-belug.de@guckes.net Wed Mar 09 19:00:00 2016
From: Sven Guckes <2016-03-09-belug.de@guckes.net>
To: you <publikum@chemnitzer.linux-tage.de>
Date: Sat Mar 19 16:00:00 CET 2016
Subject: #15 editor

= #15 editor =

set editor=vim -> vim colouring of text

From 2016-03-09-belug.de@guckes.net Wed Mar 09 19:00:00 2016
From: Sven Guckes <2016-03-09-belug.de@guckes.net>
To: you <publikum@chemnitzer.linux-tage.de>
Date: Sat Mar 19 16:00:00 CET 2016
Subject: #16 edit_headers

= #16 edit_headers =

"set edit_headers" -> edit the header in your editor
    (who wants to *edit* in a web *browser*?)

All commands of a mighty texteditor at your disposal
* Full control of the header:
- Change  header lines.
- Add new header lines.
* Reformat cited text.
* Add text from other mails.
* Add a signature.
* Use of abbreviations and macros.
* Macro Recording, Prefix Expansion.
  -> another talk on "Message Editing".

From 2016-03-09-belug.de@guckes.net Wed Mar 09 19:00:00 2016
From: Sven Guckes <2016-03-09-belug.de@guckes.net>
To: you <publikum@chemnitzer.linux-tage.de>
Date: Sat Mar 19 16:00:00 CET 2016
Subject: #17 hooks

= #17 hooks =

hooks
    alias, mailboxes+subscribe
    folder-hook + save-hook

From 2016-03-09-belug.de@guckes.net Wed Mar 09 19:00:00 2016
From: Sven Guckes <2016-03-09-belug.de@guckes.net>
To: you <publikum@chemnitzer.linux-tage.de>
Date: Sat Mar 19 16:00:00 CET 2016
Subject: #18 bounce

= #18 bounce =

bounce command -> Resent- header lines -> index colour

From 2016-03-09-belug.de@guckes.net Wed Mar 09 19:00:00 2016
From: Sven Guckes <2016-03-09-belug.de@guckes.net>
To: you <publikum@chemnitzer.linux-tage.de>
Date: Sat Mar 19 16:00:00 CET 2016
Subject: #19 Attach Menu

= #19 Attach Menu =

overview of message parts
eg text/plan, text/html, DOC, PDF.., GIF/JPEG/PNG

From 2016-03-09-belug.de@guckes.net Wed Mar 09 19:00:00 2016
From: Sven Guckes <2016-03-09-belug.de@guckes.net>
To: you <publikum@chemnitzer.linux-tage.de>
Date: Sat Mar 19 16:00:00 CET 2016
Subject: #20 mailcap

= #20 mailcap =

mailcap -> automatic handling of data, eg rendering of text/html or PDFs

From 2016-03-09-belug.de@guckes.net Wed Mar 09 19:00:00 2016
From: Sven Guckes <2016-03-09-belug.de@guckes.net>
To: you <publikum@chemnitzer.linux-tage.de>
Date: Sat Mar 19 16:00:00 CET 2016
Subject: #21 Header Weeding

= #21 Header Weeding =

header "weeding"
    "ignore" - hides lines you dont needs
    "unignore" - show the ones you want to see

From 2016-03-09-belug.de@guckes.net Wed Mar 09 19:00:00 2016
From: Sven Guckes <2016-03-09-belug.de@guckes.net>
To: you <publikum@chemnitzer.linux-tage.de>
Date: Sat Mar 19 16:00:00 CET 2016
Subject: #22 Colouring of Header

= #22 Colouring of Header =

header colouring - important ones with non-black background

From 2016-03-09-belug.de@guckes.net Wed Mar 09 19:00:00 2016
From: Sven Guckes <2016-03-09-belug.de@guckes.net>
To: you <publikum@chemnitzer.linux-tage.de>
Date: Sat Mar 19 16:00:00 CET 2016
Subject: #23 toggle-quoted

= #23 toggle-quoted =

toggle quoted lines - see only new text

> this line starts with an angle..
> this means it is a cited line..
> this is another cited line..
> this is getting boring fast..
> i reall wish i didnt not have
> to read all those lines again.
> if there were only a command
> which would hide it all.. hmm..

From 2016-03-09-belug.de@guckes.net Wed Mar 09 19:00:00 2016
From: Sven Guckes <2016-03-09-belug.de@guckes.net>
To: you <publikum@chemnitzer.linux-tage.de>
Date: Sat Mar 19 16:00:00 CET 2016
Subject: #24 display_filter

= #24 display_filter =

display_filter - change typos, delete signatures and footers

bloody tpyos

-- 
this is a signature.

------------------------
mail footer. blah blah..

From 2016-03-09-belug.de@guckes.net Wed Mar 09 19:00:00 2016
From: Sven Guckes <2016-03-09-belug.de@guckes.net>
To: you <publikum@chemnitzer.linux-tage.de>
Date: Sat Mar 19 16:00:00 CET 2016
Subject: #25 threading

= #25 threading =
threading!  what discussion can live without it?

From 2016-03-09-belug.de@guckes.net Wed Mar 09 19:00:00 2016
From: Sven Guckes <2016-03-09-belug.de@guckes.net>
To: you <publikum@chemnitzer.linux-tage.de>
Date: Sat Mar 19 16:00:00 CET 2016
Subject: #26 limit

= #26 limit =

limit:  show only part of the index according to a pattern

From 2016-03-09-belug.de@guckes.net Wed Mar 09 19:00:00 2016
From: Sven Guckes <2016-03-09-belug.de@guckes.net>
To: you <publikum@chemnitzer.linux-tage.de>
Date: Sat Mar 19 16:00:00 CET 2016
Subject: #27 Folder Formats

= #27 Folder Formats =

folder formats - mailbox+maildir. (and another two)

mailbox: a folder is one long file.
    $ mutt -f file

maildir: a folder is a directory -
with subdirs "cur", "new", and "tmp".
    $ mutt -f dir/

From 2016-03-09-belug.de@guckes.net Wed Mar 09 19:00:00 2016
From: Sven Guckes <2016-03-09-belug.de@guckes.net>
To: you <publikum@chemnitzer.linux-tage.de>
Date: Sat Mar 19 16:00:00 CET 2016
Subject: #28 Message Editing

= #28 Message Editing =

command "edit"
message editing - repairing text/plain to text/html (sigh)

From 2016-03-09-belug.de@guckes.net Wed Mar 09 19:00:00 2016
From: Sven Guckes <2016-03-09-belug.de@guckes.net>
To: you <publikum@chemnitzer.linux-tage.de>
Date: Sat Mar 19 16:00:00 CET 2016
Subject: #29 Patches

= #29 Patches =

patches: newsreading (NNTP), sidebar etc

From 2016-03-09-belug.de@guckes.net Wed Mar 09 19:00:00 2016
From: Sven Guckes <2016-03-09-belug.de@guckes.net>
To: you <publikum@chemnitzer.linux-tage.de>
Date: Sat Mar 19 16:00:00 CET 2016
Subject: #30 Help

= #30 Help =

help -> key bindings for current menu

From 2016-03-09-belug.de@guckes.net Wed Mar 09 19:00:00 2016
From: Sven Guckes <2016-03-09-belug.de@guckes.net>
To: you <publikum@chemnitzer.linux-tage.de>
Date: Sat Mar 19 16:00:00 CET 2016
Subject: #31 Tags

= #31 Tags =

tag + tag-prefix -> apply command to all tagged mails

From 2016-03-09-belug.de@guckes.net Wed Mar 09 19:00:00 2016
From: Sven Guckes <2016-03-09-belug.de@guckes.net>
To: you <publikum@chemnitzer.linux-tage.de>
Date: Sat Mar 19 16:00:00 CET 2016
Subject: #32 Reposition

= #32 Reposition =

three commands to reposition the current message in index view:
current-middle current-bottom current-top

From 2016-03-09-belug.de@guckes.net Wed Mar 09 19:00:00 2016
From: Sven Guckes <2016-03-09-belug.de@guckes.net>
To: you <publikum@chemnitzer.linux-tage.de>
Date: Sat Mar 19 16:00:00 CET 2016
Subject: #33 Command Line

= #33 Command Line =

command line with tab expansion on commands, option names, and values

From 2016-03-09-belug.de@guckes.net Wed Mar 09 19:00:00 2016
From: Sven Guckes <2016-03-09-belug.de@guckes.net>
To: you <publikum@chemnitzer.linux-tage.de>
Date: Sat Mar 19 16:00:00 CET 2016
Subject: #34 Shell Escape

= #34 Shell Escape =

shell escape - whee! :)

From 2016-03-09-belug.de@guckes.net Wed Mar 09 19:00:00 2016
From: Sven Guckes <2016-03-09-belug.de@guckes.net>
To: you <publikum@chemnitzer.linux-tage.de>
Date: Sat Mar 19 16:00:00 CET 2016
Subject: #35 Broken Threads

= #35 Broken Threads =

thread graft+prune ->
    #   break-thread    break the thread in two
    &   link-threads    link tagged message to the current one
people who breaks threads by using bad mailers... grrr!

From 2016-03-09-belug.de@guckes.net Wed Mar 09 19:00:00 2016
From: Sven Guckes <2016-03-09-belug.de@guckes.net>
To: you <publikum@chemnitzer.linux-tage.de>
Date: Sat Mar 19 16:00:00 CET 2016
Subject: #36 reverse_name

= #36 reverse_name =

reverse_name - role accounts!

From 2016-03-09-belug.de@guckes.net Wed Mar 09 19:00:00 2016
From: Sven Guckes <2016-03-09-belug.de@guckes.net>
To: you <publikum@chemnitzer.linux-tage.de>
Date: Sat Mar 19 16:00:00 CET 2016
Subject: #37 Config Files

= #37 Config Files =

config files -> source command to split setup into files

From 2016-03-09-belug.de@guckes.net Wed Mar 09 19:00:00 2016
From: Sven Guckes <2016-03-09-belug.de@guckes.net>
To: you <publikum@chemnitzer.linux-tage.de>
Date: Sat Mar 19 16:00:00 CET 2016
Subject: #38 Pipe

= #38 Pipe =

pipe mails to programs/scripts -> urlview!

From 2016-03-09-belug.de@guckes.net Wed Mar 09 19:00:00 2016
From: Sven Guckes <2016-03-09-belug.de@guckes.net>
To: you <publikum@chemnitzer.linux-tage.de>
Date: Sat Mar 19 16:00:00 CET 2016
Subject: #39 braille_friendly

= #39 braille_friendly =
...

From 2016-03-09-belug.de@guckes.net Wed Mar 09 19:00:00 2016
From: Sven Guckes <2016-03-09-belug.de@guckes.net>
To: you <publikum@chemnitzer.linux-tage.de>
Date: Sat Mar 19 16:00:00 CET 2016
Subject: #40 deleting duplicates

= #40 Deleting Duplicates =
...

From 2016-03-09-belug.de@guckes.net Wed Mar 09 19:00:00 2016
From: Sven Guckes <2016-03-09-belug.de@guckes.net>
To: you <publikum@chemnitzer.linux-tage.de>
Date: Sat Mar 19 16:00:00 CET 2016
Subject: #41 Message-ID

= #41 Message-ID =
...

From 2016-03-09-belug.de@guckes.net Wed Mar 09 19:00:00 2016
From: Sven Guckes <2016-03-09-belug.de@guckes.net>
To: you <publikum@chemnitzer.linux-tage.de>
Date: Sat Mar 19 16:00:00 CET 2016
Subject: #42 alternates

= #42 alternates =
...

From 2016-03-09-belug.de@guckes.net Wed Mar 09 19:00:00 2016
From: Sven Guckes <2016-03-09-belug.de@guckes.net>
To: you <publikum@chemnitzer.linux-tage.de>
Date: Sat Mar 19 16:00:00 CET 2016
Subject: #42 hooks

= #42 hooks =

   account-hook [!]regexp command
   charset-hook alias charset
   crypt-hook   regexp key-id
   fcc-hook     [!]pattern filename
   folder-hook  [!]regexp command
   iconv-hook   charset local-charset
   mbox-hook    [!]regexp mailbox
   message-hook [!]pattern command
   reply-hook   [!]pattern command
   save-hook    [!]pattern filename
   send-hook    [!]pattern command
   send2-hook   [!]pattern command

============================================================
============================================================
END of TODO
============================================================

From 2016-03-09-belug.de@guckes.net Wed Mar 09 19:00:00 2016
From: Sven Guckes <2016-03-09-belug.de@guckes.net>
To: you <publikum@chemnitzer.linux-tage.de>
Date: Sat Mar 19 16:00:00 CET 2016
Subject: Feedback

= Feedback  =

thank you for listening.

i'd love to see some feedback.
please send it to my at either
2016-03-09-belug.de@guckes.net
or          clt2016@guckes.net

upcoming CLT -> join the CLT mailing list:
http://mlists.in-berlin.de/mailman/listinfo/clt-discuss-mlists.in-berlin.de

Key Signing?  personally.. fingerprints..

enjoy CLT2016! :-)

From 2016-03-09-belug.de@guckes.net Wed Mar 09 19:00:00 2016
From: Sven Guckes <2016-03-09-belug.de@guckes.net>
To: you <publikum@chemnitzer.linux-tage.de>
Date: Sat Mar 19 16:00:00 CET 2016
Subject: Author

= Author =

    Sven Guckes
        @guckes     twitter
     www.guckes.net homepage
 clt2016@guckes.net
 2016-03-09-belug.de@guckes.net
 8000R/0185391B     new public key
 1024R/57F77F09     old public key
     52.52, 13.37   geolocation

  http://tinyurl.com/8000R-0185391B
  8000R/0185391B 2014-03-11
  32CE 5648 6E6D 6D6D 33E5
  3A38 EAB9 7F20 0185 391B
  keysigningparty@guckes.net

= Statements =

"encrypt all data.  because - why not?!"

"first encrypt - then send"
(erst verschlüsseln, dann versenden)

"we need transparent governments..
     not transparent citizens."

"a government which has nothing to hide
   need not be afraid of Wikileaks."


From 2016-03-09-belug.de@guckes.net Wed Mar 09 19:00:00 2016
From: Sven Guckes <2016-03-09-belug.de@guckes.net>
To: you <publikum@chemnitzer.linux-tage.de>
Date: Sat Mar 19 16:00:00 CET 2016
Subject: MOAR

= MOAR =

some more things which you might see anyway
or which take too long to explain.
stuff for workshops.

* mailboxes overview
* IMAPS, POPS
* SMTP
* postpone+recall of messages
* message editing

From 2016-03-09-belug.de@guckes.net Wed Mar 09 19:00:00 2016
From: Sven Guckes <2016-03-09-belug.de@guckes.net>
To: you <publikum@chemnitzer.linux-tage.de>
Date: Sat Mar 19 16:00:00 CET 2016
Subject: NOT!

= NOT! =

some things which you will *not* find in mutt
and where another tool can help you.

* NO GUI!
  no buttons or icons to click on,
  no scrollbars to slide up+down, left+right
  [however, the User Interface does have dialogs,
   menus, configurable colours, and key binding]

* NO viewing of attached pictures (-> ~/.mailcap: "image/*; cacaview %s")
* NO built-in editor - feature! (-> "set editor=nano")
* NO integrated address book (-> "set query_command="abook --mutt-query '%s'")

* NO name lookup from all messages (as with google gmail)
* NO internal calendar -> other tools (Termine)
* NO address book tool -> other tools (Contacts)
* NO internal textpads
* NO kitchen sink

* NO internal scripting language (gee, that's missing)
* IMAP support sucks a bit. yep.
  you need an IMAP server like offlineimap
  to connect to for reading local mails.

note: mutt is a user agent (UA), not a delivery agent,
or a mail filter (eg procmail), or a mail server.
although it does support getting mails with POP -
fetchmail does a much better job.

From 2016-03-09-belug.de@guckes.net Wed Mar 09 19:00:00 2016
From: Sven Guckes <2016-03-09-belug.de@guckes.net>
To: you <publikum@chemnitzer.linux-tage.de>
Date: Sat Mar 19 16:00:00 CET 2016
Subject: Installation

= Installation =

you might need all these packages:

== Debian ==

# apt install fetchmail procmail mutt mutt-patched

fetchmail       fetches mail using POP
procmail        processes incoming email (split into folders)
mutt            the email client itself (woof!)
mutt-patched    mutt with three major patches:
                * sidebar: list mailboxes (with new mail) in a separate column on screen
                * nntp: NNTP support for mutt
                * multiple-fcc: handle FCC with multiple, comma separated entries

== Source ==

ftp://ftp.mutt.org/pub/mutt/

  ncftp /pub/mutt > ls -l mutt-1.5.24*
  -rw-r--r--    1 4063     4063      3897115 Aug 31 15:39 mutt-1.5.24.tar.gz
  -rw-r--r--    1 4063     4063          801 Aug 31 15:39 mutt-1.5.24.tar.gz.asc

getting the latest through HTTP with wget:
TODO

getting the latest through FTP with ncftpget:
ncftpget ftp://ftp.mutt.org/pub/mutt/mutt-1.5.24.tar.gz
ncftpget ftp://ftp.mutt.org/pub/mutt/mutt-1.5.24.tar.gz.asc

checking the digital signature:
TODO gpg ..

unpacking the archive:
$ tar xzf mutt*gz

change into the created subdirectory:
$ cd mutt-1.5.24

configuring mutt with long options for $HOME:
$ _compile_mutt () {
   ./configure --prefix=$HOME --disable-nls --enable-hcache
   --enable-locales-fix --enable-imap --enable-pop
   --without-idn --with-gnutls --with-gss --with-sasl
   --with-included-gettext --without-wc-funcs
   }

make it!
$ time make

install the created files in the file system:
$ time make install

checking for the binary in the shell's $PATH:
$ which mutt
/home/user/guckes/bin/mutt

look at all the files which had been created:
$ cd ~/bin
$ ls -rtl
  30753 Jan 14 17:01 smime_keys
 153972 Jan 14 17:01 pgpring
  12275 Jan 14 17:01 pgpewrap
     26 Jan 14 17:01 muttbug
3482845 Jan 14 17:01 mutt-1.5.24.stripped
   7694 Jan 14 17:01 flea
     20 Jan 14 17:03 mutt -> mutt-1.5.24.stripped

let the mutt binary tell us what it was installed with:
$ mutt -v
Mutt 1.5.24 (2015-08-30)
Copyright (C) 1996-2009 Michael R. Elkins and others.
Mutt comes with ABSOLUTELY NO WARRANTY; for details type `mutt -vv'.
Mutt is free software, and you are welcome to redistribute it
under certain conditions; type `mutt -vv' for details.

System: Linux 3.2.0-4-amd64 (x86_64)
ncurses: ncurses 5.9.20110404 (compiled with 5.9)
hcache backend: GDBM version 1.8.3. 10/15/2002 (built Jun 10 2012 09:50:33)

Compiler:
Using built-in specs.
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-linux-gnu/4.7/lto-wrapper
Target: x86_64-linux-gnu
Configured with: ../src/configure -v --with-pkgversion='Debian 4.7.2-5' --with-bugurl=file:///usr/share/doc/gcc-4.7/README.Bugs --enable-languages=c,c++,go,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-4.7 --enable-shared --enable-linker-build-id --with-system-zlib --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.7 --libdir=/usr/lib --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-gnu-unique-object --enable-plugin --enable-objc-gc --with-arch-32=i586 --with-tune=generic --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu
Thread model: posix
gcc version 4.7.2 (Debian 4.7.2-5)

Configure options: '--prefix=/home/user/guckes' '--disable-nls' '--enable-hcache' '--enable-locales-fix' '--enable-imap' '--enable-pop' '--without-idn' '--with-gnutls' '--with-gss' '--with-sasl' '--with-included-gettext' '--without-wc-funcs'

Compilation CFLAGS: -Wall -pedantic -Wno-long-long -g -O2

Compile options:
-DOMAIN
-DEBUG
-HOMESPOOL  -USE_SETGID  +USE_DOTLOCK  -DL_STANDALONE  +USE_FCNTL  -USE_FLOCK
+USE_POP  +USE_IMAP  -USE_SMTP
-USE_SSL_OPENSSL  +USE_SSL_GNUTLS  +USE_SASL  +USE_GSS  +HAVE_GETADDRINFO
+HAVE_REGCOMP  -USE_GNU_REGEX
+HAVE_COLOR  +HAVE_START_COLOR  +HAVE_TYPEAHEAD  +HAVE_BKGDSET
+HAVE_CURS_SET  +HAVE_META  +HAVE_RESIZETERM
+CRYPT_BACKEND_CLASSIC_PGP  +CRYPT_BACKEND_CLASSIC_SMIME  -CRYPT_BACKEND_GPGME
-EXACT_ADDRESS  -SUN_ATTACHMENT
-ENABLE_NLS  +LOCALES_HACK  -HAVE_WC_FUNCS  +HAVE_LANGINFO_CODESET  +HAVE_LANGINFO_YESEXPR
+HAVE_ICONV  -ICONV_NONTRANS  -HAVE_LIBIDN  +HAVE_GETSID  +USE_HCACHE
-ISPELL
SENDMAIL="/usr/sbin/sendmail"
MAILPATH="/var/mail"
PKGDATADIR="/home/user/guckes/share/mutt"
SYSCONFDIR="/home/user/guckes/etc"
EXECSHELL="/bin/sh"
-MIXMASTER
To contact the developers, please mail to <mutt-dev@mutt.org>.
To report a bug, please visit http://bugs.mutt.org/.

ta-dah! :-)

From 2016-03-09-belug.de@guckes.net Wed Mar 09 19:00:00 2016
From: Sven Guckes <2016-03-09-belug.de@guckes.net>
To: you <publikum@chemnitzer.linux-tage.de>
Date: Sat Mar 19 16:00:00 CET 2016
Subject: Problems of Bad Mailers

= Problems =

bad mailers create problems:

* citation with comb-quoting:
    text is first cited, then long lines are broken -
    creating comb-quoted text.
* citation of only the first level:
    context might be hidden in the previous level
* forwarding:
    this changed the sender, the subject line,
    the body (citation), it breaks encoding,
    and it might lose some or all attachments
* hiding of quoted text:
    the user doesnt see how much he is actually citing.
    message become longer - and the archive as well.
* signature appended after sending:
    user might not see what he is sending at the end.
    the reasons for a lot of silly pranks.
* insertion point is above cited text:
    user replies about the citation .
    so you have to read texts in reverse.
* no reference to previous message:
    this breaks all discussion threads. :-(
* addresses:  some mailers allow choice of address
  by the recipient's name - and then only show the names.
  this may be convenient on long lists of recipients,
  but then you cannot see and check the actual addresses.
  many of us now have more than one address,
  (official-private, private-private,
  work, project, for-newsletters-only etc)
  so a check is often necessary.
* header display:
  mailers show only the minimum of lines, ie
  From:, Subject:, Date:, as well as To: and Cc:.
  but Reply-To is often important as well,
  because it might point at another address
  which might be an alias for several
  addresses such as a mailing list.

From 2016-03-09-belug.de@guckes.net Wed Mar 09 19:00:00 2016
From: Sven Guckes <2016-03-09-belug.de@guckes.net>
To: you <publikum@chemnitzer.linux-tage.de>
Date: Sat Mar 19 16:00:00 CET 2016
Subject: User Errors

= User Errors =

* full citation:
  users cites everything - never deletes anything.
  this amasses a lot of needless data.
  some "message editing" is required!
  TOFU = "text oben (above), full-quote unten (below)"
  it's probably better to delete the full citation.

* always reply-to-all.
  not always a useful thing to do.
  for list messages then answer goes not only
  to the list, but all additional addresses, too.
  for those who are on the list they will get it twice.
  for those who are NOT on the list, they may
  not be sure whether someone has added them.

* thread hijacking:
  initiate new topic/thread by replying to any previous mail.
  this adds a reference where no reference should be.
  https://de.wikipedia.org/wiki/Thread-Hijacking
  https://www.urbandictionary.com/define.php?term=Thread+Hijacking
  https://workplace.stackexchange.com/questions/6205/is-there-a-proper-or-polite-way-to-tell-people-to-not-hijack-threads

* No reference:
  replying with a client which does not give reference.
  the users might not be aware of this, but once they know it,
  they are making a choice every time - and a bad one, too.
  because every recipient will receive a problem with it.

* text/html by default:
  if you are not using a rich text editor for
  bold/italics, extra fonts, and some color,
  then please just turn it off.  most people
  only see the text/plain part, anyway.

* signatures:
  separate them with a signature dashes line (dash-das-space).
  keep it to four lines, and make it only one block/paragraph.

  howto:
  minimum: name+email. (yes, the address from your header.)
  gpg: the id of your pubkey with bits, too!  "NNNN./1234ABCD"
  homepage:  www.yourdomain.tld - is it really long? shorten it!
  a quote. a statement. something which might say often enough.
  fon - if you expect people to call you up.  "tel:number"
  fax - really?  the second millennium is DEAD!

* legal dislaimers:
  the requirement for legal disclaimers for each and every email
  was probably designed in legal hell.  while business people
  think they will be sued if it were missing, it is
  NOT required in usual emails.  so - dont do it.

* attachments:
  avoid attachments.  instead, include a link to files online.
  there are many servers which take your file and give you a nice,
  short url for it.  and delete it automatically after N days, too.

-> Jon Postel in RFC791 (1981-09):
   "In general, an implementation must be conservative in its
   sending behavior, and liberal in its receiving behavior."
=> "Be conservative in what you send and liberal in what you accept"
     ("conservative" -> vorsichtig, zurückhaltend)
     ("liberal" -> großzügig,offen, tolerant)

From 2016-03-09-belug.de@guckes.net Wed Mar 09 19:00:00 2016
From: Sven Guckes <2016-03-09-belug.de@guckes.net>
To: you <publikum@chemnitzer.linux-tage.de>
Date: Sat Mar 19 16:00:00 CET 2016
Subject: Netiquette HowTo

= Netiquette HowTo =

HOW-TO:
  be brief.
  summarize.
  instruct.

  be brief: delete unnecessary stuff.
    keep only the bit which is needed for context.
    avoid mail footers, signatures, legal disclaimers, and attachments.
  instruct: tell the reader what you expect him to do.
  summarize: what is the most relevant information?

From 2016-03-09-belug.de@guckes.net Wed Mar 09 19:00:00 2016
From: Sven Guckes <2016-03-09-belug.de@guckes.net>
To: you <publikum@chemnitzer.linux-tage.de>
Date: Sat Mar 19 16:00:00 CET 2016
Subject: Patches

= Patches =

some info about available patches (aka addons):
(this will be a LOT of work. o_O)

http://www.lunar-linux.org/mutt-sidebar/

debian package maintained by Antonio Radici <antonio@dyne.org>:
  * sidebar: list mailboxes (with new mail) in a separate column on screen
  * nntp: NNTP support for mutt
  * multiple-fcc: handle FCC with multiple, comma separated entries

From 2016-03-09-belug.de@guckes.net Wed Mar 09 19:00:00 2016
From: Sven Guckes <2016-03-09-belug.de@guckes.net>
To: you <publikum@chemnitzer.linux-tage.de>
Date: Sat Mar 19 16:00:00 CET 2016
Subject: EMACS

"the other editor"[tm] comes with two goodies:
* mutt-alias  - looks up mutt aliases
* muttrc-mode - main mode for managing mutt setup files

From 2016-03-09-belug.de@guckes.net Wed Mar 09 19:00:00 2016
From: Sven Guckes <2016-03-09-belug.de@guckes.net>
To: you <publikum@chemnitzer.linux-tage.de>
Date: Sat Mar 19 16:00:00 CET 2016
Subject: Credits

= Credits =

* Rhonda D'Vine           <rhonda@deb.at>
  for proof-reading and suggestions -
  and adding some colour to your signature via a headerline:
    http://rhonda.deb.at/config/mutt/sigcolor.hooks

shall i add you?  send some feedback via email!
(bonus points for sending mail with mutt!)

From 2016-03-09-belug.de@guckes.net Wed Mar 09 19:00:00 2016
From: Sven Guckes <2016-03-09-belug.de@guckes.net>
To: you <publikum@chemnitzer.linux-tage.de>
Date: Sat Mar 19 16:00:00 CET 2016
Subject: Q&A

= Q&A =

Q: How to make mutt read from ~/mail (small-m) instead of ~/Mail (big-M)?
A1: Create a symlink with "ln -s ~/mail ~/Mail".
A2: Change $MAIL to your inbox, eg "MAIL=$HOME/mail/inbox".

Q: How to remove duplicates from a folder?
A: tag all duplicates for deletion - and update (sync) the folder.
   with standard key bindings:   D ~= RET $
   with internal function names: delete-pattern ~= RET sync-mailbox

Q: Some processes send email to the "root" user.
   How can I see those emails as myself?
A: Let mails to "root" be forwarded to you user account.
   Create the file /root/.forward and add your user name:
   # echo $USER >  /root/.forward
   maybe you want both "root" and yourself to receive a copy
   then add both "root" and your username to that file:
   # echo root,$USER > /root/.forward
   note that the shell prompt '#' indicates
   that you must do this as user "root".

Q: My main mailbox is big and my computer is slow -
   and i hate waiting for mutt to open my main mailbox.
   but I want to get at the mailbox overview faster.. how?
A: mutt will start with the mailbox overview directly with option "-y":
   $ mutt -y

Q: How to configure retrieval of mails via POP?
A1: host+user+pass in mutt .. TODO
A2: host+user+pass with fetchmail.. TODO

Q: How to sort your email?
A1: all in one mailbox.
A2: all new mails in incoming mailbox -
    all read mails in another mailbox.
A3: save by project or by user..

Q: Should I keep my mails online and access only via IMAP?
   Or should I download all mails?
A: As with all data - the questions are:
   Who keeps your backup?  Who do you trust?
   You might want to keep a local backup yourself.
   You might want a nice backup service, too.

Q: Where to save emails from people and projects?
A: Mails from people -> firstname.lastname
   Mails of projects -> PROJECTNAME

Q: Once I mark mails for deletion my cursor jumps over them. How to access them again?
A1: enter the number of the message to jump onto.
A2: use the other movement commands - J and K to jump onto the next/previous message.

workshop:
Q: How to forward attachments with online disposition?
A: ... workshop?! TODO

Q: How to print messages? Are there any tools?
A: yes.. lots!

Q: How to print messages and forward them to another host?
A: use print-message with a script including per ssh .. workshop? TODO

Q: How to remeove the to-be-deleted flag (D) from messages?
A: single use: select message, type 'u' ("undelete-message").
   many messages: tag them and remove the flag:
   use 'T' (tag-pattern) and the pattern "~D" (to-be-deleted) to tag them all.
   now use ';' ("tag-prefix") to apply the next command to them all:
   type 'u' ("undelete-message") which now removes that flag from all tagged messages.

Q: Is there a way to apply a command to attachments before reading them?
A: Yes - you can define which command to aplly to an attachment
   via the ~/.mailcap file.  eg apply pdftotext to PDFs, antiword to DOCs.
    sample files:
    http://www.guckes.net/Setup/mailcap         4.5KB
    http://www.guckes.net/Setup/mailcap.minimal 799bytes

Q: Can you copy+paste text from messages when viewing them?
A: Use an editor as the pager, eg:
   "set pager=view" (which is linked to "vim")
   but then all the colouring has to be defined with vim, of course.

Q: What does "flag" mean? Which "flags" are there?
A: Here you are:
   flag pat meaning
     D   ~D to-be-Deleted
     !   ~F flagged (!)
     s   ~g si(g)ned
     P   ~G encrypted (PGP/GPG)
     K   ~k contains key
     r   ~Q replied

Q: How to set up my address for a mailing list?
A: Create an alias for the list address so you can easily send a new mail to it.
    Make the list address known via "subscribe listaddress", so you can use list-reply for answering.
    Tell mutt where to find that "mailboxes", so it will show it on the mailboxes menu.
    Maybe add a save-hook to save a message to the folder if it appear elsewhere,
    Add a folder-hook to automatically adjust the index_format and your sender address.
    TODO add an example

Q: How to exchange address with other email programs?
A: caldav.. PYcarddav..  TODO!

Q: Are there any shell aliases which might help around mutt?
A: Here are some of mine:
   function talkmutt () { cd ~/.P/talks/mutt/; mutt -n -F advantages.muttrc -f advantages.txt }
   alias muttem='mutt -n -f /dev/null -F /dev/null'

  function mf  - open a mail folder in $PWD, ~/Mail, ~/Mail.IN
  function m   - open a mailbox (in ~/Mail.IN)
  function mal - grep the mutt aliases files

  function m   { mutt -f ~/Mail.IN/$1 }
  function mal { grep -h -i $1 ~/.mutt/aliases* ~/.mutt/NEW ~/.mutt/maillists | less +/$1 }
  function mf  {
  if [[ -f      ./$1    ]] then; mutt -f        $1    ; fi
  if [[ -f ~/Mail/$1    ]] then; mutt -f ~/Mail/$1    ; fi
  if [[ -f ~/Mail.IN/$1 ]] then; mutt -f ~/Mail.IN/$1 ; fi
  echo $1
  }

Q: How to change between different setups of header selections?
A: Use a macro to ":source setupfile", which includes the commands  for selection (ignore+unignore), their order (unhdr_order+hdr_order), and their colour (color header fg bg pattern).
    Example: TODO

Q: There are ten ways of sorting with 'o' - what do the all mean?
Sort (d)ate/(f)rm/(r)ecv/(s)ubj/t(o)/(t)hread/(u)nsort/si(z)e/s(c)ore/s(p)am?:
A: TODO

Q: Can you customize what to show in the "help" line?
A: No.

Q: Can you have more than one line in the pager to show From+Date+Subject?
A: No.

Q: How do you colorize text using patterns?
A: WORKSHOOOOOOP!

Q: How do you use the display_filter to correct typos and delete signatures?
A: WORKSHOOOOOOP!

Q: How to create a "key" and use it for encryption email and signature?
A: WORKSHOP!

Q: How to use "profiles" with different names and email adresses?
A: complex.  workshop!
A1: create a shell alias to start mutt with different setup files.
A2: create a key binding to "source setupfile".

From 2016-03-09-belug.de@guckes.net Wed Mar 09 19:00:00 2016
From: Sven Guckes <2016-03-09-belug.de@guckes.net>
To: you <publikum@chemnitzer.linux-tage.de>
Date: Sat Mar 19 16:00:00 CET 2016
Subject: PACKAGES Debian

ad of 2016-03-09 these Debian packages mention "mutt":

2vcard abook
  aptitude aptitude-common aptitude-dbg aptitude-doc-cs
  aptitude-doc-en aptitude-doc-es aptitude-doc-fi aptitude-doc-fr
  aptitude-doc-it aptitude-doc-ja aptitude-doc-ru
biabam bmf buffy buffycli devscripts dictionaries-common
emacs-goodies-el feed2imap fetchmail imapfilter lbdb libuniconf4.6
msmtp msmtp-gnome msmtp-mta mutt mutt-dbg mutt-patched muttprint
muttprint-manual muttprofile netrik newsbeuter nmzmail notmuch-mutt
orpie post-el pycarddav reportbug sendmail sendmail-bin t-prot urlview

selection of internal and external tools:
2vcard              - converts address books to vcard
abook               - address book
biabam              - sending attachments
bmf                 - bayes mail filter
buffy               - mail folder browser
buffycli            - displays a compact summary of mail folders
feed2imap           - RSS/Atom feed aggregator, uploads to IMAP folder
fetchmail           - fetches+sends mail from/to mail servers (APOP, IMAP, POP, SSL)
imapfilter          - sorts mails in imap folders
lbdb                - little brother database - gathers email addresses from many sources
msmtp               - light-weight mail sender (SMTP) (TSL/SSL, GSASL)
msmtp-gnome         - like msmtp plus GNOME keyring support
msmtp-mta           - msmtp with "server profiles"
mutt                - it's mutt! :-)
mutt-dbg            - debugging symbols for mutt and mutt-patched
mutt-patched        - three patches: sidebar, nntp, multiple-fcc
muttprint           - nicely formats messages
muttprint-manual    - the manual to muttprint
muttprofile         - switches between profiles
nmzmail             - searches through mail folders and creates index by symlinks
notmuch-mutt        - connects mutt with notmuch
pycarddav           - syncs between CardDAC resources and pc_query (mutt: query_command)
t-prot              - alternate pager for messages - with "TOFU protection"
urlview             - extracts URLs from text, creates a menu, sends it on to browser

emacs with support for mutt data:
emacs-goodies-el    - emacs extensions mutt-alias + muttrc-mode
post-el             - emacs extension for posting with mutt+slrn

mentions mutt as an example:
netrik              - text browser with key bindins a la mutt+vi
newsbeuter          - RSS feed reader with many features from mutt+slrn
orpie               - RPN calculator with mutt-like config file
reportbug           - send a bug report to Debian using mutt and other mailers
sendmail            - *the* MTA (besides exim,postfix,qmail)
sendmail-bin        - sends mails (SMTP) - mailers use it.

From 2016-03-09-belug.de@guckes.net Wed Mar 09 19:00:00 2016
From: Sven Guckes <2016-03-09-belug.de@guckes.net>
To: you <publikum@chemnitzer.linux-tage.de>
Date: Sat Mar 19 16:00:00 CET 2016
Subject: TOOLS

$EDITOR     emacs+vim (WARNING:  holy war!) ;-)
            try these: jed joe nano pico
            too small: ed ex vi
            bvi+sed are for other purposes
POP         fetchmail
Filter      procmail
Adresses    addressbook (abook), bbdb+lbdb,
            LDAP (query_command); $EDITOR!

From 2016-03-09-belug.de@guckes.net Wed Mar 09 19:00:00 2016
From: Sven Guckes <2016-03-09-belug.de@guckes.net>
To: you <publikum@chemnitzer.linux-tage.de>
Date: Sat Mar 19 16:00:00 CET 2016
Subject: VERSIONS

= Versions =

recent mutt versions [as of 2015-07-11]:

2006-08-14 mutt-1.5.13.tar.gz
2007-02-23 mutt-1.5.14.tar.gz
2007-04-06 mutt-1.5.15.tar.gz
2007-06-10 mutt-1.5.16.tar.gz
2007-11-01 mutt-1.5.17.tar.gz
2008-05-17 mutt-1.5.18.tar.gz
2009-01-06 mutt-1.5.19.tar.gz
2009-06-14 mutt-1.5.20.tar.gz
2010-09-15 mutt-1.5.21.tar.gz
2013-10-18 mutt-1.5.22.tar.gz
2014-03-12 mutt-1.5.23.tar.gz
2015-08-31 mutt-1.5.24.tar.gz

From 2016-03-09-belug.de@guckes.net Wed Mar 09 19:00:00 2016
From: Sven Guckes <2016-03-09-belug.de@guckes.net>
To: you <publikum@chemnitzer.linux-tage.de>
Date: Sat Mar 19 16:00:00 CET 2016
Subject: Community

= Community =

Mailinglists and Newsgroups

Listen: mutt-dev (development) + mutt-user (users)
auch per newsreader zu lesen über gmane.org
als news:gmane.mail.mutt.devel
und news:gmane.mail.mutt.user.
News/Usenet: news:comp.mail.mutt

From 2016-03-09-belug.de@guckes.net Wed Mar 09 19:00:00 2016
From: Sven Guckes <2016-03-09-belug.de@guckes.net>
To: you <publikum@chemnitzer.linux-tage.de>
Date: Sat Mar 19 16:00:00 CET 2016
Subject: LINKS

= LINKS =

http://www.mutt.org/         HomePage
http://www.guckes.net/Mutt/  -> Mutt pages
http://www.guckes.net/Setup/ -> mutt setup files

http://www.guckes.net/talks/mutt/advantages.txt
http://www.guckes.net/talks/mutt/advantages.html (in colour)

http://www.guckes.net/chemnitz2016/mutt.txt
http://www.guckes.net/chemnitz2016/mutt.html (in colour)

my mutt talk in german of 2005:
2005-12-20: http://www.guckes.net/workshop/mutt/mutt.vortrag.2005-12-20.txt

From 2016-03-09-belug.de@guckes.net Wed Mar 09 19:00:00 2016
From: Sven Guckes <2016-03-09-belug.de@guckes.net>
To: you <publikum@chemnitzer.linux-tage.de>
Date: Sat Mar 19 16:00:00 CET 2016
Subject: RFCs

= RFCs =

RFCs 1847+2015+3156:

year-mm RFCNNNN
---------------
1995-10 RFC1847
1996-10 RFC2015
2001-08 RFC3156

https://tools.ietf.org/html/rfc1847
https://tools.ietf.org/html/rfc2015
https://tools.ietf.org/html/rfc3156

http://www.rfc-base.org/rfc-3156.html
http://www.rfc-base.org/txt/rfc-3156.txt

https://de.wikipedia.org/wiki/PGP/MIME

From 2016-03-09-belug.de@guckes.net Wed Mar 09 19:00:00 2016
From: Sven Guckes <2016-03-09-belug.de@guckes.net>
To: you <publikum@chemnitzer.linux-tage.de>
Date: Sat Mar 19 16:00:00 CET 2016
Subject: Mailers

= Mailers =

some othre mailers to looka t:

Other Mail-User-Agents (MUAs):
http://supmua.org/
based in Ruby; fast; handles lots of emails;
supports encryption (gpg), multiple accounts.

AlPine, Gnus, MH, and sup:

AlPine    $URL TODO
Gnus      $URL TODO
MH        $URL TODO
sup       $URL TODO

TODO: create folder with examples

From 2016-03-09-belug.de@guckes.net Wed Mar 09 19:00:00 2016
From: Sven Guckes <2016-03-09-belug.de@guckes.net>
To: you <publikum@chemnitzer.linux-tage.de>
Date: Sat Mar 19 16:00:00 CET 2016
Subject: Quotes

= Quotes =

a few quotes:

2012-07-16 Luke Maciak http://tein.co/12372
http://www.terminally-incoherent.com/blog/2012/07/16/email-sucks-why-are-there-no-modern-command-line-clients/
"Email Sucks: Why are there no Modern Command Line Clients?"

  "Sad part is that these days your choice is usually
   between Mutt, Pine and Go Fuck Yourself."

https://twitter.com/kayiwa/status/661732784445202432
:wq! fxk @kayiwa
MUA history: mail -> elm -> mutt/PINE -> Eudora *oi* -> mutt ->
Thunderbird *big oi* -> mutt -> gmail -> Thunderbird *less oi* -> mutt

From 2016-03-09-belug.de@guckes.net Wed Mar 09 19:00:00 2016
From: Sven Guckes <2016-03-09-belug.de@guckes.net>
To: you <publikum@chemnitzer.linux-tage.de>
Date: Sat Mar 19 16:00:00 CET 2016
Subject: SETUP FILE (muttrc)

# this message is a setup file for mutt.
# [written by Sven Guckes 2016-02-26]
# save to a file, and source it. here's how:
# in short: 'v' 's' "muttrc" and ":source muttrc" and 'q'
# long description:
# Use 'v' (bound to command "view-attachments")
# it should look like this:
#   -- Mutt: Attachments
#     I     1 <no description>   [text/plain, 7bit, us-ascii, 1.0K]Q
# you are now in the "attach menu".
# now use 's' (save-entry) which gives you the
# prompt "Save to file:"; enter "muttrc" here.
# [in case you are repeating this and "muttrc"
#  already exists then you'll see this prompt:
#  "File exists, (o)verwrite, (a)ppend, or (c)ancel?"
#  Use 'o' to overwrite it then.]
# Now type ':' to go to the internal command line
# and enter the command "source muttrc".
# Use 'q' to quit the attach menu
# and return to the folder index.
# now you should see some new colours in the folder index
# as well as in the messages therein. enjoy! :)

From clt2016@guckes.net Sat Mar 18 16:00:00 2016
From: Sven Guckes <clt2016@guckes.net>
Subject: VIM modeline

this is the last "message" in this file.
the last line serves as a "modeline" for vim.
when editing this file with vim, it checks
that last line of the file which contains
some commands which are useful for editing.

"vim:" tells vim that there is a "modeline".
it contains commands to execute at loading
the file into an edit buffer.

"et" is short for "expandtab", so all entered
TABs will be expanded with spaces.  because:
"a space is a space is a space is a space." :-)

"ft=sven" - the filetype is "sven", ie vim loads the file
$HOME/.vim/syntax/sven.vim for the syntax and colouring.

"tw=999" - the "textwidth" is set to "999"
which allow editing for quite long lines.

"nowrap" will break off long lines at the
end of the terminal.  i like it that way.

vim: set et ft=sven tw=999 nowrap: THPXRF EOF