Skip to main content

image

py3status

CI

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 (or sway) 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 OFTC

Installation

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

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

Options

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)

Available modules

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

Check them out to see all the configuration options.

Control from CLI

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

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

py3status-3.64.tar.gz (278.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

py3status-3.64-py3-none-any.whl (363.5 kB view details)

Uploaded Python 3

File details

Details for the file py3status-3.64.tar.gz.

File metadata

  • Download URL: py3status-3.64.tar.gz
  • Upload date:
  • Size: 278.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.13

File hashes

Hashes for py3status-3.64.tar.gz
Algorithm Hash digest
SHA256 ee169fc96ee3abff179383ce028857eac355889f80ceeaace7fd22d49a82aabd
MD5 cc50f4e330b257392da41182229d7884
BLAKE2b-256 864624811a39c7d23d049e0d0536ffc8c91bd7668b75597f362d609383a65ff9

See more details on using hashes here.

Provenance

The following attestation bundles were made for py3status-3.64.tar.gz:

Publisher: publish.yml on ultrabug/py3status

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file py3status-3.64-py3-none-any.whl.

File metadata

  • Download URL: py3status-3.64-py3-none-any.whl
  • Upload date:
  • Size: 363.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.13

File hashes

Hashes for py3status-3.64-py3-none-any.whl
Algorithm Hash digest
SHA256 fe3c9792e1539ce07a6367283bfc1790852f3c3a33dbf88e58cdf84549decae4
MD5 05e9b6e09459e74c2b82a1d12073900d
BLAKE2b-256 ef609c7634f738b1aee510cf3b384abfa111f0596a669701fd0f30a55174fe35

See more details on using hashes here.

Provenance

The following attestation bundles were made for py3status-3.64-py3-none-any.whl:

Publisher: publish.yml on ultrabug/py3status

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Release history Release notifications | RSS feed

This release

3.64

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page