py3status: an extensible i3status wrapper written in python
Project description
py3status is an extensible i3status wrapper written in python.
Using py3status, you can take control of your i3bar easily by:
using one of the available modules shipped with py3status
grouping multiple modules and automatically or manually cycle their display
writing your own modules and have their output displayed on your bar
handling click events on your i3bar and play with them in no time
seeing your clock tick every second whatever your i3status interval
No extra configuration file needed, just install & enjoy !
About
You will love py3status if you’re using i3wm and are frustrated by the i3status limitations on your i3bar such as:
you cannot hack into it easily
you want more than the built-in modules and their limited configuration
you cannot pipe the result of one of more scripts or commands in your bar easily
Philosophy
no added configuration file, use the standard i3status.conf
rely on i3status’ strengths and its existing configuration as much as possible
be extensible, it must be easy for users to add their own stuff/output by writing a simple python class which will be loaded and executed dynamically
easily allow interactivity with the i3bar
add some built-in enhancement/transformation of basic i3status modules output
Documentation
Up-to-date documentation:
Get help or share your ideas on IRC:
channel #py3status on FreeNode
Usage
In your i3 config file, simply switch from i3status to py3status in your status_command:
status_command py3status
Usually you have your own i3status configuration, just point to it:
status_command py3status -c ~/.i3/i3status.conf
Available modules
You can get a list with short descriptions of all available modules by using the CLI:
$ py3status modules list
To get more details about all available modules and their configuration, use:
$ py3status modules details
All modules shipped with py3status are present as the Python source files in the py3status/modules directory.
Most of them are configurable directly from your current i3status.conf, check them out to see all the configurable variables.
Installation
Pypi
Using pip:
$ pip install py3status
Note: Debian users should use pypi-install from the python-stdeb package instead of pip.
Gentoo Linux
Using emerge:
$ sudo emerge -a py3status
Arch Linux
Thanks to @Horgix, py3status is present in the Arch User Repository:
py3status, which is a stable version updated at each release
py3status-git, which builds directly against the upstream master branch
Thanks to @waaaaargh and @carstene1ns for initially creating the packages.
Fedora
Using dnf:
$ dnf install py3status
Options
You can see the help of py3status by issuing py3status -h:
-h, --help show this help message and exit -b, --dbus-notify use notify-send to send user notifications rather than i3-nagbar, requires a notification daemon eg dunst -c I3STATUS_CONF, --config I3STATUS_CONF path to i3status config file -d, --debug be verbose in syslog -i INCLUDE_PATHS, --include INCLUDE_PATHS include user-written modules from those directories (default ~/.i3/py3status) -l LOG_FILE, --log-file LOG_FILE path to py3status log file -n INTERVAL, --interval INTERVAL update interval in seconds (default 1 sec) -s, --standalone standalone mode, do not use i3status -t CACHE_TIMEOUT, --timeout CACHE_TIMEOUT default injection cache timeout in seconds (default 60 sec) -v, --version show py3status version and exit
Control
Just like i3status, you can force an update of your i3bar by sending a SIGUSR1 signal to py3status. Note that this will also send a SIGUSR1 signal to i3status.
killall -USR1 py3status
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.