From fcefec896b4f9bd384d6face4a5ebdd05ece103b Mon Sep 17 00:00:00 2001 From: Younes Date: Sat, 2 Jan 2021 12:04:47 +0100 Subject: [PATCH] feature: adds (ctrl +) mousewheel zoom mod --- mods/mousewheel-zoom/mod.js | 41 +++++++++++++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) create mode 100644 mods/mousewheel-zoom/mod.js diff --git a/mods/mousewheel-zoom/mod.js b/mods/mousewheel-zoom/mod.js new file mode 100644 index 0000000..ca876d1 --- /dev/null +++ b/mods/mousewheel-zoom/mod.js @@ -0,0 +1,41 @@ +/* + * mousewheel zoom + * (c) 2020 younes0 + * under the MIT license + */ + +'use strict' + +module.exports = { + id: 'a4032ee9-2cfe-4c5c-b1b7-6606d5836acc', + tags: ['extension'], + name: 'mousewheel zoom', + desc: 'allows Ctrl + Mousewheel zoom', + version: '1.0.0', + author: 'younes0', + hacks: { + 'renderer/preload.js' (store, __exports) { + const electron = require('electron') + const isScrollDirectionUp = e => + e.wheelDelta ? e.wheelDelta > 0 : e.deltaY < 0 + + document.addEventListener('readystatechange', () => { + if (document.readyState !== 'complete') { + return false + } + + const webContents = electron.remote.getCurrentWindow().webContents + + document.addEventListener('wheel', e => { + if (e.ctrlKey) { + const zoomFactor = webContents.getZoomFactor() + + webContents.setZoomFactor( + isScrollDirectionUp(e) ? zoomFactor + 0.1 : zoomFactor - 0.1 + ) + } + }) + }) + } + } +}