summaryrefslogtreecommitdiff
path: root/docs/index.rst
blob: feffd544efd28010a86871915eee6c96dd3bceea (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
`alot` API overview
====================

.. module:: alot

The main component is :class:`alot.ui.UI`, which provides methods for user input and notifications,
sets up an :mod:`urwid` :class:`mainloop <urwid.main_loop.TwistedEventLoop>` and widget tree and
maintains the list of active buffers. Moreover, it integrates different "managers" responsible for
core functionalities:

* a :class:`~db.DBManager` to access the email database
* an :class:`~account.AccountManager` to deal with user accounts
* a :class:`~settings.AlotConfigParser` (subclasses :class:`configparser.ConfigParser`) for user settings

Every user action, triggered either by keybindings or as input to the commandprompt, is
given as commandline string that gets :func:`translated <commands.commandfactory>`
to a :class:`~commands.Command` which is then :meth:`applied <ui.UI.apply_command>`.
Different actions are defined as a subclasses of :class:`~commands.Command`, which live
in `alot/commands/MODE.py`, where MODE is the name of the mode (:class:`Buffer` type) they
are used in.

Contents:

.. toctree::
   :maxdepth: 1

   database
   interface
   settings
   accounts
   utils
   commands
   

Indices and tables
==================

* :ref:`genindex`
* :ref:`search`