Notification Center command line utility - Add and remove apps, set alert styles. OS Mavericks and Yosemite. View changes via the GUI in real-time.
Adding and removing apps is perfect for deploying software silently or having it pre-configured so the user doesn't have to do anything.
NCutil.py -i com.noodlesoft.HazelHelperNCutil.py --insert com.noodlesoft.HazelHelper
NCutil.py -r com.barebones.textwranglerNCutil.py --remove com.barebones.textwrangler
Running a command like this:
NCutil.py --get-info com.apple.reminders
will return something like this:
Notification Center settings for Reminders.app:
Reminders.app alert style: Alerts
Show notifications on lock screen: Yes
Show message preview: Always
Show in Notification Center: 5 Recent Items
Badge app icon: Yes
Play sound for notifications: Yes
You can find out what the app's current alert setting is with the -g flag or --get-alert-style.
NCutil.py -g com.teamviewer.TeamViewerNCutil.py --get-alert-style com.teamviewer.TeamViewer
which will return a one line response: none, banners, or alerts
You can check if individual settings are on or off using some of the examples shown below, which will return a one line response.
NCutil.py --get-show-on-lock-screen com.apple.iCal
returns true or false
NCutil.py --get-badge-app-icon com.apple.iCal
returns true or false
NCutil.py --get-sound com.apple.iCal
returns true or false
NCutil.py --get-show-in-notification-center com.apple.iCal
returns a number: 0, 5, 10, or 20
NCutil.py -a alerts com.apple.SafariNCutil.py -a banners com.apple.remindersNCutil.py --alert-style none com.apple.appstore
You can adjust any of the checkboxes in the GUI such as the badge icon, number of recent items, whether or not to show it on the lock screen, etc.
Don't show iCal Notifications on the lock screen
NCutil.py --show-on-lock-screen true com.apple.iCal
Disable the badge app icon for Message
NCutil.py --badge-app-icon false com.apple.iChat
Disable the sound for TextWrangler
NCutil.py --sound false com.barebones.textwrangler
Set the amount of recent Notifications to show to 20 for Dropbox
NCutil.py --show-in-notification-center 20 com.getdropbox.dropbox
Most of the options like --insert, --remove, or --alert-style, allow you to add multiple bundle IDs to modify the same setting for multiple apps.
NCutil.py --remove com.noodlesoft.HazelHelper com.apple.Safari com.apple.reminders
Apple has a lot of different apps that show notifications, which do not show up in the GUI. You can remove all of these hidden Notification sources by using the -remove-system-center option but is not fully-supported as we don't know what they all do. If you decide to try it, this is the equivalent to setting each one individually to an alert style of none.
NCutil.py --remove-system-center
To add a little more detail to the command above, the _SYSTEM_CENTER_ entries are hidden from the GUI. Apple is obviously not expecting users to change any of those preferences (since there is no UI to do so) and so it would be prudent to not modify those. However, this utility lets you do that. You can do so at your own risk. Personally, I have had them turned off for a few weeks now without issue, but that doesn't mean it won't break later.
Additionally, if there were some sources you still wanted to have notification for, you can simply re-enable them on an individual basis.
NCutil.py -a banners _SYSTEM_CENTER_:com.apple.storeagentNCutil.py -a banners _SYSTEM_CENTER_:com.apple.battery-monitor
From what I can tell, these are the items you need to disable to stop the Yosemite upgrade Notification.
NCutil.py -a none _SYSTEM_CENTER_:com.apple.storeagentNCutil.py -a none _SYSTEM_CENTER_:com.apple.noticeboard
Disabling the App Store Notifications may also help:
NCutil.py --alerts none com.apple.maspushagent
If Do Not Disturb is on and you run a command that modifies a setting, Do Not Disturb will be turned off unintentionally. This seems to only happen in Mavericks and is likely caused by the killall NotificiationCenter, which is what allows the commands to show up in real time.
2.4
- added support for OS X (10.11) El Capitan
2.3
- added
--get-show-on-lock-screen - added
--get-badge-app-icon - added
--get-sound - added
--get-show-in-notification-center - reformatted help menu into groups of similar settings
2.2
--get-infoallows you to see what all the current settings are--show-on-lock-screencan now be set totrueorfalse--badge-app-iconcan now be set totrueorfalse--soundcan now be set totrueorfalse--show-in-notification-centercan now be set to0,5,10or20- improved help menu
- reduced verbosity of
--get-alert-stylesince more information can be found with--get-info
2.1
--get-alert-styleallows you to see what alert style the app currently is set to--remove-system-centerremoves all hidden notification, but do so at your own risk- allow multiple arguments for
--insert,--remove, and--alert-style - syntax changed to
--alert-stylefrom--alertstylefor easier readability - find the most recently used .db if multiple ones exist
2.0
- Yosemite Support
1.0
- Initial release. Mavericks support.