diff --git a/plugins/precise-volume/preload.js b/plugins/precise-volume/preload.js index 7979def7..edc5f20c 100644 --- a/plugins/precise-volume/preload.js +++ b/plugins/precise-volume/preload.js @@ -1,4 +1,10 @@ const { ipcRenderer } = require("electron"); +const is = require("electron-is"); + +let ignored = { + id: ["volume-slider", "expand-volume-slider"], + types: ["mousewheel", "keydown", "keyup"] +}; function overrideAddEventListener() { // Save native addEventListener @@ -6,10 +12,12 @@ function overrideAddEventListener() { // Override addEventListener to Ignore specific events in volume-slider Element.prototype.addEventListener = function (type, listener, useCapture = false) { if (!( - ["volume-slider", "expand-volume-slider"].includes(this.id) && - ["mousewheel", "keydown", "keyup"].includes(type) + ignored.id.includes(this.id) && + ignored.types.includes(type) )) { this._addEventListener(type, listener, useCapture); + } else if (is.dev()) { + console.log(`Ignoring event: "${this.id}.${type}()"`); } }; } @@ -17,8 +25,9 @@ function overrideAddEventListener() { module.exports = () => { overrideAddEventListener(); // Restore original function after did-finish-load to avoid keeping Element.prototype altered - ipcRenderer.once("restoreAddEventListener", () => { //called from Main to make sure page is completly loaded + ipcRenderer.once("restoreAddEventListener", () => { // Called from main to make sure page is completly loaded Element.prototype.addEventListener = Element.prototype._addEventListener; Element.prototype._addEventListener = undefined; + ignored = undefined; }); };