User:Mart/KStatusNotifier and KNotification

From KDE TechBase

KStatusNotifierItem API

  • KStatusNotifierItem::addNotification(KNotification *)

StatusNotifierItem dbus API

  • property: notifications -> udi array
  • signal: newNotification(udi)
  • deletion of old items: authomatic expiring or manal?

KNotification API

Based on Davide's patch:

  • set a default KStatusNotifierItem, for KNotification, globally for the app (static)
  • a notification sets the KStatusNotifierItem as RequestingAttention?
  • a knotification adds itself to the default KStatusNotifierItem if it's set?

Usage

Once a KStatusNotifierItem can tell the systray (or the whatever visualization) a list of notification udi, the systray can "filter" the notifications by KStatusNotifierItem. the notifications should still be shown for just for a couple of seconds and autohide, but they would be kept in memory for some minutes if they belong to a KStatusNotifierItem, then the user can show old notifications of a particular KStatusNotifierItem. the ui can be:

  • a little arrow near the icon, that would take 2 "slots" in this case, that would expand and show notifications (could look a little busy and be problematic on narrow vertical systrays)
  • in the extender popup there will be a list of icons at the bottom (could be a tabbar), with the same icons of the KStatusNotifierItem instances, clicking on them could filter out notifications

Misc

  • unread message count concept: just notifications count? something to be explicitly set? (could be necessary, but useless for items not in Network category?)
  • probably a similar thing could be done for the progress indicator too