broulik created this revision. broulik added reviewers: Plasma, VDG. Herald added a project: Plasma. Herald added a subscriber: plasma-devel. broulik requested review of this revision.
REVISION SUMMARY This ensures that newer notification popups don't push old ones out. Some applications are notorious for spamming the user which right now results in a firework of notification popups. With this patch only the number that fits on screen is displayed and everything beyond that is off screen until there's room enough for new popups which are then gradually lowered. It also reduces the likelihood of the notification the user is interacting with being shifted away by an incoming notification. Furthermore, since notifications that are off screen will have their timeout reset, it can happen that you have a bunch of recent notifications at the bottom but then get some old ones that were off screen sliding back in because some middle ones have expired already, leading to awkward results. TEST PLAN Before F8222633: notiorderold.ogv <https://phabricator.kde.org/F8222633> After F8222634: notiordernew.ogv <https://phabricator.kde.org/F8222634> Order in the history is unaffected and still shows newest first REPOSITORY R120 Plasma Workspace REVISION DETAIL https://phabricator.kde.org/D28646 AFFECTED FILES applets/notifications/package/contents/ui/global/Globals.qml libnotificationmanager/notifications.cpp libnotificationmanager/notifications.h libnotificationmanager/notificationsortproxymodel.cpp libnotificationmanager/notificationsortproxymodel_p.h To: broulik, #plasma, #vdg Cc: plasma-devel, Orage, LeGast00n, The-Feren-OS-Dev, cblack, jraleigh, zachus, fbampaloukas, GB_2, ragreen, ZrenBot, ngraham, himcesjf, lesliezhai, ali-mohamed, jensreuterberg, abetts, sebas, apol, ahiemstra, mart