davidedmundson added a comment.
We have similar code in plasma-workspace/dataengines/time that has a faux BSD implementation by using a combination of the legacy, but working: QDBusConnection dbus = QDBusConnection::sessionBus(); dbus.connect(QString(), QString(), QStringLiteral("org.kde.KTimeZoned"), QStringLiteral("timeZoneChanged"), this, SLOT(tzConfigChanged())); and equally legacy, but working dbus.connect(QStringLiteral("org.kde.Solid.PowerManagement"), QStringLiteral("/org/kde/Solid/PowerManagement/Actions/SuspendSession"), QStringLiteral("org.kde.Solid.PowerManagement.Actions.SuspendSession"), QStringLiteral("resumingFromSuspend"), this, SLOT(clockSkewed())) Obviously this doesn't cover all the cases (like some ntp service kicking in) but it's better than nothing. --- AFAIK all the usecases above could use the existing dataengine, but I'm not against replacing dataengines with library code. REPOSITORY R244 KCoreAddons REVISION DETAIL https://phabricator.kde.org/D24629 To: zzag, #frameworks Cc: davidedmundson, kde-frameworks-devel, LeGast00n, GB_2, michaelh, ngraham, bruns