Write your own

Place it in or import it there.

You may use the provided pi3bar.plugins.base.Plugin. Have a look at it and the shipped plugins for examples.

In most cases you’ll want to override pi3bar.plugins.base.Plugin.cycle() to change instance attributes and pi3bar.plugins.base.Plugin.on_click() to handle clicks.

pi3bar.plugins.base.Plugin.cycle() is called every pi3bar.plugins.base.Plugin.ticks seconds. (60 by default)


Because pi3bar is communicating with i3bar through stdin and stdout, every print will break it! Instead, use the provided logging utilities:

  • pi3bar.plugins.base.Plugin.debug()


  • pi3bar.plugins.base.Plugin.warning()

  • pi3bar.plugins.base.Plugin.error()

Set log level to WARNING, INFO or DEBUG to get more verbose output:

    # ... plugins,