i3pystatus/README.md
2013-02-23 23:00:14 +01:00

167 lines
3.3 KiB
Markdown

# i3pystatus
i3pystatus is a (hopefully growing) collection of python scripts for
status output compatible to i3status / i3bar of the i3 window manager.
## Installation
To install it, follow these steps:
cd ~/.config/i3status/
git clone git@github.com:janoliver/i3pystatus contrib
cd contrib/i3pystatus
cp __main__.py.dist __main__.py
Add the following to `~/.config/i3status/config`:
general {
output_format = "i3bar"
colors = true
interval = 5
}
Change your i3wm config to the following:
# i3bar
bar {
status_command cd ~/.config/i3status/contrib ; i3status | python -m i3pystatus
position top
workspace_buttons yes
}
And finally adjust the settings in `~/.config/i3status/contrib/i3pystatus/__main__.py`
as you like.
## Modules
### batterychecker
This class uses the /proc/acpi/battery interface to check for the
battery status
* battery_ident — (default: BAT0)
### clock
This class shows a clock
* format — stftime format string
### mail
Generic mail checker
The `backends` setting determines the backends to use. Currently available are:
* backends — List of backends (instances of i3pystatus.mail.xxx)
* color — (default: #ffffff)
* color_unread — (default: #ff0000)
* format — (default: {unread} new email)
* format_plural — (default: {unread} new emails)
Currently available backends are:
#### imap
This class handles IMAP mailservers. The mail server
functionality is implemented in the subclass IMAP.MailServer
The servers parameter should be a list of dicts containing the following
items:
* host
* port (optional, defaults to 143)
* username
* password
* ssl (optional, defaults to False)
* servers — (required)
#### notmuchmail
This class uses the notmuch python bindings to check for the
number of messages in the notmuch database with the tags "inbox"
and "unread"
* db_path — (required)
#### thunderbird
This class listens for dbus signals emitted by
the dbus-sender extension for thunderbird.
Requires
* python-dbus
* python-gobject2
### modsde
This class returns i3status parsable output of the number of
unread posts in any bookmark in the mods.de forums.
* format — Use {unread} as the formatter for number of unread posts (default: {unread} new posts in bookmarks)
* offset — subtract number of posts before output
* color — (default: #7181fe)
* username — (required)
* password — (required)
### regex
Simple regex file watcher
* format — format string used for output (default: {0})
* regex — (required)
* file — file to search for regex matches
* flags — Python.re flags
## Contribute
To contribute a module, make sure it uses one of the Module classes. Most modules
use IntervalModule, which just calls a function repeatedly in a specified interval.
The output attribute should be set to a dictionary which represents your modules output,
the protocol is documented [here](http://i3wm.org/docs/i3bar-protocol.html).
Please add an example for how to configure it to `__main__.py.dist`. It should be
a python class that can be registered with the `I3statusHandler` class. Also don't
forget to add yourself to the LICENSE file.
**Patches and pull requests are very welcome :-)**