vpilo created this revision. Restricted Application added a project: Frameworks. Restricted Application added a subscriber: Frameworks.
REVISION SUMMARY The KNotifications library is immediately available for programs to send out notifications from the beginning of a desktop session. But if a startup program (or the frameworks themselves) sends out notifications before the desktop notifications service is ready, users will get old-school passive pop-ups, on top of the splash screen. In case other kinds of notifications were setup (e.g. sounds), those also gets in the way. With this change, all notifications will be blocked until KSplash goes away. NOTE: In case the splash screen is off, the change does nothing. You still get the passive popup. Anything that would make for a better "session is still loading" trigger than the D-Bus service of KSplash? TEST PLAN Testing with application: - put into list of Startup/Shutdown in SystemSettings a program that shows a KNotification on start (e.g. Yakuake from distro's package, to test binary compatibility). - from the program's settings, set a valid sound and ensure a popup is shown on the event occurrence - logout and login again - the notification(s) should appear as regular Plasma notifications only when the splash is over, along with the sound Testing with system event: - On a laptop or a device with touchpad, set "Disable touchpad when mouse is plugged in" from Settings > Input Devices > Touchpad > Enable/Disable Touchpad tab. Ensure you login with a mouse plugged in - from rom Settings > Touchpad, set a valid sound and ensure a popup is shown on the event occurrence - logout and login again - the "touchpad disabled" notification should appear as regular Plasma notifications only when the splash is over, along with the sound REPOSITORY R289 KNotifications REVISION DETAIL https://phabricator.kde.org/D4799 AFFECTED FILES src/knotificationmanager.cpp src/knotificationmanager_p.h EMAIL PREFERENCES https://phabricator.kde.org/settings/panel/emailpreferences/ To: vpilo Cc: #frameworks