Review of "Bluetooth Battery Meter" version 35

Details Page Preview

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 also 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 - Nothing earbuds / headphones - CMF earbuds / headphones - Samsung Galaxy Buds Google Pixel Buds Google Fast Pair Devices Disclaimer This project is an independent effort and is not affiliated with, endorsed by, or sponsored by Apple, Sony, Samsung, Google, or Nothing. All product and company names are trademarks™ or registered® trademarks of their respective holders and are used for identification purposes only.

Extension Homepage
https://github.com/maniacx/Bluetooth-Battery-Meter

No comments.

Diff Against

Files

Note: Binary files aren't shown on the web site. To see all files, please download the extension zipfile.

Shexli (experimental)

Shexli has not produced a result yet.

All Versions

Previous Reviews on this Version

JustPerfection active
Approved but maybe a better approach is `super.destroy()` instead of creating custom `onDestroy()` method (line 283 `lib/devices/airpods/airpodsSocket.js`). That way, you rely on the language features instead of creating your own method (line 121 `lib/devices/socketByProfile.js`). `super.destroy()` usage: ```js destroy() { // do something here then super.destroy(); // calling parent destroy() } ```