Center Icon on ALL notifications

Delete notification on windowclosed
Refactor notifications.utils.setOption
This commit is contained in:
Araxeus
2021-04-09 18:39:57 +03:00
parent 18f041f1c6
commit e6d77c165e
3 changed files with 32 additions and 29 deletions

View File

@ -6,52 +6,51 @@ const fs = require("fs");
const icon = "assets/youtube-music.png";
const tempIcon = path.join(app.getPath("userData"), "tempIcon.png");
module.exports.icons = {
play: "\u{1405}", // ᐅ
pause: "\u{2016}", // ‖
next: "\u{1433}", //
previous: "\u{1438}" //
}
module.exports.setOption = (options, option, value) => {
options[option] = value;
setOptions("notifications", options)
}
module.exports.urgencyLevels = [
{ name: "Low", value: "low" },
{ name: "Normal", value: "normal" },
{ name: "High", value: "critical" },
];
module.exports.setUrgency = (options, level) => {
options.urgency = level;
setOption(options);
};
module.exports.setUnpause = (options, value) => {
options.unpauseNotification = value;
setOption(options);
};
module.exports.setInteractive = (options, value) => {
options.interactive = value;
setOption(options);
}
module.exports.notificationImage = function (songInfo, saveIcon = false) {
//return local path to temp icon
if (saveIcon && !!songInfo.image) {
try {
fs.writeFileSync(tempIcon,
songInfo.image
.resize({ height: 256, width: 256 })
centerNativeImage(songInfo.image)
.toPNG()
);
} catch (err) {
console.log(`Error downloading song icon:\n${err.toString()}`)
console.log(`Error writing song icon to disk:\n${err.toString()}`)
return icon;
}
return tempIcon;
}
//else: return image
return songInfo.image
? songInfo.image.resize({ height: 256, width: 256 })
? centerNativeImage(songInfo.image)
: icon
};
let setOption = options => {
setOptions("notifications", options)
};
function centerNativeImage(nativeImage) {
const tempImage = nativeImage.resize({ height: 256 });
const margin = Math.max((tempImage.getSize().width - 256), 0);
module.exports.icons = {
play: "\u{1405}", // ᐅ
pause: "\u{2016}", // ‖
next: "\u{1433}", //
previous: "\u{1438}" //
}
return tempImage.crop({
x: Math.round(margin / 2),
y: 0,
width: 256, height: 256
})
}