diff --git a/plugins/precise-volume/back.js b/plugins/precise-volume/back.js new file mode 100644 index 00000000..7582f4ce --- /dev/null +++ b/plugins/precise-volume/back.js @@ -0,0 +1,12 @@ +/* +this is used to determine if plugin is actually active +(not if its only enabled in options) +*/ +let enabled = false; +module.exports = (win,options) => { + enabled = true; +}; + +module.exports.enabled = () => { + return enabled; +}; \ No newline at end of file diff --git a/plugins/precise-volume/menu.js b/plugins/precise-volume/menu.js index 9b870efd..a906addf 100644 --- a/plugins/precise-volume/menu.js +++ b/plugins/precise-volume/menu.js @@ -1,10 +1,19 @@ +const { enabled } = require("./back") +const { setOptions } = require("../../config/plugins"); + module.exports = (win, options) => [ { label: "Arrowkeys controls", type: "checkbox", checked: !!options.arrowsShortcut, click: (item) => { - win.webContents.send("setArrowsShortcut", item.checked); + //dynamically change setting if plugin enabled + if (enabled()) { + win.webContents.send("setArrowsShortcut", item.checked); + } else { //fallback to usual method if disabled + options.arrowsShortcut = item.checked; + setOptions("precise-volume", options); + } } } ];