npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

notificationcenter-settings-macos

v2.2.1

Published

Exposes a streamlined interface to the settings for Apple OSX and Apple macOS applications.

Downloads

4

Readme

notificationcenter-settings-macos

Gitter issues


Exposes a streamlined interface to the Notification Center settings for OSX / macOS applications.


Contents

  1. Platforms
  2. Programmatic Usage
  3. Commandline Interface
  4. API
  5. Tests
  6. Under the Hood
  7. Author

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

Sidney Bofah

Thanks goes to the NCUtil project for laying out the baseline implementation in Python.

Badge

badge