bumblebee-status/README.md

132 lines
4.1 KiB
Markdown
Raw Normal View History

2016-12-10 20:05:02 +01:00
# bumblebee-status
[![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)
![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!
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
Supported FontAwesome version: 4 (free version of 5 doesn't include some of the icons)
Example usage:
```
bar {
status_command <path>/bumblebee-status -m cpu memory battery time pasink pasource -p time.format="%H:%M" -t solarized
}
```
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
```
# Dependencies
2020-05-03 16:51:52 +02:00
[Available modules](doc/LIST-OF-MODULES.md) lists the dependencies (Python modules and external executables)
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
In your i3wm configuration, modify the *status_command* for your i3bar like this:
2016-12-10 20:05:02 +01:00
```
bar {
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
}
```
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
```
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.
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
```
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
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)