From c28b6d3f9ed9c4abd38ab9be653694511946bf6e Mon Sep 17 00:00:00 2001 From: thyttan <6uuxstm66@mozmail.com⁩> Date: Sat, 29 Mar 2025 21:03:15 +0100 Subject: [PATCH] launch: refactor fullscreen to load and hide widgets --- apps/launch/ChangeLog | 3 ++- apps/launch/app.js | 15 ++++++++++++--- apps/launch/metadata.json | 2 +- 3 files changed, 15 insertions(+), 5 deletions(-) diff --git a/apps/launch/ChangeLog b/apps/launch/ChangeLog index 63d85715a..bcfdca8de 100644 --- a/apps/launch/ChangeLog +++ b/apps/launch/ChangeLog @@ -22,4 +22,5 @@ 0.20: Use Bangle.showClock for changing to clock 0.21: Make the "App source not found" warning less buggy 0.22: Add less padding between launcher items, use new font if available in 2v26+ -0.23: Draw a placeholder screen right at the start to speed up apparent boot time \ No newline at end of file +0.23: Draw a placeholder screen right at the start to speed up apparent boot time +0.24: Fix fullscreen when fastloading the launcher. (TODO:fix back btn flicker) diff --git a/apps/launch/app.js b/apps/launch/app.js index 077a1c604..df3e9a62d 100644 --- a/apps/launch/app.js +++ b/apps/launch/app.js @@ -22,8 +22,11 @@ let height = 50*scaleval; // Now apps list is loaded - render - if (!settings.fullscreen) + if (!settings.fullscreen) { Bangle.loadWidgets(); + } else if (global.WIDGETS) { + require("widget_utils").hide(); + } let R = Bangle.appRect; g.reset().clearRect(R).setColor("#888"); for (var y=R.y;y { - E.showScroller({ + let scroller = E.showScroller({ h : height, c : apps.length, draw : (i, r) => { var app = apps[i]; @@ -81,8 +84,14 @@ // cleanup the timeout to not leave anything behind after being removed from ram if (lockTimeout) clearTimeout(lockTimeout); Bangle.removeListener("lock", lockHandler); + // Restore widgets if they were hidden by fullscreen setting + if (global.WIDGETS) require("widget_utils").show(); } }); + if (settings.fullscreen) { + require("widget_utils").hide(); + scroller.draw(); // FIX: The red back button will flicker before the widget is hidden and scroller redrawn. + } g.flip(); // force a render before widgets have finished drawing // 10s of inactivity goes back to clock @@ -100,4 +109,4 @@ if (!settings.fullscreen) // finally draw widgets Bangle.drawWidgets(); - } \ No newline at end of file + } diff --git a/apps/launch/metadata.json b/apps/launch/metadata.json index 6fa856b96..4fbd72c6e 100644 --- a/apps/launch/metadata.json +++ b/apps/launch/metadata.json @@ -2,7 +2,7 @@ "id": "launch", "name": "Launcher", "shortName": "Launcher", - "version": "0.23", + "version": "0.24", "description": "This is needed to display a menu allowing you to choose your own applications. You can replace this with a customised launcher.", "readme": "README.md", "icon": "app.png",