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 1/4] 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 63d85715a3..bcfdca8de2 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 077a1c6044..df3e9a62d0 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 6fa856b96e..4fbd72c6e3 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", From 5dd73bbea83c535568a179d56b7478b7d489885c Mon Sep 17 00:00:00 2001 From: thyttan <6uuxstm66@mozmail.com⁩> Date: Sun, 30 Mar 2025 11:21:06 +0200 Subject: [PATCH 2/4] launch: Fix showClocks setting not taking effect ...by now clearing cache when changing those settings. --- apps/launch/ChangeLog | 2 ++ apps/launch/settings.js | 8 +++++++- 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/apps/launch/ChangeLog b/apps/launch/ChangeLog index bcfdca8de2..c511b12b92 100644 --- a/apps/launch/ChangeLog +++ b/apps/launch/ChangeLog @@ -24,3 +24,5 @@ 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 0.24: Fix fullscreen when fastloading the launcher. (TODO:fix back btn flicker) + Fix showClocks setting not taking effect by now clearing cache when + changing those settings. diff --git a/apps/launch/settings.js b/apps/launch/settings.js index f4f3bb31b5..635dbbaba5 100644 --- a/apps/launch/settings.js +++ b/apps/launch/settings.js @@ -10,6 +10,9 @@ settings[key] = value; require("Storage").write("launch.json",settings); } + function clearCache() { + require("Storage").erase("launch.cache.json") + } const appMenu = { "": { "title": /*LANG*/"Launcher" }, /*LANG*/"< Back": back, @@ -26,7 +29,10 @@ }, /*LANG*/"Show Clocks": { value: settings.showClocks == true, - onchange: (m) => { save("showClocks", m) } + onchange: (m) => { + save("showClocks", m); + clearCache(); + } }, /*LANG*/"Fullscreen": { value: settings.fullscreen == true, From 1702b15b11f19c6b11f941b221644983f5493f16 Mon Sep 17 00:00:00 2001 From: Gordon Williams Date: Tue, 1 Apr 2025 11:26:18 +0100 Subject: [PATCH 3/4] Update app.js after having stopped setUI in latest firmware from adding back icon --- apps/launch/app.js | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/apps/launch/app.js b/apps/launch/app.js index c0450e9ab6..11d35e2fa1 100644 --- a/apps/launch/app.js +++ b/apps/launch/app.js @@ -85,13 +85,9 @@ 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 (global.WIDGETS && settings.fullscreen) 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 From 144d9385f76d851d252d1a7be299c90b5b5d9cc1 Mon Sep 17 00:00:00 2001 From: Gordon Williams Date: Tue, 1 Apr 2025 11:27:49 +0100 Subject: [PATCH 4/4] Fix lint --- apps/launch/app.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/launch/app.js b/apps/launch/app.js index 11d35e2fa1..d064f75fca 100644 --- a/apps/launch/app.js +++ b/apps/launch/app.js @@ -57,7 +57,7 @@ const drawMenu = () => { - let scroller = E.showScroller({ + E.showScroller({ h : height, c : apps.length, draw : (i, r) => { var app = apps[i];