From ffbb77e3529421ba2de8ee645eaf138b07801902 Mon Sep 17 00:00:00 2001 From: Armin Date: Tue, 7 Jul 2026 00:57:22 +0200 Subject: [PATCH] Fix zooming in Python webview (./noiz) --- index.html | 13 +++++++++++++ noiz | 5 +---- 2 files changed, 14 insertions(+), 4 deletions(-) diff --git a/index.html b/index.html index 370fef8..663182c 100644 --- a/index.html +++ b/index.html @@ -1410,11 +1410,24 @@ async function collectFiles(entry, files, paths, path, onFile) { } } +let zoomLevel = 1; document.addEventListener('keydown', (e) => { if (e.target.tagName === 'INPUT' || e.target.tagName === 'SELECT') return; if (e.code === 'Space') { e.preventDefault(); playBtn.click(); } if (e.code === 'ArrowRight') nextBtn.click(); if (e.code === 'ArrowLeft') prevBtn.click(); + if (e.ctrlKey || e.metaKey) { + if (e.key === '+' || e.code === 'NumpadAdd') { + e.preventDefault(); zoomLevel = Math.min(3, +(zoomLevel + 0.1).toFixed(1)); + document.body.style.zoom = zoomLevel; + } else if (e.key === '-' || e.code === 'NumpadSubtract') { + e.preventDefault(); zoomLevel = Math.max(0.3, +(zoomLevel - 0.1).toFixed(1)); + document.body.style.zoom = zoomLevel; + } else if ((e.key === '0' && !e.shiftKey) || e.code === 'Numpad0') { + e.preventDefault(); zoomLevel = 1; + document.body.style.zoom = ''; + } + } }); window.addEventListener('focus', () => { diff --git a/noiz b/noiz index 8f78faa..1e592a7 100755 --- a/noiz +++ b/noiz @@ -1,8 +1,5 @@ #!/usr/bin/env python3 import webview -webview.create_window( -"noiz://", -"./index.html" -) +webview.create_window( "noiz://", "./index.html", zoomable=True) webview.start()