All patches and comments are welcome. Please squash your changes to logical
commits before using git-format-patch and git-send-email to
patches@git.madduck.net.
If you'd read over the Git project's submission guidelines and adhered to them,
I'd be especially grateful.
1 [<- widgets](https://github.com/copycat-killer/lain/wiki/Widgets)
3 Shows mail count in a textbox fetching over IMAP.
5 myimapcheck = lain.widgets.imap(args)
7 New mails are notified like this:
9 +--------------------------------------------+
11 | |\ /| donald@disney.org has 3 new messages |
13 +--------------------------------------------+
15 The function takes a table as argument. Required table parameters are:
17 Variable | Meaning | Type
19 `server` | Mail server | string
20 `mail` | User mail | string
21 `password` | User password | string
23 while the optional are:
25 Variable | Meaning | Type | Default
27 `port` | IMAP port | int | 993
28 `timeout` | Refresh timeout seconds | int | 60
29 `is_plain` | Define whether `password` is a plain password (true) or a function that retrieves it (false) | boolean | false
30 `settings` | User settings | function
32 Let's focus better on `is_plain`.
34 The reason why it's false by default is to discourage the habit of storing passwords in plain files.
36 You can set your password in plain like this:
38 myimapcheck = lain.widgets.imap({
40 password = "myplainpassword",
44 and you'll have the same security provided by `~/.netrc`.
46 **Or** you can use a keyring, like [python keyring](https://pypi.python.org/pypi/keyring):
48 myimapcheck = lain.widgets.imap({
50 password = "myplainpassword",
51 server = "mail.autistici.org",
52 mail = "dada@anche.no",
55 When `is_plain == false`, it *executes* `password` before using it, so you can also use whatever password fetching solution you want.
57 `settings` can use the value `mailcount`, an integer greater or equal to zero, and can modify `mail_notification_preset` table, which will be the preset for the naughty notifications. Check [here](http://awesome.naquadah.org/doc/api/modules/naughty.html#notify) for the list of variables it can contain.
61 mail_notification _preset = {
62 icon = lain/icons/mail.png,
66 Note that `mailcount` is 0 either if there are no new mails or credentials are invalid, so make sure you get the right settings.