diff --git a/www/scripts/script.js b/www/scripts/script.js
index 11b2c27335a938973fd83e92578c3de48477d9ff..5807964fbd06497547322c5a0cd1d9842f621a35 100644
--- a/www/scripts/script.js
+++ b/www/scripts/script.js
@@ -299,6 +299,20 @@ function init() {
     };
 }
 
+function setContainerSize(container, width, height) {
+    if (width > 1 && height > 1) {
+        container.style.width = `${width}px`;
+        container.style.height = `${height}px`;
+    } else {
+        // undefined root size
+        container.style.width = container.style.height = "100%";
+        document.documentElement.style.height = document.body.style.height =
+            "100%";
+        document.documentElement.style.overflow =
+            document.body.style.overflow = "hidden";
+    }
+}
+
 async function loadProjector() {
     const spinner = document.querySelector("#qtspinner");
     const container = document.querySelector('#qtcontainer');
@@ -319,6 +333,7 @@ async function loadProjector() {
             qt: {
                 onLoaded: () => {
                     launchstatus.style.display = "none";
+                    setContainerSize(container, window.innerWidth, window.innerHeight);
                     showUi(container);
                 },
                 onExit: exitData => {