A GNOME extension that displays indicator icons in the system tray, acting as a meter for Bluetooth device battery levels. It also provides detailed battery information via icons and text in the Bluetooth quick settings menu Note: Certain Bluetooth devices do not report battery level until Bluez's experimental features are enabled in system. Check Readme for details. The extension supports multiple device-specific modes to provide detailed battery reporting and device controls, depending on the capabilities exposed by the device: UPower: Devices such as Logitech Lightspeed keyboards and mice that report battery levels through UPower. GATT Battery Service: Devices that expose one or more battery levels via the standard GATT Battery Service (BAS), such as ZMK-based split keyboards. Socket Mode: Provides multiple battery levels and advanced device controls—such as Active Noise Cancellation (ANC) and other supported features using a custom socket-based protocol. Supported devices: - AirPods - Beats earbuds / headphones - Sony earbuds / headphones
Note: Binary files aren't shown on the web site. To see all files, please download the extension zipfile.
| Version | Status |
|---|---|
| 42 | Active |
| 41 | Active |
| 40 | Active |
| 39 | Active |
| 38 | Active |
| 37 | Rejected |
| 36 | Active |
| 35 | Active |
| 34 | Rejected |
| 33 | Rejected |
| 32 | Active |
| 31 | Rejected |
| 30 | Active |
| 29 | Active |
| 28 | Active |
| 27 | Active |
| 26 | Inactive |
| 25 | Inactive |
| 24 | Rejected |
| 23 | Rejected |
| 22 | Inactive |
| 21 | Active |
| 20 | Inactive |
| 19 | Inactive |
| 18 | Inactive |
| 17 | Inactive |
| 16 | Inactive |
| 15 | Inactive |
| 14 | Inactive |
| 13 | Inactive |
| 12 | Inactive |
| 11 | Inactive |
| 10 | Inactive |
| 9 | Inactive |
| 8 | Inactive |
| 7 | Inactive |
| 6 | Inactive |
| 5 | Inactive |
| 4 | Rejected |
| 3 | Inactive |
| 2 | Inactive |
| 1 | Inactive |
Hello JustPerfection: Apologize for the huge changes. Lot of refactor. But I think I am at a good point where I can just add support for other new headphones/devices for the next release, without making huge changes to the extension. Hopefully next once will be just adding devices. Take your time. No rush. Thank you.
Approved but: 1. Is there any reason you are checking whether it is destroyed in `destroy()` function? 2. Better to cancel that on destroy (line 1173 `lib/devices/sony/sonyDevice.js`): [Gio.Cancellable](https://gjs-docs.gnome.org/gio20~2.0-cancellable/)
Wow Thanks. That was fast. I saw a huge list of extensions pending for review during submission. 1. It was sometime ago, for some reason, I was getting destroy called twice leading to some logs (dont remember). And it was so rare, random that I could not reproduce it.. But I guess when headset get disconnected by gnome-bluetooth , I call destroy the device class and socket class. But at the same time socket I/0 terminates by headset also leading to calling destroyed. I guess could be a reason for destroy calling twice, so just added a check. 2. GLib.spawn_command_line_async dont have cancellable. Or You meant implement Gio.Subprocess in future, so that we can use cancellable on destroy()?
Yeah, the review queue is very busy these days. For 2, yes, I mean use the subprocess with cancellable since that process shouldn't be there after the extension is disabled or removed.