JBL Quantum wireless headsets don't tell Linux how much battery they have left, and HeadsetControl doesn't support them. This reads the level straight from the USB dongle and puts it in the top bar. Green when full, red when low, grey when the headset is off.
Deliberately small. No settings window, no background service, no cloud. A tray icon, a menu with the exact percentage, and a command for scripts.
The headset glyph is solid green from 90% up, fades through yellow and orange, and is red at 20% or less. A small bar under the headband shows the level too, so it reads even if you can't tell the colours apart.
Switch the headset off or walk out of range and the icon turns grey. The bar and the menu keep the last reported level, e.g. not connected (last 95%).
Click the icon to see the headset name and level, with Refresh now to read it again straight away and Quit.
The level is read every 60 seconds, off the main loop so the menu never freezes. Change it with --interval.
The package adds a login autostart entry for every user. Starting it again does nothing if it's already running, so you never get two icons.
A udev rule gives the logged-in user access to the dongle's HID interface. Installed and applied by the package; replug the dongle if it was already in.
jbl-battery prints the level as text, as a bare number or as JSON, once or on repeat, for status bars, conky or notifications.
These are the exact colours and bars the indicator draws, shown on a dark top bar.
Requires Ubuntu 22.04 or newer, or another Debian-based desktop with a tray. On GNOME the icon needs the AppIndicator extension, which Ubuntu ships and enables by default. The .deb works on any architecture, and apt pulls in any missing dependencies.
Download rc-headset-battery-indicator_1.0.0_all.deb.
It usually lands in your Downloads folder.
Keep the ./ so apt treats it as a local file rather than a package name to download.
apt asks for your password, installs the dependencies and applies the udev rule.
$ cd ~/Downloads
$ sudo apt install ./rc-headset-battery-indicator_1.0.0_all.debIt starts by itself from your next login. To start it now, open Headset Battery Indicator from the app grid, or run:
$ headset-battery-indicator &If the dongle was already plugged in and the icon stays grey with No permission in its menu, unplug the dongle and plug it back in.
Upgrade: download the newer .deb and run the same apt install line with it.
Remove: sudo apt remove rc-headset-battery-indicator.
JBL Quantum wireless headsets with a USB dongle, matched by its USB ID.
// all from the standard Ubuntu archive; apt installs them with the .deb
python3 ≥ 3.8runs the indicator and the CLIpython3-giPython bindings for GTKgir1.2-gtk-3.0GTK 3, for the menugir1.2-ayatanaappindicator3-0.1Ayatana AppIndicator, for the tray icongnome-shell-extension-appindicatorsuggested: shows tray icons on GNOME (preinstalled on Ubuntu)$ jbl-battery
JBL Quantum 610: 95%
$ jbl-battery
JBL Quantum 610: not connected (last 95%)
$ jbl-battery -q
95
$ jbl-battery --json
{"device": "JBL Quantum 610", "hidraw": "/dev/hidraw5", "battery": 95, "connected": true}Built and tested with a JBL Quantum 610 on Ubuntu 26.04.
downloadrc-headset-battery-indicator_1.0.0_all.deb