Skip to content

py3status is an extensible i3status wrapper written in python

License

Notifications You must be signed in to change notification settings

rborder/py3status

 
 

Repository files navigation

py3status

travis readthedocs

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

We apply the Zen of py3status to improve this project and encourage everyone to read it!

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

All modules shipped with py3status are configurable directly from your current i3status.conf!

Check them out to see all the configuration options.

Installation

See the up to date and complete installation instructions for your favorite distribution.

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

To refresh individual modules, the py3-cmd utility can be used, e.g.:

py3-cmd refresh wifi

About

py3status is an extensible i3status wrapper written in python

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Python 99.9%
  • Shell 0.1%