Skip to content

applets/batterymonitor: React to D-Bus service (un)register events

Previously, the "Power and Battery" applet only checked for the presence of PowerDevil's D-Bus services once when it starts up. This appears to (mostly?) work for applets embedded in a panel, but does not work for applets on the desktop itself. Likely there's a timing issue and applets on the desktop start sooner than PowerDevil will advertise its services.

A better way to work is for the applet to monitor the bus for when the relevant services appear or disappear. When observing a service registered or unregistered event, the applet gets set up accordingly.

This fixes the race condition for two out of three applet parts (power profiles, inhibitions) but does not fix battery status; the data for that is coming from BatteryControlModel in plasma-workspace. A similar fix will have to be implemented there.

CCBUG: 488915 CCBUG: 489003 CCBUG: 492859 CCBUG: 492945


Bugs 488915, 489003: not yet closing because this is only a partial fix.

Bugs 492859, 492945: not yet closing because the cause of the bug is a little uncertain, and I'd like to get the patch into users' hands first to test (and then to NEEDSINFO once a release with the fix exists).

Edited by Jakob Petsovits

Merge request reports