npm stats
  • Search
  • About
  • Repo
  • Sponsor
  • more
    • Search
    • About
    • Repo
    • Sponsor

Made by Antonio Ramirez

@sindresorhus/do-not-disturb

2.1.0

@sindresorhus

npmHomeRepoSnykSocket
Downloads:7525
$ npm install @sindresorhus/do-not-disturb
DailyWeeklyMonthlyYearly

do-not-disturb

Control the macOS Do Not Disturb feature

Note that this package does not work inside a sandboxed app.

If you want to see an official API for this, please copy-paste the following into a new Feedback Assistant report, and submit it to Apple. Apple uses duplicates as an indication for how popular a request is.

Install

npm install @sindresorhus/do-not-disturb

Usage

import doNotDisturb from '@sindresorhus/do-not-disturb';

await doNotDisturb.enable();

API

doNotDisturb

All the methods return a Promise. You only really need to await them if you use multiple methods at once.

.enable(): Promise<void>

.disable(): Promise<void>

.toggle(force?): Promise<void>

force

Type: boolean

Force it to be enabled/disabled.

.isEnabled(): Promise<boolean>

.on('change', listener, options): EventEmitter

Attach an event listener that gets called when the "Do Not Disturb" state changes.

options

Type: object

pollInterval

Type: number
Default: 3000

Interval in milliseconds at which the polling for the change event is made.

.off('change', listener): EventEmitter

Remove an event listener that was attached previously.

import doNotDisturb from '@sindresorhus/do-not-disturb';

const listener = status => {
	console.log(`Do Not Disturb status: ${status}`);
}

doNotDisturb.on('change', listener, {pollInterval: 100});

// …

doNotDisturb.off('change', listener);

Related

  • do-not-disturb-cli - CLI for this module
  • dark-mode - Control the macOS dark mode
  • macos-wallpaper - Manage the desktop wallpaper
  • file-icon - Get the icon of a file or app as a PNG image
  • app-path - Get the path to an app
  • More…