X-Git-Url: https://git.madduck.net/etc/awesome.git/blobdiff_plain/b6c95bf9fcb2594ed83cfcc0d3709e8a43f919fd..72aa10c4b7dd62e95ce9f3bbded184d1b272d345:/imap.md?ds=inline diff --git a/imap.md b/imap.md index 2a70a4c..7952c81 100644 --- a/imap.md +++ b/imap.md @@ -1,66 +1,68 @@ -Shows mail status in a textbox over IMAP protocol. +[<- widgets](https://github.com/copycat-killer/lain/wiki/Widgets) -Dependencies: +Shows mail count in a textbox fetching over IMAP. -- python3 - -New mails are notified through a notification like this: + myimapcheck = lain.widgets.imap(args) - +---------------------------------------------------+ - | +---+ | - | |\ /| 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 [...] | - | | - +---------------------------------------------------+ +New mails are notified like this: -Text will be cut if the mail is too long. - - myimapcheck = lain.widgets.imap(args) + +--------------------------------------------+ + | +---+ | + | |\ /| donald@disney.org has 3 new messages | + | +---+ | + +--------------------------------------------+ The function takes a table as argument. Required table parameters are: -Variable | Type ---- | --- -`server` | string -`mail` | string -`password` | string +Variable | Meaning | Type +--- | --- | --- +`server` | Mail server | string +`mail` | User mail | string +`password` | User 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 +`timeout` | Refresh timeout seconds | int | 60 `is_plain` | Define whether `password` is a plain password (true) or a function that retrieves it (false) | boolean | false +`settings` | User settings | function Let's focus better on `is_plain`. -You can just set your password like this: +The reason why it's false by default is to discourage the habit of storing passwords in plain files. + +You can set your password in plain like this: - args.is_plain = false - args.password = "mypassword" + myimapcheck = lain.widgets.imap({ + is_plain = true, + password = "myplainpassword", + [...] + }) 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" + myimapcheck = lain.widgets.imap({ + password = "keyring get mymail", + [...] + }) 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`: +`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. + +Default definition: + + mail_notification _preset = { + icon = lain/icons/mail.png, + position = "top_left" + } + +Note that `mailcount` is 0 either if there are no new mails or credentials are invalid, so make sure you get the right settings. + +### output - theme.lain_mail_notify = "/path/to/my/icon" \ No newline at end of file +A textbox. \ No newline at end of file