#1245: implement notification service and API ----------------------------------+----------------------------------------- Reporter: wkornewald | Owner: leavengood Type: enhancement | Status: new Priority: normal | Milestone: Unscheduled Component: Kits/Application Kit | Version: R1/pre-alpha1 Keywords: | Platform: All Blockedby: | Patch: 1 Blocking: | ----------------------------------+----------------------------------------- Comment(by plfiorini): Initial InfoPopper integration patch added. It's the code from its trunk with some improvements: - Haiku code style (well let's put it this way: I haven't checked with checkstyle yet but it's way more compatible with Haiku style than the original code) - Fixed crash when the server closes (the window needed to be locked before invoking Quit) - Removed overlay icon, one icon is good enough - Use BAlert's icons if nothing else is specified (the order should be application icon, icon set on BNotification, balert icons but I haven't tested application icons) - Hidden the notifications page from the preflet (read more below) - Icon size is either large icon or mini icon (since we use vector icons I would encourage more standard sizes defined as icon_size) - Icon size selector on preflet is now a menu field - Menu fiels in preflet enable the save button - No more hardcoded colors (or at least most of them are fixed) What need to be fixed: - Old _T() defines for Zeta does nothing, it would be better to use our Localization Kit here and there - Probably there are still style violations - Revert doesn't work in preflet and probably it's better to save settings immediately without pressing the Save button - Fill the blank space with your suggestion, I'm sure you will find a lot of other stuff to improve :) What I want to do in the future: This patch is just a starting point. The whole notifications filtering should be rewritten and that's why it's hidden in the preflet. I'm more inclined to do something like Growl. An application should "subscribe" the notification server in some way and tell what are its notifications. BRoster will send the application's signature in the app field so it will not be specified with BNotification::SetApplication(). The preflet will let you: 1) hide all the notification for an application 2) hide all the notifications on a per 'type' basis 3) enter a panel with all the notifications that the application can send and configure what to do (emit a sound, display the notification, etc...) PS: Sorry for the double post and for posting a still incomplete patch but I didn't want to loose it -- Ticket URL: <http://dev.haiku-os.org/ticket/1245#comment:5> Haiku <http://dev.haiku-os.org> Haiku - the operating system.