From f25bf0989abe4efde31cc4bfba2bc663d1d05208 Mon Sep 17 00:00:00 2001 From: thyttan <6uuxstm66@mozmail.com⁩> Date: Sun, 30 Mar 2025 11:10:03 +0200 Subject: [PATCH 1/4] dtlaunch: Bangle 2: Fix showClocks and showLaunchers settings ... not taking effect by now clearing cache when changing those settings. --- apps/dtlaunch/ChangeLog | 2 ++ apps/dtlaunch/metadata.json | 2 +- apps/dtlaunch/settings-b2.js | 6 ++++++ 3 files changed, 9 insertions(+), 1 deletion(-) diff --git a/apps/dtlaunch/ChangeLog b/apps/dtlaunch/ChangeLog index aac1c30bd..ae3c9bdec 100644 --- a/apps/dtlaunch/ChangeLog +++ b/apps/dtlaunch/ChangeLog @@ -32,3 +32,5 @@ when moving pages. Add caching for faster startups. 0.25: Minor code improvements 0.26: Bangle 2: Postpone loading icons that are not needed initially. 0.27: Bangle 2: Add setting to remember and present the last open page between instances of dtlaunch. +0.28: Bangle 2: Fix showClocks and showLaunchers settings not taking effect by + clearing cache when changing those settings. diff --git a/apps/dtlaunch/metadata.json b/apps/dtlaunch/metadata.json index 1ff75b953..f21decd32 100644 --- a/apps/dtlaunch/metadata.json +++ b/apps/dtlaunch/metadata.json @@ -1,7 +1,7 @@ { "id": "dtlaunch", "name": "Desktop Launcher", - "version": "0.27", + "version": "0.28", "description": "Desktop style App Launcher with six (four for Bangle 2) apps per page - fast access if you have lots of apps installed.", "screenshots": [{"url":"shot1.png"},{"url":"shot2.png"},{"url":"shot3.png"}], "icon": "icon.png", diff --git a/apps/dtlaunch/settings-b2.js b/apps/dtlaunch/settings-b2.js index dcad03a65..3fdc5de6e 100644 --- a/apps/dtlaunch/settings-b2.js +++ b/apps/dtlaunch/settings-b2.js @@ -17,6 +17,10 @@ const timeOutChoices = [/*LANG*/"Off", "10s", "15s", "20s", "30s"]; + function clearCache() { + require("Storage").erase("launch.cache.json") + } + E.showMenu({ "" : { "title" : "Desktop launcher" }, /*LANG*/"< Back" : () => back(), @@ -25,6 +29,7 @@ onchange: v => { settings.showClocks = v; writeSettings(); + clearCache(); } }, /*LANG*/'Show launchers': { @@ -32,6 +37,7 @@ onchange: v => { settings.showLaunchers = v; writeSettings(); + clearCache(); } }, /*LANG*/'Direct launch': { From 307da9f610f1f3ba209bb382c81ba0cd1516e1d5 Mon Sep 17 00:00:00 2001 From: thyttan <6uuxstm66@mozmail.com⁩> Date: Sun, 30 Mar 2025 11:46:10 +0200 Subject: [PATCH 2/4] dtlaunch: Bangle 2: Use it's own chache file --- apps/dtlaunch/ChangeLog | 1 + apps/dtlaunch/app-b2.js | 4 ++-- apps/dtlaunch/settings-b2.js | 2 +- 3 files changed, 4 insertions(+), 3 deletions(-) diff --git a/apps/dtlaunch/ChangeLog b/apps/dtlaunch/ChangeLog index ae3c9bdec..38e5d3906 100644 --- a/apps/dtlaunch/ChangeLog +++ b/apps/dtlaunch/ChangeLog @@ -34,3 +34,4 @@ when moving pages. Add caching for faster startups. 0.27: Bangle 2: Add setting to remember and present the last open page between instances of dtlaunch. 0.28: Bangle 2: Fix showClocks and showLaunchers settings not taking effect by clearing cache when changing those settings. + Bangle 2: Use a separate cache file from the standard launcher. diff --git a/apps/dtlaunch/app-b2.js b/apps/dtlaunch/app-b2.js index ea163c57e..01842588b 100644 --- a/apps/dtlaunch/app-b2.js +++ b/apps/dtlaunch/app-b2.js @@ -16,7 +16,7 @@ let s = require("Storage"); // Borrowed caching from Icon Launcher, code by halemmerich. - let launchCache = s.readJSON("launch.cache.json", true)||{}; + let launchCache = s.readJSON("dtlaunch.cache.json", true)||{}; let launchHash = require("Storage").hash(/\.info/); if (launchCache.hash!=launchHash) { launchCache = { @@ -31,7 +31,7 @@ if (a.name>b.name) return 1; return 0; }) }; - s.writeJSON("launch.cache.json", launchCache); + s.writeJSON("dtlaunch.cache.json", launchCache); } let apps = launchCache.apps; let page = 0; diff --git a/apps/dtlaunch/settings-b2.js b/apps/dtlaunch/settings-b2.js index 3fdc5de6e..b297e17d8 100644 --- a/apps/dtlaunch/settings-b2.js +++ b/apps/dtlaunch/settings-b2.js @@ -18,7 +18,7 @@ const timeOutChoices = [/*LANG*/"Off", "10s", "15s", "20s", "30s"]; function clearCache() { - require("Storage").erase("launch.cache.json") + require("Storage").erase("dtlaunch.cache.json") } E.showMenu({ From fd919da85801759e4c9159179473e6faadcefb42 Mon Sep 17 00:00:00 2001 From: thyttan <6uuxstm66@mozmail.com⁩> Date: Sun, 30 Mar 2025 12:01:36 +0200 Subject: [PATCH 3/4] dtlaunch: Bangle 2: Don't leave cache file after uninstalling --- apps/dtlaunch/ChangeLog | 1 + apps/dtlaunch/metadata.json | 5 ++++- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/apps/dtlaunch/ChangeLog b/apps/dtlaunch/ChangeLog index 38e5d3906..847699189 100644 --- a/apps/dtlaunch/ChangeLog +++ b/apps/dtlaunch/ChangeLog @@ -35,3 +35,4 @@ when moving pages. Add caching for faster startups. 0.28: Bangle 2: Fix showClocks and showLaunchers settings not taking effect by clearing cache when changing those settings. Bangle 2: Use a separate cache file from the standard launcher. + Bangle 2: Don't leave cache file after uninstalling the app. diff --git a/apps/dtlaunch/metadata.json b/apps/dtlaunch/metadata.json index f21decd32..941c88944 100644 --- a/apps/dtlaunch/metadata.json +++ b/apps/dtlaunch/metadata.json @@ -16,5 +16,8 @@ {"name":"dtlaunch.settings.js","url":"settings-b2.js", "supports": ["BANGLEJS2"]}, {"name":"dtlaunch.img","url":"app-icon.js","evaluate":true} ], - "data": [{"name":"dtlaunch.json"}] + "data": [ + {"name":"dtlaunch.json"}, + {"name":"dtlaunch.cache.json"} + ] } From 33fd0ab4fea0c7008d86141566fbec1ad0a389b0 Mon Sep 17 00:00:00 2001 From: thyttan <6uuxstm66@mozmail.com⁩> Date: Sun, 6 Apr 2025 01:59:32 +0200 Subject: [PATCH 4/4] dtluanch: respect showLaunchers setting --- apps/dtlaunch/app-b2.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/dtlaunch/app-b2.js b/apps/dtlaunch/app-b2.js index 01842588b..c674c3773 100644 --- a/apps/dtlaunch/app-b2.js +++ b/apps/dtlaunch/app-b2.js @@ -23,7 +23,7 @@ hash : launchHash, apps : s.list(/\.info$/) .map(app=>{var a=s.readJSON(app,1);return a&&{name:a.name,type:a.type,icon:a.icon,sortorder:a.sortorder,src:a.src};}) - .filter(app=>app && (app.type=="app" || (app.type=="clock" && settings.showClocks) || !app.type)) + .filter(app=>app && (app.type=="app" || (app.type=="clock" && settings.showClocks) || (app.type=="launch" && settings.showLaunchers) || !app.type)) .sort((a,b)=>{ var n=(0|a.sortorder)-(0|b.sortorder); if (n) return n; // do sortorder first