py3status is an extensible i3status wrapper written in python.
Using py3status, you can take control of your i3bar easily by:
- using one of the availables modules shipped with py3status
- 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 !
Up to date documentation:
Learn how to easily handle i3bar click events directly from your i3status config:
Learn how to extend your current i3status config to easily interact with your i3bar:
Learn how to write your own modules:
Get help or share your ideas on IRC:
- channel #py3status on FreeNode
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
You can get a list and short description of all the available modules by using the CLI:
$ py3status modules list
To get more details about all the available modules and their configuration, use:
$ py3status modules details
All the modules shipped with py3status are present in the sources in the py3status/modules folder.
Most of them are configurable directly from your current i3status.conf, check them out to see all the configurable variables.
Using pip:
$ pip install py3status
NB: Debian users should use pypi-install from the python-stdeb package instead of pip.
Using emerge:
$ sudo emerge -a py3status
Thanks to @waaaaargh, py3status is present in the Arch User Repository using this URL:
https://aur.archlinux.org/packages/py3status-git/
Using yum:
$ yum install py3status
You can see the help of py3status by issuing py3status -h:
-h, --help show this help message and exit -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) -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
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