summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--CUSTOMIZE.md227
-rw-r--r--README.md13
2 files changed, 6 insertions, 234 deletions
diff --git a/CUSTOMIZE.md b/CUSTOMIZE.md
deleted file mode 100644
index 7f38ae2a..00000000
--- a/CUSTOMIZE.md
+++ /dev/null
@@ -1,227 +0,0 @@
-Configfile Layout
-------------------
-Just like offlineimap or notmuch itself, alot reads a config file in the "INI" syntax:
-It consists of some sections whose names are given in square brackets, followed by
-key-value pairs that use "=" or ":" as separator, ';' and '#' are comment-prefixes.
-
-The default location for the config file is `~/.config/alot/config`.
-You can find a complete example config with the default values and their decriptions in
-`alot/defaults/alot.rc`.
-
-Note that since ":" is a separator for key-value pairs you need to use "colon" to bind
-commands to ":".
-
-Here is a key for the interpreted sections:
-
- [general]
- global settings: set your editor etc
-
- [account X]
- defines properties of account X: (see below)
-
- [X-maps]
- defines keymaps for mode X. possible modes are:
- envelope, search, thread, taglist, bufferlist and global.
- global-maps are valid in all modes.
-
- [tag-translate]
- defines a map from tagnames to strings that is used when
- displaying tags. utf-8 symbols welcome.
-
- [Xc-theme]
- define colour palette for colour mode. X is in {1, 16, 256}.
-
-All configs are optional, but if you want to send mails you need to
-specify at least one account section.
-
-
-Account Sections
-----------------
-A sample gmail section looks like this (provided you have configured msmtp accordingly):
-
- [account gmail]
- realname = Patrick Totzke
- address = patricktotzke@gmail.com
- aliases = patricktotzke@googlemail.com
- sendmail_command = msmtp --account=gmail -t
-
-Here's a full list of the interpreted keywords in account sections:
-
- # used to format the (proposed) From-header in outgoing mails
- realname = your name
- address = this accounts email address
-
- # used to clear your addresses/ match account when formating replies
- aliases = foobar@myuni.uk;f.bar@myuni.uk;f.b100@students.myuni.uk
-
- # how to send mails
- sendmail_command = command, defaults to 'sendmail'
-
- # where to store outgoing mail
- sent_box = maildir:///home/you/mail//Sent
-
- # how to tag sent mails [default: sent]. seperate multiple tags with ','.
- sent_tags = sent
-
- # path to signature file
- signature = ~/your_vcard_for_this_account.vcs
-
- # attach signature file if set to True, append its content (mimetype text)
- # to the body text if set to False. Defaults to False.
- signature_as_attachment = False
-
- # signature file's name as it appears in outgoing mails if
- # signature_as_attachment is set to True
- signature_filename = you.vcs
-
- # command to lookup contacts
- abook_command = abook --mutt-query
- abook_regexp = regexp to match name & address in abook_commands output.
-
-Caution: Sending mails is only supported via sendmail for now. If you want
-to use a sendmail command different from `sendmail`, specify it as `sendmail_command`.
-
-`send_box` specifies the mailbox where you want outgoing mails to be stored
-after successfully sending them. You can use mbox, maildir, mh, babyl and mmdf
-in the protocol part of the url.
-
-The file specified by `signature` is attached to all outgoing mails from this account, optionally
-renamed to `signature_filename`.
-
-If you specified `abook_command`, it will be used for tab completion in queries (to/from)
-and in message composition. The command will be called with your prefix as only argument
-and its output is searched for name-email pairs. The regular expression used here
-defaults to `(?P<email>.+?@.+?)\s+(?P<name>.+)`, which makes it work nicely with `abook --mutt-query`.
-You can tune this using the `abook_regexp` option (beware Commandparsers escaping semantic!).
-Have a look at the FAQ for other examples.
-
-
-Key Bindings
-------------
-If you want to bind a commandline to a key you can do so by adding the pair to the
-`[MODE-maps]` config section, where MODE is the buffer mode you want the binding to hold.
-Consider the following lines, which allow you to send mails in envelope buffers using the
-combination `control` + `s`:
-
- [envelope-maps]
- ctrl s = send
-
-Possible MODE strings are:
-
- * envelope
- * search
- * thread
- * taglist
- * bufferlist
- * global
-
-Bindings defined in section `[global-maps]` are valid in all modes.
-
-Have a look at [the urwid User Input documentation][keys] on how key strings are formated.
-
-[keys]: http://excess.org/urwid/wiki/UserInput
-
-
-Hooks
------
-Hooks are python callables that live in a module specified by
-`hooksfile` in the `[global]` section of your config. Per default this points
-to `~/.config/alot/hooks.py`.
-For every command X, the callable 'pre_X' will be called before X and 'post_X' afterwards.
-
-When a hook gets called, it receives instances of
-
- * ui: [`alot.ui.UI`][ui], the main user interface object that can prompt etc.
- * dbm: [`alot.db.DBManager`][db], the applications database manager
- * aman: [`alot.account.AccountManager`][am], can be used to look up account info
- * config: [`alot.settings.config`][config], a configparser to access the users config
-
-[ui]: http://alot.readthedocs.org/en/docs/interface.html#alot.ui.UI
-[db]: http://alot.readthedocs.org/en/docs/database.html#alot.db.DBManager
-[am]: http://alot.readthedocs.org/en/docs/accounts.html#alot.account.AccountManager
-[config]: http://alot.readthedocs.org/en/docs/settings.html#alot.settings.AlotConfigParser
-
-An autogenerated API doc for these can be found at http://alot.rtfd.org ,
-the sphinx sources live in the `docs` folder.
-As an example, consider this pre-hook for the exit command,
-that logs a personalized goodby message:
-
-```python
-import logging
-def pre_exit(aman=None, **rest):
- accounts = aman.get_accounts()
- if accounts:
- logging.info('goodbye, %s!' % accounts[0].realname)
- else:
- logging.info('goodbye!')
-```
-
-Apart from command pre and posthooks, the following hooks will be interpreted:
-
- * `reply_prefix(realname, address, timestamp, **kwargs)`
- Is used to reformat the first indented line in a reply message.
- Should return a string and defaults to 'Quoting %s (%s)\n' % (realname, timestamp)
- * `forward_prefix(realname, address, timestamp, **kwargs)`
- Is used to reformat the first indented line in a inline forwarded message.
- Returns a string and defaults to 'Forwarded message from %s (%s)\n' % (realname, timestamp)
- * `pre_edit_translate(bodytext, **kwargs)`
- can be used to manipulate a messages bodytext before the editor is called.
- Receives and returns a string.
- * `post_edit_translate(bodytext, **kwargs)`
- can be used to manipulate a messages bodytext after the editor is called
- Receives and returns a string.
-
-
-Colours
--------
-Alot can be run in 1, 16 or 256 colour mode.
-The requested mode is determined by the commandline parameter `-C` or read from
-option `colourmode` in section `[globals]` of your config file.
-The default is 256, which will be scaled down depending on how many colours
-your terminal supports.
-
-The interface will theme its widgets according to the palette defined in
-section `[MODEc-theme]` where `MODE` is the integer indicating the colour mode.
-Have a look at the default config (`alot/defaults/alot.rc`) for a complete list
-of interpreted widget settings; the keys in this section should be self-explanatory.
-
-Values can be colour names (`light red`, `dark green`..), RGB colour codes (e.g. `#868`),
-font attributes (`bold`, `underline`, `blink`, `standout`) or a comma separated combination of
-colour and font attributes.
-In sections `[16c-theme]` and `[256c-theme]` you can define Y_fg and
-Y_bg for the foreground and background of each widget keyword Y, whereas the monochromatic
-(`[1c-theme]`) palette can only interpret font attributes for key Y without the suffix.
-As an example, check the setting below that makes the footer line appear as
-underlined bold red text on a bright green background:
-
- [256c-theme]
- global_footer_bg = #8f6
- global_footer_fg = light red, bold, underline
-
-See [urwids docs on Attributes][urwid_att] for more details on the interpreted values.
-Urwid provides a [neat colour picker script][urwid_colour_pick] that makes choosing colours easy.
-
-[urwid_att]: http://excess.org/urwid/reference.html#AttrSpec
-[urwid_colour_pick]: http://excess.org/urwid/browser/palette_test.py
-
-
-
-Custom Tagstring Formating
---------------------------
-In theme sections you can use keys with prefix "tag_" to format specific tagstrings. For instance,
-the following will make alot display the "todo" tag in white on red when in 256c-mode.
-
- [256c-theme]
- tag_todo_bg = #d66
- tag_todo_fg = white
-
-You can translate tag strings before displaying them using the `[tag-translate]` section. A
-key=value statement in this section is interpreted as:
-Always display the tag `key` as string `value`. Utf-8 symbols are welcome here, see e.g.
-http://panmental.de/symbols/info.htm for some fancy symbols. I personally display my maildir flags
-like this:
-
- [tag-translate]
- flagged = ⚑
- unread = ✉
- replied = ⇄
diff --git a/README.md b/README.md
index 065de0e9..27c9f75f 100644
--- a/README.md
+++ b/README.md
@@ -1,12 +1,11 @@
-Alot is a terminal interface for [notmuch mail][notmuch] written in
-python using the [urwid][urwid] toolkit.
+Alot is an experimantal terminal MUA based on [notmuch mail][notmuch].
+It is written in python using the [urwid][urwid] toolkit.
-The files `INSTALL.md` and `CUSTOMIZE.md` contain instructions on how to set it
-up and customize respectively.
-Autogenerated API docs for the current release can be found [here][api].
-Their sources live in the `docs` directory.
+See `INSTALL.md` for instructions on how to set it up and have a look
+at the user manual in `docs/user` for advanced usage and cusomization.
-The current top-notch version for the courageous lives in branch 'testing'.
+Development happens in branch 'testing', autogenerated API docs for the
+current HEAD can be found [here][api]. Their sources live in `docs/api`.
Do comment on the code or file issues! I'm curious what you think of it.
You can talk to me in #notmuch@Freenode.