@sindresorhus/do-not-disturb
v3.0.0
Published
Control the macOS `Do Not Disturb` feature
Maintainers
Readme
do-not-disturb
Control the macOS
Do Not Disturbfeature
[!WARNING] This package is archived. It does not work on macOS 11 or later.
macOS 11 replaced Do Not Disturb with Focus, and Apple ships no public API to read or set it. Use a shortcut with the built-in "Set Focus" action instead:
shortcuts run "<shortcut name>".
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-disturbUsage
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…
