6dbe440cb5
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. |
||
---|---|---|
bin | ||
bumblebee | ||
screenshots | ||
tests | ||
themes | ||
.codeclimate.yml | ||
.coveragerc | ||
.gitignore | ||
.travis.yml | ||
bumblebee-status | ||
LICENSE | ||
README.md | ||
runlint.sh | ||
runtests.sh | ||
testjson.sh |
bumblebee-status
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):
Solarized Powerline (-t solarized-powerline
):
Solarized (-t solarized
):
Powerline (-t powerline
):
Default (nothing or -t default
):