Skip to content
tobi-wan-kenobi edited this page Oct 31, 2016 · 42 revisions

i3bumblebee creates status lines for the i3 window manager. It follows the i3bar protocol.

Please note: So far, it this tool has only been tested on a single laptop using Fedora 24, so I'd be very grateful to hear any experiences and get some bug reports or feature requests :)

##Table of Contents

  1. Design Goals
  2. Installation
  3. Usage
  4. Examples
  5. Full Synopsis
  6. Further Details

##Design Goals

  • Ease of use: No configuration files, etc. Simply clone and put into your i3 configuration and you are good to go (hopefully...)
  • Theming support: What I was missing most in other solutions (although there are some excellent ones out there, such as i3blocks) was the possibility to easily change the look of the i3bar. For i3bumblebee, colors, icons, etc. are defined via a JSON-formatted theme file that is easy to extend and change.
  • Modularity: Adding new modules (functionality) should be straight forward

##Installation

General

$ git clone git://github.com/tobi-wan-kenobi/i3bumblebee

Required Python Modules

Please have a look at Available Modules to see which i3bumblebee modules require which Python modules. In general, if you do not use an i3bumblebee module, you don't need its dependencies.

The full list of required Python modules is (modules from the Python Standard Library have been excluded):

  • psutil
  • pyroute2
  • netifaces

Required tools

Some of the modules rather uglish-ly parse the output of standard Linux commands to get their information. Those are:

  • dnf for the DNF module
  • pactl for the PulseAudio modules

##Usage

Open your i3wm configuration and modify the status_command for your i3bar like this:

bar {
	status_command = <path to i3bumblebee/i3bumblebee> -m <list of modules> -t <theme>
}

You can retrieve a list of modules and themes by entering:

$ cd i3bumblebee
$ ./i3bumblebee -l

Some modules accept optional parameters, those are appended to the module name using "::" as separator.

As a simple example, this is what my i3 configuration looks like:

bar {
	font pango:Inconsolata 10
	position top
	tray_output none
	status_command ~/src/i3bumblebee/i3bumblebee -m disk disk::/home nic cpu memory battery date::"%a, %b %d %Y" spacer time::"%H:%M CW %V" pasink pasource dnf -t solarized-powerline
}

Restart i3wm and - that's it!

##Examples Here are some screenshots for all themes that currently exist (please note that for the "Powerline" themes, you need to select a font that supports the Powerline icons - see Powerline Fonts):

Solarized Powerline (-t solarized-powerline): Solarized Powerline

Solarized (-t solarized): Solarized

Powerline (-t powerline): Powerline

Default (nothing or -t default): Default

##Full Synopsis

$ /i3bumblebee
usage: i3bumblebee [-h] [-m MODULES [MODULES ...]] [-l] [-t THEME]
                   [-i INTERVAL] [-s SPLIT]

display system data in the i3bar

optional arguments:
  -h, --help            show this help message and exit
  -m MODULES [MODULES ...], --modules MODULES [MODULES ...]
                        List of modules to load. The order of the list
                        determines their order in the i3bar (from left to
                        right)
  -l, --list            List all available modules and themes
  -t THEME, --theme THEME
                        Specify which theme to use for drawing the
                        modules
  -i INTERVAL, --interval INTERVAL
                        Specify the update interval
  -s SPLIT, --split SPLIT
                        Specify string to use for splitting modules and their
                        arguments (defaults to "::")

##Further Details

Clone this wiki locally