Remove checks for notification service and fallback to KPassivePopup

Authored by nicolasfella on Apr 29 2020, 2:33 PM.

Description

Remove checks for notification service and fallback to KPassivePopup

Summary:
Alternative patch to D26605 and D26604

KNotifications has proper support for all major platforms (freedesktop, windows, macOS, Android). The KPassivePopup fallback is only relevant for Linux when no FDO notification daemon is running. IMO the case of the user having no notification daemon at all is not worth supporting since the users intention is very clearly to not have notifications.

Previously the KPassivePopup would sometimes appear when the server has crashed. Instead we now always make a call to the notification service, which then get's DBus-activated if it isn't running. In the Plasma case there is the plasma_waitforname helper that makes sure all notifications are captured until Plasma has restarted and forwards them to Plasma. This way no notifications are lost.

This allows to drop a good amount of code. It reduces the dependency on Widgets so we can eventually get rid of it which is nice for Android. Furthermore the reduced complexity will make it easier to implement our plans for KF6

Test Plan:
Tested with new notification tester app.

Killed Plasma, sent notification, restarted Plasma, notification showed up

Reviewers: Frameworks, Plasma, broulik

Reviewed By: Plasma, broulik

Subscribers: kde-frameworks-devel

Tags: Frameworks

Differential Revision: https://phabricator.kde.org/D29021