Skip to main content
This is a pre-production deployment of Warehouse. Changes made here affect the production instance of PyPI (
Help us improve Python packaging - Donate today!

Simple module to build a statusbar for spectrwm.

Project Description is a small library to use with the spectrwm window manager. It has some builtin info functions and is easy extensible using the Python decorator syntax.


The simplest way to install specbar is to use pip:

pip install specbar

Another way is to download the source and copy somewhere in your PYTHONPATH.



# Extending with own info function
>>> import specbar
>>> @specbar.info_collector(42)
... def get_some_info(num):
...     return dict(square=num**2)
>>> specbar.loop(format_str='Square info: {square}')
Square info: 1764
Shutting down specbar...

That’s it now your own function get’s called every 5 (default) seconds and the format string is displayed in the statusbar. The loop (when testing) can easily killed by pressing CTRL+C.

Using builtin functions:

>>> import specbar
>>> specbar.register(specbar.get_gmail_count, 'myuser', 'mysecret')
>>> specbar.loop('New Mails: {gmail_count:<3}', 15)

Now every 15 seconds your Gmail account is checked for new mail and the result is displayed.

Every info function must return a dict. All dicts where merged in a defaultdict to have no exception on missing keys. See the source of for the returned keys of the builtin functions.

In the source distribution an file is included which shows the usage of

Integration with spectrwm

Create your own script or edit to your needs, put it somewhere on your PATH, make it executable (chmod +x) and add it to ~/.spectrwm.conf as your bar_action.


Specbar is mainly written for spectrwm on Arch Linux where Python 3 is the standard Python. I think it can be used with any other window manager which reads from stdin and with any other (posix) os which has Python 3 available.

Release History

This version
History Node


History Node


History Node


Download Files

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

Filename, Size & Hash SHA256 Hash Help File Type Python Version Upload Date
(4.5 kB) Copy SHA256 Hash SHA256
Source None Nov 2, 2012

Supported By

Elastic Elastic Search Pingdom Pingdom Monitoring Dyn Dyn DNS Sentry Sentry Error Logging CloudAMQP CloudAMQP RabbitMQ Heroku Heroku PaaS Kabu Creative Kabu Creative UX & Design Fastly Fastly CDN DigiCert DigiCert EV Certificate Google Google Cloud Servers DreamHost DreamHost Log Hosting