summaryrefslogtreecommitdiff
path: root/docs/index.rst
blob: 422de86070a1ec17f5308550e50dd3b867d28587 (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
`alot` API overview
====================

The main component is :class:`alot.ui.UI`, which integrates all "manager" objects,
provides methods for user input and notifications.
It sets up an urwid `mainloop` and widget tree and maintains the list of active buffers.

There are different "managers" responsible for core functionalities:

* a :class:`~alot.db.DBManager` to access the email database
* an :class:`~alot.account.AccountManager` to deal with user accounts
* a :class:`~alot.settings.AlotConfigParser` (subclasses :class:`configparserConfigParser`) for user settings
* a :class:`~alot.settings.HookManager` to load custom python code to be used as hooks

All user actions, triggered either by keybindings or the prompt, are given as commandline strings
that are translated into :class:`alot.commands.Command` objects.
Different actions are defined as a subclasses of :class:`~alot.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`