-
Notifications
You must be signed in to change notification settings - Fork 228
Home
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
- Design Goals
- Installation
- Usage
- Examples
- [Full Synopsis](#Full Synopsis)
- [Further Details](#Further Details)
##DesignGoals
- 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
$ git clone git://github.com/tobi-wan-kenobi/i3bumblebee
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.
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
The full list of required Python modules is (modules from the Python Standard Library have been excluded):
- psutil
- pyroute2
- netifaces
##Usage
Next, 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:
Solarized Powerline (-t solarized-powerline
):
Solarized (-t solarized
):
Powerline (-t powerline
):
Default (nothing or -t 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
- If you want to write your own module: How to write a module - Contributions are of course highly welcome an appreciated!