Add configurable notification urgency

This commit is contained in:
SapuSeven
2021-03-28 23:23:45 +02:00
parent 64c2b32b24
commit 8dc18bbe5e
2 changed files with 11 additions and 6 deletions

View File

@ -39,6 +39,10 @@ const defaultConfig = {
activityTimoutEnabled: true, // if enabled, the discord rich presence gets cleared when music paused after the time specified below
activityTimoutTime: 10 * 60 * 1000 // 10 minutes
},
notifications: {
enabled: false,
urgency: "normal"
}
},
};

View File

@ -1,7 +1,7 @@
const { Notification } = require("electron");
const getSongInfo = require("../../providers/song-info");
const notify = info => {
const notify = (info, options) => {
let notificationImage = "assets/youtube-music.png";
if (info.image) {
@ -14,27 +14,28 @@ const notify = info => {
body: info.artist,
icon: notificationImage,
silent: true,
urgency: options.urgency,
};
// Send the notification
currentNotification = new Notification(notification);
currentNotification.show()
return currentNotification;
};
module.exports = (win) => {
module.exports = (win, options) => {
const registerCallback = getSongInfo(win);
let oldNotification;
win.on("ready-to-show", () => {
// Register the callback for new song information
registerCallback(songInfo => {
// If song is playing send notification
if (!songInfo.isPaused) {
if (!songInfo.isPaused) {
// Close the old notification
oldNotification?.close();
// This fixes a weird bug that would cause the notification to be updated instead of showing
setTimeout(()=>{ oldNotification = notify(songInfo) }, 10);
setTimeout(()=>{ oldNotification = notify(songInfo, options) }, 10);
}
});
});