167 lines
3.2 KiB
Markdown
167 lines
3.2 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
|
|
|
|
|
|
### battery
|
|
|
|
|
|
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 :-)**
|
|
|