From e1c2bd2af156bb039e7312700daf00989cd56a35 Mon Sep 17 00:00:00 2001 From: Ariel Juodziukynas Date: Sat, 16 Dec 2023 14:34:23 -0300 Subject: [PATCH 1/2] Set visual zoom limit along with zoom factor --- src/backend/main.ts | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/src/backend/main.ts b/src/backend/main.ts index 9073603296..19c53f43ad 100644 --- a/src/backend/main.ts +++ b/src/backend/main.ts @@ -258,9 +258,9 @@ async function initializeWindow(): Promise { }) ipcMain.on('setZoomFactor', async (event, zoomFactor) => { - mainWindow.webContents.setZoomFactor( - processZoomForScreen(parseFloat(zoomFactor)) - ) + const factor = processZoomForScreen(parseFloat(zoomFactor)) + mainWindow.webContents.setZoomFactor(factor) + mainWindow.webContents.setVisualZoomLevelLimits(factor, factor) }) return mainWindow @@ -448,9 +448,12 @@ if (!gotTheLock) { // set initial zoom level after a moment, if set in sync the value stays as 1 setTimeout(() => { - const zoomFactor = configStore.get('zoomPercent', 100) / 100 + const zoomFactor = processZoomForScreen( + configStore.get('zoomPercent', 100) / 100 + ) - mainWindow.webContents.setZoomFactor(processZoomForScreen(zoomFactor)) + mainWindow.webContents.setZoomFactor(zoomFactor) + mainWindow.webContents.setVisualZoomLevelLimits(zoomFactor, zoomFactor) }, 200) ipcMain.on('changeLanguage', async (event, language) => { From 78d97cea78c3f05738493d502b961464ba088e16 Mon Sep 17 00:00:00 2001 From: Ariel Juodziukynas Date: Sat, 16 Dec 2023 15:11:37 -0300 Subject: [PATCH 2/2] use zoom level instead of zoom factor --- src/backend/main.ts | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/src/backend/main.ts b/src/backend/main.ts index 19c53f43ad..ad9a1a0c43 100644 --- a/src/backend/main.ts +++ b/src/backend/main.ts @@ -259,8 +259,8 @@ async function initializeWindow(): Promise { ipcMain.on('setZoomFactor', async (event, zoomFactor) => { const factor = processZoomForScreen(parseFloat(zoomFactor)) - mainWindow.webContents.setZoomFactor(factor) - mainWindow.webContents.setVisualZoomLevelLimits(factor, factor) + mainWindow.webContents.setZoomLevel(factor) + mainWindow.webContents.setVisualZoomLevelLimits(1, 1) }) return mainWindow @@ -276,9 +276,9 @@ const processZoomForScreen = (zoomFactor: number) => { const screenSize = screen.getPrimaryDisplay().workAreaSize.width if (screenSize < 1200) { const extraDPIZoomIn = screenSize / 1200 - return zoomFactor * extraDPIZoomIn + return (zoomFactor * extraDPIZoomIn - 1) / 0.2 } else { - return zoomFactor + return (zoomFactor - 1) / 0.2 } } @@ -452,8 +452,8 @@ if (!gotTheLock) { configStore.get('zoomPercent', 100) / 100 ) - mainWindow.webContents.setZoomFactor(zoomFactor) - mainWindow.webContents.setVisualZoomLevelLimits(zoomFactor, zoomFactor) + mainWindow.webContents.setZoomLevel(zoomFactor) + mainWindow.webContents.setVisualZoomLevelLimits(1, 1) }, 200) ipcMain.on('changeLanguage', async (event, language) => {