2016-12-10 20:05:02 +01:00
# bumblebee-status
2016-12-11 13:50:33 +01:00
[![Build Status ](https://travis-ci.org/tobi-wan-kenobi/bumblebee-status.svg?branch=master )](https://travis-ci.org/tobi-wan-kenobi/bumblebee-status)
[![Code Climate ](https://codeclimate.com/github/tobi-wan-kenobi/bumblebee-status/badges/gpa.svg )](https://codeclimate.com/github/tobi-wan-kenobi/bumblebee-status)
[![Test Coverage ](https://codeclimate.com/github/tobi-wan-kenobi/bumblebee-status/badges/coverage.svg )](https://codeclimate.com/github/tobi-wan-kenobi/bumblebee-status/coverage)
[![Issue Count ](https://codeclimate.com/github/tobi-wan-kenobi/bumblebee-status/badges/issue_count.svg )](https://codeclimate.com/github/tobi-wan-kenobi/bumblebee-status)
2016-12-10 20:05:02 +01:00
2020-04-13 09:11:19 +02:00
**Many, many thanks to all contributors! All of the really cool modules have been contributed by somebody else :)**
2017-06-12 19:00:17 +02:00
2020-05-03 16:51:52 +02:00
![List of modules ](doc/LIST-OF-MODULES.md )
2019-12-27 13:49:09 +01:00
2018-04-14 05:52:54 +02:00
![Solarized Powerline ](https://github.com/tobi-wan-kenobi/bumblebee-status/blob/master/screenshots/themes/powerline-solarized.png )
2016-12-10 20:05:02 +01:00
bumblebee-status is a modular, theme-able status line generator for the [i3 window manager ](https://i3wm.org/ ).
Focus is on:
2020-03-13 14:23:11 +01:00
* Ease of use
2020-05-03 16:51:52 +02:00
* Support for easily adding [custom themes ](doc/development/WRITING-A-THEME.md )
* Support for easily adding [custom modules ](doc/development/WRITING-A-MODULE.md )
2016-12-10 20:05:02 +01:00
2020-04-13 09:11:19 +02:00
I hope you like it and I appreciate any kind of feedback: Bug reports, feature requests, etc. :)
2016-12-10 20:05:02 +01:00
Thanks a lot!
2017-09-16 16:48:13 +02:00
Required i3wm version: 4.12+ (in earlier versions, blocks won't have background colors)
2020-03-13 14:23:11 +01:00
Supported Python versions: 3.4, 3.5, 3.6, 3.7, 3.8
2017-02-25 07:54:03 +01:00
2018-04-05 08:06:47 +02:00
Supported FontAwesome version: 4 (free version of 5 doesn't include some of the icons)
2018-10-13 15:43:42 +02:00
Example usage:
```
bar {
2018-10-17 18:51:24 +02:00
status_command < path > /bumblebee-status -m cpu memory battery time pasink pasource -p time.format="%H:%M" -t solarized
2018-10-13 15:43:42 +02:00
}
```
2016-12-10 20:05:02 +01:00
# Documentation
2020-04-13 09:11:19 +02:00
See [the docs ](doc/ ) for documentation.
2016-12-10 20:05:02 +01:00
2020-03-13 14:23:11 +01:00
See [FAQ ](doc/FAQ.md ) for FAQs.
2018-01-13 19:33:43 +01:00
2016-12-10 20:05:02 +01:00
Other resources:
2020-05-03 16:51:52 +02:00
* A list of [available modules ](doc/LIST-OF-MODULES.md )
* [How to write a module ](doc/development/WRITING-A-MODULE.md )
* [How to write a theme ](doc/development/WRITING-A-THEME.md )
2016-12-10 20:05:02 +01:00
# Installation
```
2020-05-03 16:51:52 +02:00
# from git (development snapshot)
2016-12-10 20:05:02 +01:00
$ git clone git://github.com/tobi-wan-kenobi/bumblebee-status
2020-05-03 16:51:52 +02:00
# from AUR:
git clone https://aur.archlinux.org/bumblebee-status.git
cd bumblebee-status
makepkg -sicr
# from PyPI (thanks @tony):
# will install bumblebee-status into ~/.local/bin/bumblebee-status
pip install --user bumblebee-status
2016-12-10 20:05:02 +01:00
```
2018-04-14 05:56:18 +02:00
# Dependencies
2020-05-03 16:51:52 +02:00
[Available modules ](doc/LIST-OF-MODULES.md ) lists the dependencies (Python modules and external executables)
2018-04-14 05:56:18 +02:00
for each module. If you are not using a module, you don't need the dependencies.
2016-12-10 20:05:02 +01:00
# Usage
2017-04-02 08:34:17 +02:00
## Normal usage
2017-08-20 10:59:39 +02:00
In your i3wm configuration, modify the *status_command* for your i3bar like this:
2016-12-10 20:05:02 +01:00
```
bar {
2019-07-30 08:26:31 +02:00
status_command < path to bumblebee-status / bumblebee-status > \
-m < list of modules > \
-p < list of module parameters > \
-t < theme >
2016-12-10 20:05:02 +01:00
}
```
2018-12-02 10:09:03 +01:00
You can retrieve a list of modules (and their parameters) and themes by entering:
2016-12-10 20:05:02 +01:00
```
$ cd bumblebee-status
$ ./bumblebee-status -l themes
$ ./bumblebee-status -l modules
```
2017-08-20 10:59:39 +02:00
Any parameter you can specify with `-p <name>=<value>` , you can alternatively specify in `~/.bumblebee-status.conf` or `~/.config/bumblebee-status.conf` . This parameters act as a **fallback** , so values specified with `-p` have priority.
2017-07-12 18:42:02 +02:00
Configuration files have a format like this:
```
$ cat ~/.bumblebee-status.conf
[module-parameters]
< key > = < value >
```
For example:
```
$ cat ~/.bumblebee-status.conf
[module-parameters]
github.token=abcdefabcdef12345
```
2017-03-16 21:04:24 +01:00
To change the update interval, use:
```
$ ./bumblebee-status -m < list of modules > -p interval=< interval in seconds >
```
2020-05-03 16:51:52 +02:00
The update interval can also be changed on a per-module basis, like this:
```
$ ./bumblebee-status -m cpu memory -p cpu.interval=5s memory.interval=1m
```
2016-12-10 20:05:02 +01:00
As a simple example, this is what my i3 configuration looks like:
```
bar {
font pango:Inconsolata 10
position top
tray_output none
2016-12-11 13:12:22 +01:00
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
2016-12-10 20:05:02 +01:00
}
```
Restart i3wm and - that's it!
# Examples
2020-05-03 16:51:52 +02:00
![List of themes ](./doc/LIST-OF-THEMES.md )