Display Desktop Notifications With ElectronJS
Quick post for a reminder on how to display desktop notification with ElectronJS. First you dont need to use node-notifier ElectronJS has it all built under the hood.
View the docs here.
https://www.electronjs.org/docs/latest/api/notification
There are some examples here.
https://www.electronjs.org/docs/latest/tutorial/notifications
I’ll just add to some points that are not listed in the docs.
!Important you first need to allow notifications when it presents you with this dialogue I clicked the cross which disables them.
You can re enable them through the notification centre on Mac under system preferences.
This is what I am using I needed mine to open an external linked after being clicked.
/** * Display a desktop app notification * @param {*} title * @param {*} body */ function showNotification(title, body, link) { if (Notification.isSupported()) { const notification = new Notification({ title: title, //subtitle: '1Subtitle of the Notification', body: body }); notification.addListener('click', () => { console.log('Notification is Clicked', link); require("electron").shell.openExternal(link); }); notification.addListener('show', () => { console.log('Notification is shown'); }); notification.addListener('close', () => { console.log('Notification is Automatically Closed') }); notification.show(); } }
Make sure you only open fire the notification function after the main process is ready.
Also inject the Notification dependancy in the electron js head.
const { app, ipcMain, BrowserWindow, Notification } = require("electron");
Use it like this.
showNotification('Basic Notification', 'Notification from the Main process', 'https://example.com/browse/desktop-app');