notificationcenter-settings-macos
v2.2.1
Published
Exposes a streamlined interface to the settings for Apple OSX and Apple macOS applications.
Downloads
4
Maintainers
Readme
notificationcenter-settings-macos
Exposes a streamlined interface to the Notification Center settings for OSX / macOS applications.
Contents
Platforms
Tested on Yosemite, El-Capitan and Sierra (10.10 upward).
Programmatic Usage
Install it
$ npm install --save notificationcenter-settings
Require it
var ncSettings = require('notificationcenter-settings');
Use the get() callback to parse settings:
ncSettings.get('com.apple.iTunes', function(err, result) {
if (err) return err;
console.dir(result);
};
Result:
{
isHidden: false,
showBadge: true,
playSound: true,
isBanner: true,
isAlert: false,
hideInLockscreen: false,
showPreview: false,
hidePreview: false
}
Commandline Interface
Install the module globally:
npm install --global notificationcenter-settings
Run the provided nc-settings executable:
$ nc-settings com.apple.iTunes
Result:
Notification Center settings for "com.apple.iTunes":
{
"isHidden": false,
"showBadge": true,
"playSound": true,
"isBanner": true,
"isAlert": false,
"hideInLockscreen": false,
"showPreview": false,
"hidePreview": false
}
API
get(bundleId, callback)
Get current Notification Center settings for app using bundleId.
- String bundleId - Bundle identifier for the callback function
- Function callback - The function to call to start Notification Center parsing
Returns:
Object with the following properties:
isHidden Show in Notification center
showBadge Show badge app icon
playSound Play sound for notifications
isBanner Show as banner
isAlert Show as alert
hideInLockscreen Hide notifications on lock screen
showPreview Show message preview
hidePreview Hide message preview
path()
Get absolute path to Notification Center database file.
See also 'Getting the bundle identifier of an OS X application in a shell script'
Returns:
- String containing the absolute path to the database file
Tests
npm test
Under the hood
The module parses the default Sqlite3 .db database for com.apple.notificationcenter. The contained bit flags for each application identifier contain its current settings.
Author
Thanks goes to the NCUtil project for laying out the baseline implementation in Python.