Create OS desktop notifications
If you want to show notifications from a renderer process you should use the web Notifications API
Create OS desktop notifications
Notification is an EventEmitter.
It creates a new
Notification with native properties as set by the
Notification class has the following static methods:
boolean - Whether or not desktop notifications are supported on the current system
Objects created with
new Notification emit the following events:
Some events are only available on specific operating systems and are labeled as such.
Emitted when the notification is shown to the user. Note that this event can be fired
multiple times as a notification can be shown multiple times through the
Emitted when the notification is clicked by the user.
Emitted when the notification is closed by manual intervention from the user.
This event is not guaranteed to be emitted in all cases where the notification is closed.
On Windows, the
close event can be emitted in one of three ways: programmatic dismissal with
notification.close(), by the user closing the notification, or via system timeout. If a notification is in the Action Center after the initial
close event is emitted, a call to
notification.close() will remove the notification from the action center but the
close event will not be emitted again.
Event: 'reply' macOS
replystring - The string the user entered into the inline reply field.
Emitted when the user clicks the "Reply" button on a notification with
Event: 'action' macOS
indexnumber - The index of the action that was activated.
Event: 'failed' Windows
errorstring - The error encountered during execution of the
Emitted when an error is encountered while creating and showing the native notification.
Objects created with the
new Notification() constructor have the following instance methods:
Immediately shows the notification to the user. Unlike the web notification API,
new Notification() does not immediately show it to the user. Instead, you need to
call this method before the OS will display it.
If the notification has been shown before, this method will dismiss the previously shown notification and create a new one with identical properties.
Dismisses the notification.
On Windows, calling
notification.close() while the notification is visible on screen will dismiss the notification and remove it from the Action Center. If
notification.close() is called after the notification is no longer visible on screen, calling
notification.close() will try remove it from the Action Center.
string property representing the title of the notification.
string property representing the subtitle of the notification.
string property representing the body of the notification.
string property representing the reply placeholder of the notification.
string property representing the sound of the notification.
string property representing the close button text of the notification.
boolean property representing whether the notification is silent.
boolean property representing whether the notification has a reply action.
string property representing the urgency level of the notification. Can be 'normal', 'critical', or 'low'.
Default is 'low' - see NotifyUrgency for more information.
notification.timeoutType Linux Windows
string property representing the type of timeout duration for the notification. Can be 'default' or 'never'.
timeoutType is set to 'never', the notification never expires. It stays open until closed by the calling API or the user.
A NotificationAction property representing the actions of the notification.
string property representing the custom Toast XML of the notification.
On macOS, you can specify the name of the sound you'd like to play when the
notification is shown. Any of the default sounds (under System Preferences >
Sound) can be used, in addition to custom sound files. Be sure that the sound
file is copied under the app bundle (e.g.,
or one of the following locations:
NSSound docs for more information.