do-not-disturb
                                
                                
                                
                                    do-not-disturb copied to clipboard
                            
                            
                            
                        Control the macOS `Do Not Disturb` feature
do-not-disturb
Control the macOS
Do Not Disturbfeature
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…