py3status is an extensible i3status wrapper written in python
py3status is an extensible i3status wrapper written in Python.
Using py3status, you can take control of your i3bar easily by:
No extra configuration file needed, just install & enjoy!
You will love py3status if you're using i3wm (or sway) and are frustrated by the i3status limitations on your i3bar such as:
We apply the Zen of py3status to improve this project and encourage everyone to read it!
Up-to-date documentation:
Get help or share your ideas on IRC:
See the up to date and complete installation instructions for your favorite distribution.
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 see the help of py3status by issuing `py3status -h`:
usage: py3status [-h] [-b] [-c FILE] [-d] [-g] [-i PATH] [-l FILE] [-s]
[-t INT] [-m] [-u PATH] [-v] [--wm WINDOW_MANAGER]
The agile, python-powered, i3status wrapper
optional arguments:
-h, --help show this help message and exit
-b, --dbus-notify send notifications via dbus instead of i3-nagbar
(default: False)
-c, --config FILE load config (default: /home/alexys/.i3/i3status.conf)
-d, --debug enable debug logging in syslog and --log-file
(default: False)
-i, --include PATH append additional user-defined module paths (default:
None)
-l, --log-file FILE enable logging to FILE (default: None)
-s, --standalone run py3status without i3status (default: False)
-t, --timeout INT default module cache timeout in seconds (default: 60)
-m, --disable-click-events
disable all click events (default: False)
-u, --i3status PATH specify i3status path (default: /usr/bin/i3status)
-v, --version show py3status version and exit (default: False)
--wm WINDOW_MANAGER specify window manager i3 or sway (default: i3)
All modules shipped with py3status are configurable directly from your current i3status.conf!
Check them out to see all the configuration options.
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
To refresh individual modules, the py3-cmd utility can be used, e.g:
py3-cmd refresh wifi