From 46f21f3a1295cff924f3990498c49f6417e35c5c Mon Sep 17 00:00:00 2001 From: Alessandro Pignotti Date: Fri, 18 Oct 2024 19:19:07 +0200 Subject: [PATCH] Introduce preliminary support for screen resizing --- src/lib/WebVM.svelte | 27 +++++++++++++++++---------- 1 file changed, 17 insertions(+), 10 deletions(-) diff --git a/src/lib/WebVM.svelte b/src/lib/WebVM.svelte index e9f2139..cd012dc 100644 --- a/src/lib/WebVM.svelte +++ b/src/lib/WebVM.svelte @@ -134,10 +134,26 @@ { return parseInt(getComputedStyle(document.body).fontSize); } + function setScreenSize(display) + { + var mult = 1.0; + var displayWidth = display.offsetWidth; + var displayHeight = display.offsetHeight; + var minWidth = 1024; + var minHeight = 768; + if(displayWidth < minWidth) + mult = minWidth / displayWidth; + if(displayHeight < minHeight) + mult = Math.max(mult, minHeight / displayHeight); + cx.setKmsCanvas(display, displayWidth * mult, displayHeight * mult); + } function handleResize() { term.options.fontSize = computeXTermFontSize(); fitAddon.fit(); + const display = document.getElementById("display"); + if(display) + setScreenSize(display); } async function initTerminal() { @@ -268,16 +284,7 @@ const display = document.getElementById("display"); if(display) { - var mult = 1.0; - var displayWidth = display.offsetWidth; - var displayHeight = display.offsetHeight; - var minWidth = 1024; - var minHeight = 768; - if(displayWidth < minWidth) - mult = minWidth / displayWidth; - if(displayHeight < minHeight) - mult = Math.max(mult, minHeight / displayHeight); - cx.setKmsCanvas(display, displayWidth * mult, displayHeight * mult); + setScreenSize(display); cx.setActivateConsole(handleActivateConsole); } // Run the command in a loop, in case the user exits