fix resize (both keyboard and mouse should work)

This commit is contained in:
Armin 2026-07-07 03:02:02 +02:00
commit 154a98a754
2 changed files with 59 additions and 2 deletions

31
main.js
View file

@ -1,11 +1,38 @@
const { app, BrowserWindow, Menu } = require('electron'); const { app, BrowserWindow, Menu, ipcMain } = require('electron');
let zoomLevel = 0;
const MIN_ZOOM = -5;
const MAX_ZOOM = 5;
function createWindow() { function createWindow() {
const win = new BrowserWindow({ const win = new BrowserWindow({
width: 1200, width: 1200,
height: 800, height: 800,
webPreferences: {
preload: __dirname + '/preload.js',
},
}); });
win.loadURL('https://bsd.pm/noiz/'); win.loadURL('https://bsd.pm/noiz/');
ipcMain.on('zoom-in', () => {
if (zoomLevel < MAX_ZOOM) {
zoomLevel += 1;
win.webContents.setZoomLevel(zoomLevel);
}
});
ipcMain.on('zoom-out', () => {
if (zoomLevel > MIN_ZOOM) {
zoomLevel -= 1;
win.webContents.setZoomLevel(zoomLevel);
}
});
ipcMain.on('zoom-reset', () => {
zoomLevel = 0;
win.webContents.setZoomLevel(0);
});
} }
Menu.setApplicationMenu(null); Menu.setApplicationMenu(null);
app.whenReady().then(createWindow); app.whenReady().then(createWindow);

30
preload.js Normal file
View file

@ -0,0 +1,30 @@
const { ipcRenderer } = require('electron');
document.addEventListener('keydown', (e) => {
if (!e.ctrlKey) return;
switch (e.key) {
case '=':
case '+':
e.preventDefault();
ipcRenderer.send('zoom-in');
break;
case '-':
e.preventDefault();
ipcRenderer.send('zoom-out');
break;
case '0':
e.preventDefault();
ipcRenderer.send('zoom-reset');
break;
}
});
document.addEventListener('wheel', (e) => {
if (!e.ctrlKey) return;
e.preventDefault();
if (e.deltaY < 0) {
ipcRenderer.send('zoom-in');
} else if (e.deltaY > 0) {
ipcRenderer.send('zoom-out');
}
}, { passive: false });