Lightweight headset battery monitor for Linux
A fast, minimal system tray app that shows battery and connection status for wireless/USB headsets. Real-time updates via D-Bus, desktop notifications, and only 39 KB thanks to demoscene-inspired optimizations.
| Feature | Description |
|---|---|
| 🎧 System Tray | Native emoji icons (🎧⚡ |
| 🔔 Notifications | Low battery, charging complete, device disconnect |
| 👻 Headless Mode | Run without tray (--no-tray) for servers/scripts |
| ⚙️ Systemd Service | Auto-start on login with user service |
| 📱 Multi-Device | Submenu with individual status per device |
| ⚡ Real-time | Instant updates via D-Bus/UPower |
| 🪶 Lightweight | 39 KB binary, minimal resource usage |
yay -S headsetstatusgit clone https://github.com/mewset/headsetstatus.git
cd headsetstatus
cmake -B build -DCMAKE_BUILD_TYPE=Release
cmake --build build
sudo cmake --install build --prefix /usr# GUI mode (system tray)
HeadsetStatus
# Headless mode (notifications only)
HeadsetStatus --no-tray
# Show version
HeadsetStatus --version| Option | Description |
|---|---|
-h, --help |
Show help |
-v, --version |
Show version |
-n, --no-tray |
Headless mode (no system tray) |
-d, --debug |
Enable debug output |
systemctl --user enable --now headsetstatus.service# ~/.config/hypr/hyprland.conf
exec-once = HeadsetStatus
# ~/.config/sway/config
exec HeadsetStatuscp /usr/share/applications/HeadsetStatus.desktop ~/.config/autostart/Settings are stored in ~/.config/headsetstatus/config.ini.
Access via tray menu → Settings, or edit directly:
[notifications]
enabled=true
lowBatteryThreshold=20
notifyOnLowBattery=true
notifyOnChargingComplete=true
notifyOnDisconnect=trueAuto-detection for 20+ brands:
Jabra, Bose, Sony, Sennheiser, JBL, Beats, HyperX, SteelSeries, Razer, Logitech, Corsair, Plantronics, Audio-Technica, Beyerdynamic, AKG, Skullcandy, Anker, AirPods, Galaxy Buds, Pixel Buds, Surface Headphones
Missing your headset? Open an issue.
- Linux with D-Bus
- Qt6 (Core, Widgets, DBus)
- UPower
- Notification daemon (optional): libnotify, dunst, mako, swaync
| Component | Technology |
|---|---|
| Language | C++17 |
| Framework | Qt6 |
| IPC | D-Bus / UPower |
| Build | CMake |
| Size | 39 KB (LTO + UPX) |
PRs welcome! Please:
- Follow existing code style
- Test before submitting
- Use clear commit messages
MIT © mewset
39 KB of pure battery anxiety relief