Having fun with Mountain Lion's Notification Center
Mountain Lion’s new Notification Center is a cool thing, sure, and it didn’t take long before first third-party enhancements where available for it. As long as Growl hasn’t been updated to support Notification Center’s notifications, tools like Hiss and MountainGrowl are useful to combine redirect Growl notifications to the Notification Center. Some more exotic tools are also available, for example terminal-notifier for posting notifications from the terminal, or EnCee for effectively hijacking the Notification Center.
I wanted to have some fun with Notification Center, too, and one of the issues I had with it was that the constant flow of notifications more often than not overwhelmed me. Sure, I can configure Notification Center to not show banners or alerts, but then I’d have to check inside the Notification Center for new notifications regularly. By itself, Notification Center doesn’t inform the user that there are unread notifications in it, though this functionality was present in pre-release versions of Mountain Lion.
So why not add such functionality? I’ve therefore created ncMeta, a small app sitting in the statusbar and quietly listening to notifications delivered to the Notification Center, by any apps. As long as there aren’t any new notifications, ncMeta will display a small empty circle. Once there are new notifications, ncMeta will indicate this by the circle getting a red interior. ncMeta will do this irrespective of whether Notification shows banners, alerts or not for these new notifications. In addition, when clicking on the circle, ncMeta will show which apps have delivered notification to the Notification Center. This all looks like this:
Once you open the Notification Center, the circle will become clear again. ncMeta runs in a sandbox and doesn’t use any real hacks but I’m pretty sure it would never pass Mac App Store review, so I’ve decided to make the app’s source code as well as the classes for listening to Notification Center open source. You can get the code from my GitHub repository or download the app here. Have fun with it.