mirror of
https://codeberg.org/armin/noizapp.git
synced 2026-09-01 14:00:54 +02:00
fix resize (both keyboard and mouse should work)
This commit is contained in:
parent
704e42550c
commit
154a98a754
2 changed files with 59 additions and 2 deletions
31
main.js
31
main.js
|
|
@ -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
30
preload.js
Normal 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 });
|
||||||
Loading…
Add table
Add a link
Reference in a new issue