This completely rewrites the notifications KCM using libnotificationmanager.
All notification-related settings are moved from the widget to a KCM. This includes popup placement settings, history, job management, as well as Task Manager progress and badges.
The main page contains global notification settings. The timeout heuristic based on word count is dropped and instead a fixed configurable timeout value (1-120s, default 5s) is used.
The applications page not only lists KDE applications but can also find GNOME applications having the appropriate X-GNOME-UsesNotifications key set. Moreover, applications that have been observed sending notifications but didn't "register" with the system are also tracked and can be configured. These have a trash icon so they can be removed in case of a false positive. The search field not only finds applications but also events, e.g. searching for "highlight" will find an event titled "user highlighted" in a chat app. I originally planned to rewrite the KNotifyConfigWidget but postponed that for time resource reasons, there's now just a button that opens the old widget.
BUG: 401616
BUG: 398543
BUG: 393123
FIXED-IN: 5.16.0