BatteryWatch - a widget to see your devices battery leves

I’m a new Bazzite user and wanted to easily see how much battery is left in my game controllers. I couldn’t find any widget that does that, but found several messages of people looking for the same thing, so I took the opportunity to learn how to build one :upside_down_face:

It’s called BatteryWatch and it shows battery levels for Bluetooth/wireless devices like mice, keyboards, game controllers, headphones, etc.

Some of the things it can do:

  • See battery percentages for all your Bluetooth and wireless devices in one spot

  • The tray icon automatically hides itself when nothing’s connected, so it doesn’t take up empty space

  • Click the icon and you get a nice list of everything with their battery levels

  • Disconnect Bluetooth devices straight from the widget

  • Hide specific devices from the tray area if you don’t want them showing up there

  • Works with pretty much any Bluetooth or wireless device that reports its battery levels

You can find it on the KDE Store or my GitHub.

I could only test it on devices I have at home, so I’d love some user testing!

Hope you find this useful (like and rate on the store if you do!) and would love to hear your feedback!

5 Likes

That looks pretty cool!

I wonder if Plasma has some QML module that would allow direct access to the UPower D-Bus interface.
That way it might be possible to listen for updates instead of polling with a timer.

In any case the ConnectionType.qml looks as if it could be replaced with an enum

2 Likes

Thanks! I’ll look into that!

Looks good but doesn’t detect my Redragon Mouse. Maybe this works only for Logitech?

Thank you for checking!

Which model do you have? Is it connected using Bluetooth or a wireless dongle? If there’s more than one way to connect, can you try and see if connecting differently fixes it?

Can you post the output of upower -e with the device connected?

In general, the widget relies on UPower to get the battery information, and some devices seem to not report their data in a way UPower can detect.

After the holidays I’ll try to find more ways to get this data.