From 6c93e00e676792632a81435a96e7ddbaebae859a Mon Sep 17 00:00:00 2001 From: Luke Bonham Date: Sat, 7 Sep 2013 03:24:05 -0700 Subject: [PATCH 1/1] Created imap (markdown) --- imap.md | 64 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 64 insertions(+) create mode 100644 imap.md diff --git a/imap.md b/imap.md new file mode 100644 index 0000000..f12a1e7 --- /dev/null +++ b/imap.md @@ -0,0 +1,64 @@ +Check new mails over IMAP protocol. + +Dependencies: + +- Python3 + +New mails are notified through a notification like this: + + +---------------------------------------------------+ + | +---+ | + | |\ /| donald@disney.org has 3 new messages | + | +---+ | + | Latest From: Mickey Mouse | + | Subject: Re: pay raise | + | | + | Not after what you did yesterday. | + | Daisy told me everything [...] | + | | + +---------------------------------------------------+ + +Text will be cut if the mail is too long. + + myimapcheck = lain.widgets.imap(args) + +The function takes a table as argument. Required table parameters are: + +Variable | Type +--- | --- +`server` | string +`mail` | string +`password` | string + +while the optional are: + +Variable | Meaning | Type | Default +--- | --- | --- | --- +`port` | IMAP port | int | 993 +`refresh_timeout` | Refresh timeout seconds | int | 60 +`header` | Text to show before value | string | " Mail " +`header_color` | Header color | string | `beautiful.fg_normal` or "#FFFFFF" +`color_newmail` | New mail value color | string | `beautiful.fg_focus` or "#FFFFFF" +`color_nomail` | No mail value color | string | `beautiful.fg_normal` or "#FFFFFF" +`mail_encoding` | Mail character encoding | string | autodetected +`maxlen` | Maximum chars to display in notification | int | 200 +`app` | Mail program to spawn on click | string | "mutt" +`shadow` | Hide widget when there are no mails | boolean | false +`is_plain` | Define whether `password` is a plain password (true) or a function that retrieves it (false) | boolean | false + +Let's focus better on `is_plain`. + +You can just set your password like this: + + args.is_plain = false + args.password = "mypassword" + +and you'll have the same security provided by `~/.netrc` + +**Or** you can use a keyring, like [python keyring](https://pypi.python.org/pypi/keyring): + + args.password = "keyring get password" + +When `is_plain == false`, it *executes* `password` before using it, so you can also use whatever password fetching solution you want. + +You can also define your custom icon for the naughty notification. Just set `lain_mail_notify` into `theme.lua`. \ No newline at end of file -- 2.39.5