bumblebee-status is a modular, theme-able status line generator for the i3 window manager.
Find a file
Tobi-wan Kenobi 6dbe440cb5 [tests] Purge tests and start with a clean implementation of subprocess
Seems like subprocess and friends (Popen, communicate) are not so easy
to mock cleanly. Therefore, start from scratch and carefully write test
by test, until (at least) the old test coverage has been restored.
2017-03-04 11:25:52 +01:00
bin [bin] Re-add i3bar load script 2016-12-11 13:05:49 +01:00
bumblebee [tests] Purge tests and start with a clean implementation of subprocess 2017-03-04 11:25:52 +01:00
screenshots [screenshots] Add screenshot for kernel module 2017-03-03 19:19:44 +01:00
tests [tests] Purge tests and start with a clean implementation of subprocess 2017-03-04 11:25:52 +01:00
themes new module that displays current kernel 2017-03-03 16:01:59 +01:00
.codeclimate.yml [core/engine] Add aliasing mechanism to modules 2016-12-11 07:18:06 +01:00
.coveragerc [CI] Add .coveragerc to exclude tests from coverage report 2016-12-17 08:46:11 +01:00
.gitignore [gitignore] ignore vim swap files 2016-10-31 13:34:20 +01:00
.travis.yml [Travis] Remove Python 3.2 from list of support versions 2017-02-25 07:51:19 +01:00
bumblebee-status [modules/cpu] Add configurable warning and critical thresholds 2016-12-10 08:09:13 +01:00
LICENSE Initial commit 2016-10-30 15:07:21 +01:00
README.md [README.md] Add dependencies 2017-02-26 08:28:30 +01:00
runlint.sh [core] Widget creation/update overhaul 2016-12-08 08:44:54 +01:00
runtests.sh [engine/input] Re-enable mouse button parameter bindings 2016-12-15 19:41:50 +01:00
testjson.sh [testjson] Exclude known invalid JSON from tests 2017-02-24 18:13:17 +01:00

bumblebee-status

Build Status Code Climate Test Coverage Issue Count

bumblebee-status is a modular, theme-able status line generator for the i3 window manager.

Focus is on:

  • Ease of use (no configuration files!)
  • Theme support
  • Extensibility (of course...)

I hope you like it and appreciate any kind of feedback: Bug reports, Feature requests, etc. :)

Thanks a lot!

Supported Python versions: 2.7, 3.3, 3.4, 3.5, 3.6

Explicitly unsupported Python versions: 3.2 (missing unicode literals)

Documentation

See the wiki for documentation.

Other resources:

Installation

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

Usage

Next, open your i3wm configuration and modify the status_command for your i3bar like this:

bar {
	status_command = <path to bumblebee-status/bumblebee-status> -m <list of modules> -p <list of module parameters> -t <theme>
}

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

$ cd bumblebee-status
$ ./bumblebee-status -l themes
$ ./bumblebee-status -l modules

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

bar {
	font pango:Inconsolata 10
	position top
	tray_output none
	status_command ~/.i3/bumblebee-status/bumblebee-status -m nic disk:root cpu memory battery date time pasink pasource dnf -p root.path=/ time.format="%H:%M CW %V" date.format="%a, %b %d %Y" -t solarized-powerline
}

Restart i3wm and - that's it!

Required Modules

Modules and commandline utilities are only required for modules, the core itself has no external dependencies at all.

  • psutil (for the modules 'cpu', 'memory')
  • netifaces (for the module 'nic')
  • requests (for the module 'weather')

Required commandline utilities

  • xbacklight (for the module 'brightness')
  • xset (for the module 'caffeine')
  • notify-send (for the module 'caffeine')
  • cmus-remote (for the module 'cmus')
  • dnf (for the module 'dnf')
  • gpmdp-remote (for the module 'gpmdp')
  • setxkbmap (for the module 'layout')
  • fakeroot (for the module 'pacman')
  • pacman (for the module 'pacman')
  • pactl (for the module 'pulseaudio')
  • ping (for the module 'ping')
  • redshift (for the module 'redshift')
  • xrandr (for the module 'xrandr')

Examples

Here are some screenshots for all themes that currently exist:

Some themes (all 'Powerline' themes) require Font Awesome to display icons correctly.

Gruvbox Powerline (-t gruvbox-powerline) (contributed by @paxy97):

Gruvbox Powerline

Solarized Powerline (-t solarized-powerline):

Solarized Powerline

Solarized (-t solarized):

Solarized

Powerline (-t powerline):

Powerline

Default (nothing or -t default):

Default