3.2 KiB
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
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.
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 :-)