bumblebee-status is a modular, theme-able status line generator for the i3 window manager.
Find a file
tfwiii 7ee9645437 Added secondary check for potential changes in public IP and a small bug fix arising from reliance on util.location
Added a second check for indications of possible change of public IP address since netifaces does not properly handle all Linux routing tables (ref: http://linux-ip.net/html/routing-tables.html) which can lead to changes being missed if only looking at defauilt route. Consequently an additional check for changes to the network interface names/numbers was added to further help in identifying potentially notable changes. Note that netifaces is no longer being maintained so the underlying issue with its handling of gateways is unlikely to be resolved (https://github.com/al45tair/netifaces). An alternative would be to use direct calls to the OS like 'ip route list table all' (note the difference to 'ip route list all') but this might lead to unpredicatble results between distributions/flavours so probably best to stick with a library for now. all') but this might lead to unpredicatble results between distributions/flavours so probably best to stick with a library for now.

Introduced time.sleep(2) following calls to util.location.reset() since it can take util.location a while to update following a call to .reset() which can cause calls to .location_info() to return unpredicatable/unuseful results.
2022-08-30 02:01:25 +07:00
.github [doc] add test badge 2022-07-29 14:05:15 +02:00
bin [core/layout] use python-only layout detection 2022-07-03 14:02:38 +02:00
bumblebee_status Added secondary check for potential changes in public IP and a small bug fix arising from reliance on util.location 2022-08-30 02:01:25 +07:00
docs [doc] add redshift.adjust parameter 2022-08-11 16:54:15 +02:00
man [doc] add man pages 2022-06-08 08:34:05 +02:00
requirements rss.txt: Unpin feedparser 2020-12-05 17:11:30 +07:00
screenshots add better screenshots 2022-03-15 17:32:45 +05:30
tests [publicip] fix tests and bugs 2022-07-29 14:00:28 +02:00
themes reduce spacing in awesome fonts iconset 2022-06-15 11:50:23 -04:00
util [core/layout] use python-only layout detection 2022-07-03 14:02:38 +02:00
.codeclimate.yml [codeclimate] fix wrong config 2020-05-25 07:38:25 +02:00
.coveragerc [tests] add pytest for events 2020-06-01 11:35:21 +02:00
.gitignore [modules/layout] add a new - generic - layout module 2021-05-16 21:09:58 +02:00
.readthedocs.yaml [docs] fix docs build 2021-11-07 13:46:52 +01:00
bumblebee-ctl [core/input] add pseudo-event "update" to selectively update modules 2021-04-28 12:41:04 +02:00
bumblebee-status [core] make bumblebee more reactive 2021-03-13 14:10:30 +01:00
CODE_OF_CONDUCT.md Create CODE_OF_CODUCT.md 2017-06-15 12:58:13 +02:00
CONTRIBUTING.md [all] remove Travis CI 2022-07-29 11:29:18 +02:00
coverage.sh [tests] switch to pytest 2020-06-20 14:53:44 +02:00
generate-base-tests.py [tests] fix some test prerequisites 2020-07-21 08:20:55 +02:00
LICENSE Initial commit 2016-10-30 15:07:21 +01:00
MANIFEST.in [core] restructure to allow PIP packaging 2020-05-09 21:22:00 +02:00
README.md [doc] fix code climage badge 2022-07-29 14:08:37 +02:00
setup.cfg Change deprecated dash-separated with underscore in setup.cfg 2022-01-05 09:34:38 +01:00
setup.py [doc] add man pages 2022-06-08 08:34:05 +02:00
versioneer.py [all] remove Travis CI 2022-07-29 11:29:18 +02:00

bumblebee-status

Documentation Status AUR version (release) AUR version (git) PyPI version Tests Code Climate Test Coverage Issue Count CodeQL License

Many, many thanks to all contributors! I am still amazed by and deeply grateful for how many PRs this project gets.

Click here for a list of available modules

Solarized Powerline

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

Focus is on:

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

Thanks a lot!

Required i3wm version: 4.12+ (in earlier versions, blocks won't have background colors)

Supported Python versions: 3.4, 3.5, 3.6, 3.7, 3.8, 3.9

Supported FontAwesome version: 4 (free version of 5 doesn't include some of the icons)


NOTE

The default branch for this project is main. If you are curious why: ZDNet:github-master-alternative


Example usage:

bar {
	status_command <path>/bumblebee-status -m cpu memory battery time \
		pasink pasource -p time.format="%H:%M" -t solarized
}

Documentation

See the docs for detailed documentation.

See FAQ for. well, FAQs.

Other resources:

Installation

# from git (development snapshot)
$ git clone git://github.com/tobi-wan-kenobi/bumblebee-status

# 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

There is also a SlackBuild available here: slackbuilds:bumblebee-status - many thanks to @Tonus1!

An ebuild, for Gentoo Linux, is available on gallifrey overlay. Instructions for adding the overlay can be found here.

Dependencies

Available modules lists the dependencies (Python modules and external executables) for each module. If you are not using a module, you don't need the dependencies.

Some themes (e.g. all powerline themes) require Font Awesome http://fontawesome.io/ and a powerline-compatible font (powerline-fonts) https://github.com/powerline/fonts

Usage

Normal usage

In your i3wm configuration, 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 their parameters) and themes by entering:

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

To change the update interval, use:

$ ./bumblebee-status -m <list of modules> -p interval=<interval in seconds>

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

All modules can be given "aliases" using <module name>:<alias>, by which they can be parametrized, for example:

$ ./bumblebee-status -m disk:root disk:home -p root.path=/ home.path=/home

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!

Examples

List of themes