From 4534eae73f355d4a9072027726c3f4f918101e90 Mon Sep 17 00:00:00 2001 From: thyttan <6uuxstm66@mozmail.com⁩> Date: Sun, 12 Feb 2023 21:30:38 +0100 Subject: [PATCH 01/15] extension adding an extra screen to launch on swipes from change type to app add placeholder JS icon --- apps/quicklaunch/ChangeLog | 2 + apps/quicklaunch/app-icon.js | 1 + apps/quicklaunch/app.js | 35 ++++++++++ apps/quicklaunch/boot.js | 6 +- apps/quicklaunch/metadata.json | 35 ++++++++-- apps/quicklaunch/settings.js | 116 +++++++++++++++++++++++++++++++-- 6 files changed, 179 insertions(+), 16 deletions(-) create mode 100644 apps/quicklaunch/app-icon.js create mode 100644 apps/quicklaunch/app.js diff --git a/apps/quicklaunch/ChangeLog b/apps/quicklaunch/ChangeLog index 2f9f648dd..4aa59334e 100644 --- a/apps/quicklaunch/ChangeLog +++ b/apps/quicklaunch/ChangeLog @@ -7,3 +7,5 @@ 0.07: Revert version 0.06. This version is the same as 0.05. 0.08: Respect appRect on touch events 0.09: Do not react if clkinfo is focused +0.10: Extend the functionality via a quicklaunch app that can be launched + with quicklaunch itself. diff --git a/apps/quicklaunch/app-icon.js b/apps/quicklaunch/app-icon.js new file mode 100644 index 000000000..e41be6f0b --- /dev/null +++ b/apps/quicklaunch/app-icon.js @@ -0,0 +1 @@ +require("heatshrink").decompress(atob("lEoxH+AB8WAAwYQEaQrdEp4pWEyYoRC49kxGs2fX6+z1mIsgpUCQtAxAjCAA+zxFAFCAQFxAkJAAuIFBxMF1oeHgEABI+sFBomEORInJPgJ7EEyonLFAJQJBIh0IE5x6GE47CME5nXsgnGOojmME5p5HJyAnO6+IE5LEKE6JQEE4lkC5gnPUIh2SE6B4EAAesC5oAP1gnHTxpPDAQIAFeJQACH5wnP64nWAA3CBJB3WAA203fQBAp3IY4plENQ4HC2gABkjHNxAnX2nJBYeIEYf+AYVkE5oDGE4e0UgdkEwYnDUAITEACikBTwgnFxAnZFAJ2FE4lAJ7dAE4pQFY6yfCToYmDE4kW1jvX1geEE4YoF2YfFABRzD67EEEwqiGFCAmETg5QJPQYAMTQJ0GE5AoGshSPYQgmKFA72BFJWzxBzEExgoIKYOI1grC2esxBLGExwpKABolPFCwmSFKQlVFZoXP")) diff --git a/apps/quicklaunch/app.js b/apps/quicklaunch/app.js new file mode 100644 index 000000000..be1242d35 --- /dev/null +++ b/apps/quicklaunch/app.js @@ -0,0 +1,35 @@ +{ + const storage = require("Storage"); + let settings = storage.readJSON("quicklaunch.json", true) || {}; + let wu =require("widget_utils"); + + let reset = function(name){ + if (!settings[name]) settings[name] = {"name":"(none)"}; + if (!storage.read(settings[name].src)) settings[name] = {"name":"(none)"}; + storage.write("quicklaunch.json", settings); + }; + + let touchHandler = (_,e) => { + let R = Bangle.appRect; + if (e.x < R.x || e.x > R.x2 || e.y < R.y || e.y > R.y2 ) return; + if (settings.exttapapp.src){ if (settings.exttapapp.name == "Show Launcher") Bangle.showLauncher(); else if (!storage.read(settings.exttapapp.src)) reset("exttapapp"); else load(settings.exttapapp.src); } + }; + + let swipeHandler = (lr,ud) => { + if (lr == -1 && settings.extleftapp && settings.extleftapp.src){ if (settings.extleftapp.name == "Show Launcher") Bangle.showLauncher(); else if (!storage.read(settings.extleftapp.src)) reset("extleftapp"); else load(settings.extleftapp.src); } + if (lr == 1 && settings.extrightapp && settings.extrightapp.src){ if (settings.extrightapp.name == "Show Launcher") Bangle.showLauncher(); else if (!storage.read(settings.extrightapp.src)) reset("extrightapp"); else load(settings.extrightapp.src); } + if (ud == -1 && settings.extupapp && settings.extupapp.src){ if (settings.extupapp.name == "Show Launcher") Bangle.showLauncher(); else if (!storage.read(settings.extupapp.src)) reset("extupapp"); else load(settings.extupapp.src); } + if (ud == 1 && settings.extdownapp && settings.extdownapp.src){ if (settings.extdownapp.name == "Show Launcher") Bangle.showLauncher(); else if (!storage.read(settings.extdownapp.src)) reset("extdownapp"); else load(settings.extdownapp.src); } + }; + + Bangle.setUI({ + mode: "custom", + touch: touchHandler, + swipe : swipeHandler, + remove: ()=>{} + }); + + Bangle.loadWidgets(); + wu.hide(); + g.clear(); +} diff --git a/apps/quicklaunch/boot.js b/apps/quicklaunch/boot.js index 774b41d3d..946a14308 100644 --- a/apps/quicklaunch/boot.js +++ b/apps/quicklaunch/boot.js @@ -1,10 +1,10 @@ { - let settings = require("Storage").readJSON("quicklaunch.json", true) || {}; const storage = require("Storage"); + let settings = storage.readJSON("quicklaunch.json", true) || {}; let reset = function(name){ if (!settings[name]) settings[name] = {"name":"(none)"}; - if (!require("Storage").read(settings[name].src)) settings[name] = {"name":"(none)"}; + if (!storage.read(settings[name].src)) settings[name] = {"name":"(none)"}; storage.write("quicklaunch.json", settings); }; @@ -13,7 +13,7 @@ if (Bangle.CLKINFO_FOCUS) return; let R = Bangle.appRect; if (e.x < R.x || e.x > R.x2 || e.y < R.y || e.y > R.y2 ) return; - if (settings.tapapp.src){ if (!storage.read(settings.tapapp.src)) reset("tapapp"); else load(settings.tapapp.src); } + if (settings.tapapp.src){ if (settings.tapapp.name == "Show Launcher") Bangle.showLauncher(); else if (!storage.read(settings.tapapp.src)) reset("tapapp"); else load(settings.tapapp.src); } }); Bangle.on("swipe", (lr,ud) => { diff --git a/apps/quicklaunch/metadata.json b/apps/quicklaunch/metadata.json index 599929cda..00b67e9ef 100644 --- a/apps/quicklaunch/metadata.json +++ b/apps/quicklaunch/metadata.json @@ -2,14 +2,35 @@ "id": "quicklaunch", "name": "Quick Launch", "icon": "app.png", - "version":"0.09", + "version": "0.10", "description": "Tap or swipe left/right/up/down on your clock face to launch up to five apps of your choice. Configurations can be accessed through Settings->Apps.", - "type": "bootloader", + "type": "app", "tags": "tools, system", - "supports": ["BANGLEJS2"], - "storage": [ - {"name":"quicklaunch.settings.js","url":"settings.js"}, - {"name":"quicklaunch.boot.js","url":"boot.js"} + "supports": [ + "BANGLEJS2" ], - "data": [{"name":"quicklaunch.json"}] + "storage": [ + { + "name": "quicklaunch.settings.js", + "url": "settings.js" + }, + { + "name": "quicklaunch.boot.js", + "url": "boot.js" + }, + { + "name": "quicklaunch.app.js", + "url": "app.js" + }, + { + "name": "quicklaunch.img", + "url": "app-icon.js", + "evaluate": true + } + ], + "data": [ + { + "name": "quicklaunch.json" + } + ] } diff --git a/apps/quicklaunch/settings.js b/apps/quicklaunch/settings.js index d8907553a..ba9eb9b87 100644 --- a/apps/quicklaunch/settings.js +++ b/apps/quicklaunch/settings.js @@ -1,17 +1,18 @@ (function(back) { -var settings = Object.assign(require("Storage").readJSON("quicklaunch.json", true) || {}); +var storage = require("Storage"); +var settings = Object.assign(storage.readJSON("quicklaunch.json", true) || {}); -for (let c of ["leftapp","rightapp","upapp","downapp","tapapp"]){ +for (let c of ["leftapp","rightapp","upapp","downapp","tapapp","extleftapp","extrightapp","extupapp","extdownapp","exttapapp"]){ if (!settings[c]) settings[c] = {"name":"(none)"}; } -var apps = require("Storage").list(/\.info$/).map(app=>{var a=require("Storage").readJSON(app,1);return a&&{name:a.name,type:a.type,sortorder:a.sortorder,src:a.src};}).filter(app=>app && (app.type=="app" || app.type=="launch" || app.type=="clock" || !app.type)); +var apps = storage.list(/\.info$/).map(app=>{var a=storage.readJSON(app,1);return a&&{name:a.name,type:a.type,sortorder:a.sortorder,src:a.src};}).filter(app=>app && (app.type=="app" || app.type=="launch" || app.type=="clock" || !app.type)); // Add psuedo app to trigger Bangle.showLauncher later apps.push({ "name": "Show Launcher", "type": undefined, "sortorder": -10, - "src": "no sorce" + "src": "no source" }); apps.sort((a,b)=>{ @@ -24,11 +25,11 @@ apps.sort((a,b)=>{ function save(key, value) { settings[key] = value; - require("Storage").write("quicklaunch.json",settings); + storage.write("quicklaunch.json",settings); } -// Quick Launch menu function showMainMenu() { + // Quick Launch menu var mainmenu = { "" : { "title" : "Quick Launch" }, "< Back" : ()=>{load();} @@ -40,6 +41,7 @@ function showMainMenu() { mainmenu["Up: "+settings.upapp.name] = function() { E.showMenu(upmenu); }; mainmenu["Down: "+settings.downapp.name] = function() { E.showMenu(downmenu); }; mainmenu["Tap: "+settings.tapapp.name] = function() { E.showMenu(tapmenu); }; + mainmenu["Extend Quick Launch"] = showExtMenu; return E.showMenu(mainmenu); } @@ -129,5 +131,107 @@ apps.forEach((a)=>{ }; }); +function showExtMenu() { + // Extend Quick Launch menu + var extmenu = { + "" : { "title" : "Extend Quick Launch" }, + "< Back" : ()=>{showMainMenu();} + }; + + //List all selected apps + extmenu["Left: "+settings.extleftapp.name] = function() { E.showMenu(extleftmenu); }; + extmenu["Right: "+settings.extrightapp.name] = function() { E.showMenu(extrightmenu); }; + extmenu["Up: "+settings.extupapp.name] = function() { E.showMenu(extupmenu); }; + extmenu["Down: "+settings.extdownapp.name] = function() { E.showMenu(extdownmenu); }; + extmenu["Tap: "+settings.exttapapp.name] = function() { E.showMenu(exttapmenu); }; + + return E.showMenu(extmenu); +} + +//Extension Left swipe menu +var extleftmenu = { + "" : { "title" : "Extension Left Swipe" }, + "< Back" : showExtMenu +}; + +extleftmenu["(none)"] = function() { + save("extleftapp", {"name":"(none)"}); + showExtMenu(); +}; +apps.forEach((a)=>{ + extleftmenu[a.name] = function() { + save("extleftapp", a); + showExtMenu(); + }; +}); + +//Extension Right swipe menu +var extrightmenu = { + "" : { "title" : "Extension Right Swipe" }, + "< Back" : showExtMenu +}; + +extrightmenu["(none)"] = function() { + save("extrightapp", {"name":"(none)"}); + showExtMenu(); +}; +apps.forEach((a)=>{ + extrightmenu[a.name] = function() { + save("extrightapp", a); + showExtMenu(); + }; +}); + +//Extension Up swipe menu +var extupmenu = { + "" : { "title" : "Extension Up Swipe" }, + "< Back" : showExtMenu +}; + +extupmenu["(none)"] = function() { + save("extupapp", {"name":"(none)"}); + showExtMenu(); +}; +apps.forEach((a)=>{ + extupmenu[a.name] = function() { + save("extupapp", a); + showExtMenu(); + }; +}); + +//Extension Down swipe menu +var extdownmenu = { + "" : { "title" : "Extension Down Swipe" }, + "< Back" : showExtMenu +}; + +downmenu["(none)"] = function() { + save("extdownapp", {"name":"(none)"}); + showExtMenu(); +}; +apps.forEach((a)=>{ + extdownmenu[a.name] = function() { + save("extdownapp", a); + showExtMenu(); + }; +}); + +//Extension Tap menu +var exttapmenu = { + "" : { "title" : "Extension Tap" }, + "< Back" : showExtMenu +}; + +exttapmenu["(none)"] = function() { + save("exttapapp", {"name":"(none)"}); + showExtMenu(); +}; +apps.forEach((a)=>{ + exttapmenu[a.name] = function() { + save("exttapapp", a); + showExtMenu(); + }; +}); + showMainMenu(); }) From 6752817e687799ff1a49cb6b8c4d849229be23f2 Mon Sep 17 00:00:00 2001 From: thyttan <6uuxstm66@mozmail.com⁩> Date: Mon, 13 Feb 2023 19:33:57 +0100 Subject: [PATCH 02/15] tweaks quick launch extension --- apps/quicklaunch/app-icon.js | 1 - apps/quicklaunch/app.js | 2 -- apps/quicklaunch/metadata.json | 2 +- apps/quicklaunch/settings.js | 11 ++++++++++- 4 files changed, 11 insertions(+), 5 deletions(-) delete mode 100644 apps/quicklaunch/app-icon.js diff --git a/apps/quicklaunch/app-icon.js b/apps/quicklaunch/app-icon.js deleted file mode 100644 index e41be6f0b..000000000 --- a/apps/quicklaunch/app-icon.js +++ /dev/null @@ -1 +0,0 @@ -require("heatshrink").decompress(atob("lEoxH+AB8WAAwYQEaQrdEp4pWEyYoRC49kxGs2fX6+z1mIsgpUCQtAxAjCAA+zxFAFCAQFxAkJAAuIFBxMF1oeHgEABI+sFBomEORInJPgJ7EEyonLFAJQJBIh0IE5x6GE47CME5nXsgnGOojmME5p5HJyAnO6+IE5LEKE6JQEE4lkC5gnPUIh2SE6B4EAAesC5oAP1gnHTxpPDAQIAFeJQACH5wnP64nWAA3CBJB3WAA203fQBAp3IY4plENQ4HC2gABkjHNxAnX2nJBYeIEYf+AYVkE5oDGE4e0UgdkEwYnDUAITEACikBTwgnFxAnZFAJ2FE4lAJ7dAE4pQFY6yfCToYmDE4kW1jvX1geEE4YoF2YfFABRzD67EEEwqiGFCAmETg5QJPQYAMTQJ0GE5AoGshSPYQgmKFA72BFJWzxBzEExgoIKYOI1grC2esxBLGExwpKABolPFCwmSFKQlVFZoXP")) diff --git a/apps/quicklaunch/app.js b/apps/quicklaunch/app.js index be1242d35..a93e7d7a3 100644 --- a/apps/quicklaunch/app.js +++ b/apps/quicklaunch/app.js @@ -1,7 +1,6 @@ { const storage = require("Storage"); let settings = storage.readJSON("quicklaunch.json", true) || {}; - let wu =require("widget_utils"); let reset = function(name){ if (!settings[name]) settings[name] = {"name":"(none)"}; @@ -30,6 +29,5 @@ }); Bangle.loadWidgets(); - wu.hide(); g.clear(); } diff --git a/apps/quicklaunch/metadata.json b/apps/quicklaunch/metadata.json index 00b67e9ef..a98cfd445 100644 --- a/apps/quicklaunch/metadata.json +++ b/apps/quicklaunch/metadata.json @@ -4,7 +4,7 @@ "icon": "app.png", "version": "0.10", "description": "Tap or swipe left/right/up/down on your clock face to launch up to five apps of your choice. Configurations can be accessed through Settings->Apps.", - "type": "app", + "type": "bootloader", "tags": "tools, system", "supports": [ "BANGLEJS2" diff --git a/apps/quicklaunch/settings.js b/apps/quicklaunch/settings.js index ba9eb9b87..70f1ffae5 100644 --- a/apps/quicklaunch/settings.js +++ b/apps/quicklaunch/settings.js @@ -11,10 +11,19 @@ var apps = storage.list(/\.info$/).map(app=>{var a=storage.readJSON(app,1);retur // Add psuedo app to trigger Bangle.showLauncher later apps.push({ "name": "Show Launcher", - "type": undefined, "sortorder": -10, + "type": undefined, + "sortorder": -10, "src": "no source" }); +// Add the Quick Launch extestion app +apps.push({ + "name": "Quick Launch Extension", + "type": "app", + "sortorder": -9, + "src": "quicklaunch.app.js" + }); + apps.sort((a,b)=>{ var n=(0|a.sortorder)-(0|b.sortorder); if (n) return n; // do sortorder first From fb351a6e821f79ee43fabf7b5dba55deb2154d02 Mon Sep 17 00:00:00 2001 From: thyttan <6uuxstm66@mozmail.com⁩> Date: Mon, 13 Feb 2023 19:40:43 +0100 Subject: [PATCH 03/15] fix metadata removing JS icon reference --- apps/quicklaunch/metadata.json | 5 ----- 1 file changed, 5 deletions(-) diff --git a/apps/quicklaunch/metadata.json b/apps/quicklaunch/metadata.json index a98cfd445..8d5e4f5e6 100644 --- a/apps/quicklaunch/metadata.json +++ b/apps/quicklaunch/metadata.json @@ -21,11 +21,6 @@ { "name": "quicklaunch.app.js", "url": "app.js" - }, - { - "name": "quicklaunch.img", - "url": "app-icon.js", - "evaluate": true } ], "data": [ From d4cea1372e9f214a5934cddc7c95a4693b954cc4 Mon Sep 17 00:00:00 2001 From: thyttan <6uuxstm66@mozmail.com⁩> Date: Mon, 13 Feb 2023 19:58:38 +0100 Subject: [PATCH 04/15] tweak app list sort order --- apps/quicklaunch/settings.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/apps/quicklaunch/settings.js b/apps/quicklaunch/settings.js index 70f1ffae5..0961e6cae 100644 --- a/apps/quicklaunch/settings.js +++ b/apps/quicklaunch/settings.js @@ -12,7 +12,7 @@ var apps = storage.list(/\.info$/).map(app=>{var a=storage.readJSON(app,1);retur apps.push({ "name": "Show Launcher", "type": undefined, - "sortorder": -10, + "sortorder": -12, "src": "no source" }); @@ -20,7 +20,7 @@ apps.push({ apps.push({ "name": "Quick Launch Extension", "type": "app", - "sortorder": -9, + "sortorder": -11, "src": "quicklaunch.app.js" }); From 6d1234bc671e4cc8e9281dc3191082c88e4d5388 Mon Sep 17 00:00:00 2001 From: thyttan <6uuxstm66@mozmail.com⁩> Date: Mon, 13 Feb 2023 20:37:03 +0100 Subject: [PATCH 05/15] clear graphics before loading widgets --- apps/quicklaunch/app.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/quicklaunch/app.js b/apps/quicklaunch/app.js index a93e7d7a3..240834533 100644 --- a/apps/quicklaunch/app.js +++ b/apps/quicklaunch/app.js @@ -28,6 +28,6 @@ remove: ()=>{} }); - Bangle.loadWidgets(); g.clear(); + Bangle.loadWidgets(); } From 6e76ce04fddfd17d8a09359e6cbefcd11e7d0518 Mon Sep 17 00:00:00 2001 From: thyttan <6uuxstm66@mozmail.com⁩> Date: Mon, 13 Feb 2023 20:47:03 +0100 Subject: [PATCH 06/15] add widget utils again --- apps/quicklaunch/app.js | 2 ++ 1 file changed, 2 insertions(+) diff --git a/apps/quicklaunch/app.js b/apps/quicklaunch/app.js index 240834533..cff64e59d 100644 --- a/apps/quicklaunch/app.js +++ b/apps/quicklaunch/app.js @@ -1,6 +1,7 @@ { const storage = require("Storage"); let settings = storage.readJSON("quicklaunch.json", true) || {}; + let wu =require("widget_utils"); let reset = function(name){ if (!settings[name]) settings[name] = {"name":"(none)"}; @@ -30,4 +31,5 @@ g.clear(); Bangle.loadWidgets(); + wu.show(); } From 2f078f20c32599801953e0d2db376b8481520a5b Mon Sep 17 00:00:00 2001 From: thyttan <6uuxstm66@mozmail.com⁩> Date: Mon, 13 Feb 2023 20:59:57 +0100 Subject: [PATCH 07/15] don't clear the widgets --- apps/quicklaunch/app.js | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/apps/quicklaunch/app.js b/apps/quicklaunch/app.js index cff64e59d..eb5504db5 100644 --- a/apps/quicklaunch/app.js +++ b/apps/quicklaunch/app.js @@ -1,7 +1,6 @@ { const storage = require("Storage"); let settings = storage.readJSON("quicklaunch.json", true) || {}; - let wu =require("widget_utils"); let reset = function(name){ if (!settings[name]) settings[name] = {"name":"(none)"}; @@ -29,7 +28,6 @@ remove: ()=>{} }); - g.clear(); + g.clearRect(Bangle.appRect); Bangle.loadWidgets(); - wu.show(); } From c8a4f5bb9853c734275e063a3c4fa736f2cc546d Mon Sep 17 00:00:00 2001 From: thyttan <6uuxstm66@mozmail.com⁩> Date: Mon, 13 Feb 2023 21:14:57 +0100 Subject: [PATCH 08/15] Add README.md --- apps/quicklaunch/README.md | 3 +++ 1 file changed, 3 insertions(+) create mode 100644 apps/quicklaunch/README.md diff --git a/apps/quicklaunch/README.md b/apps/quicklaunch/README.md new file mode 100644 index 000000000..dc4c50071 --- /dev/null +++ b/apps/quicklaunch/README.md @@ -0,0 +1,3 @@ +Tap or swipe left/right/up/down on your clock face to launch up to five apps of your choice. The Quick Launch Extension (included) can be chosen as one of the apps, in turn providing fast access to up to five additional apps. Configurations can be accessed through Settings->Apps. + + From 334d1961080775a68db1547a2fcdcacbe24f5c72 Mon Sep 17 00:00:00 2001 From: thyttan <6uuxstm66@mozmail.com⁩> Date: Mon, 13 Feb 2023 21:56:52 +0100 Subject: [PATCH 09/15] add timeout to clock --- apps/quicklaunch/app.js | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/apps/quicklaunch/app.js b/apps/quicklaunch/app.js index eb5504db5..f34191b7a 100644 --- a/apps/quicklaunch/app.js +++ b/apps/quicklaunch/app.js @@ -25,9 +25,19 @@ mode: "custom", touch: touchHandler, swipe : swipeHandler, - remove: ()=>{} + remove: ()=>{if (timeoutToClock) clearTimeout(timeoutToClock);} }); g.clearRect(Bangle.appRect); Bangle.loadWidgets(); + Bangle.drawWidgets(); + + // taken from Icon Launcher with some alterations + let timeoutToClock; + const updateTimeoutToClock = function(){ + let time=2; // seconds + if (timeoutToClock) clearTimeout(timeoutToClock); + timeoutToClock = setTimeout(Bangle.showClock,time*1000); + }; + updateTimeoutToClock(); } From a8f1b172b7cca882afbedaf158ad37378b5d21f8 Mon Sep 17 00:00:00 2001 From: thyttan <97237430+thyttan@users.noreply.github.com> Date: Mon, 13 Feb 2023 22:16:11 +0100 Subject: [PATCH 10/15] Update metadata.json --- apps/quicklaunch/metadata.json | 25 +++++-------------------- 1 file changed, 5 insertions(+), 20 deletions(-) diff --git a/apps/quicklaunch/metadata.json b/apps/quicklaunch/metadata.json index 8d5e4f5e6..52fc7b90b 100644 --- a/apps/quicklaunch/metadata.json +++ b/apps/quicklaunch/metadata.json @@ -6,26 +6,11 @@ "description": "Tap or swipe left/right/up/down on your clock face to launch up to five apps of your choice. Configurations can be accessed through Settings->Apps.", "type": "bootloader", "tags": "tools, system", - "supports": [ - "BANGLEJS2" - ], + "supports": ["BANGLEJS2"], "storage": [ - { - "name": "quicklaunch.settings.js", - "url": "settings.js" - }, - { - "name": "quicklaunch.boot.js", - "url": "boot.js" - }, - { - "name": "quicklaunch.app.js", - "url": "app.js" - } + {"name": "quicklaunch.settings.js", "url": "settings.js"}, + {"name": "quicklaunch.boot.js", "url": "boot.js"}, + {"name": "quicklaunch.app.js", "url": "app.js"} ], - "data": [ - { - "name": "quicklaunch.json" - } - ] + "data": [{"name": "quicklaunch.json"}] } From 8790ace2f0d2c3e22e43a83dd138591161f2f8b3 Mon Sep 17 00:00:00 2001 From: thyttan <97237430+thyttan@users.noreply.github.com> Date: Mon, 13 Feb 2023 22:18:20 +0100 Subject: [PATCH 11/15] Update metadata.json --- apps/quicklaunch/metadata.json | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/apps/quicklaunch/metadata.json b/apps/quicklaunch/metadata.json index 52fc7b90b..a0ff9fa9d 100644 --- a/apps/quicklaunch/metadata.json +++ b/apps/quicklaunch/metadata.json @@ -8,9 +8,9 @@ "tags": "tools, system", "supports": ["BANGLEJS2"], "storage": [ - {"name": "quicklaunch.settings.js", "url": "settings.js"}, - {"name": "quicklaunch.boot.js", "url": "boot.js"}, - {"name": "quicklaunch.app.js", "url": "app.js"} + {"name":"quicklaunch.settings.js","url":"settings.js"}, + {"name":"quicklaunch.boot.js","url":"boot.js"}, + {"name":"quicklaunch.app.js","url":"app.js"} ], - "data": [{"name": "quicklaunch.json"}] + "data": [{"name":"quicklaunch.json"}] } From 80390a1d041de321483bd3ada32958418c66fc1c Mon Sep 17 00:00:00 2001 From: thyttan <97237430+thyttan@users.noreply.github.com> Date: Mon, 13 Feb 2023 22:35:58 +0100 Subject: [PATCH 12/15] Update settings.js --- apps/quicklaunch/settings.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/quicklaunch/settings.js b/apps/quicklaunch/settings.js index 0961e6cae..39c2a13d6 100644 --- a/apps/quicklaunch/settings.js +++ b/apps/quicklaunch/settings.js @@ -16,7 +16,7 @@ apps.push({ "src": "no source" }); -// Add the Quick Launch extestion app +// Add the Quick Launch extension app apps.push({ "name": "Quick Launch Extension", "type": "app", From c4cbbd460d741d7eb9d63f5113c38a29ed129b89 Mon Sep 17 00:00:00 2001 From: thyttan <97237430+thyttan@users.noreply.github.com> Date: Wed, 15 Feb 2023 20:30:57 +0100 Subject: [PATCH 13/15] Update ChangeLog --- apps/quicklaunch/ChangeLog | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/quicklaunch/ChangeLog b/apps/quicklaunch/ChangeLog index 4aa59334e..4b92be8cc 100644 --- a/apps/quicklaunch/ChangeLog +++ b/apps/quicklaunch/ChangeLog @@ -7,5 +7,5 @@ 0.07: Revert version 0.06. This version is the same as 0.05. 0.08: Respect appRect on touch events 0.09: Do not react if clkinfo is focused -0.10: Extend the functionality via a quicklaunch app that can be launched +0.10: Extend the functionality via a quicklaunch.app.js file that can be launched with quicklaunch itself. From da76c91d06919bf92515e8bc84ab0ffc9afdd67d Mon Sep 17 00:00:00 2001 From: thyttan <97237430+thyttan@users.noreply.github.com> Date: Thu, 16 Feb 2023 18:34:16 +0100 Subject: [PATCH 14/15] Bangle.showClock -> load in timeoutToClock --- apps/quicklaunch/app.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/quicklaunch/app.js b/apps/quicklaunch/app.js index f34191b7a..c6d6e43c5 100644 --- a/apps/quicklaunch/app.js +++ b/apps/quicklaunch/app.js @@ -37,7 +37,7 @@ const updateTimeoutToClock = function(){ let time=2; // seconds if (timeoutToClock) clearTimeout(timeoutToClock); - timeoutToClock = setTimeout(Bangle.showClock,time*1000); + timeoutToClock = setTimeout(load,time*1000); }; updateTimeoutToClock(); } From 0660f720111e61a5f70873d68e15a873f1c68fbc Mon Sep 17 00:00:00 2001 From: thyttan <97237430+thyttan@users.noreply.github.com> Date: Thu, 16 Feb 2023 20:09:02 +0100 Subject: [PATCH 15/15] Remove Bangle.drawWidgets, change timeout duration --- apps/quicklaunch/app.js | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/apps/quicklaunch/app.js b/apps/quicklaunch/app.js index c6d6e43c5..7ae01ded6 100644 --- a/apps/quicklaunch/app.js +++ b/apps/quicklaunch/app.js @@ -25,19 +25,18 @@ mode: "custom", touch: touchHandler, swipe : swipeHandler, - remove: ()=>{if (timeoutToClock) clearTimeout(timeoutToClock);} + remove: ()=>{if (timeoutToClock) clearTimeout(timeoutToClock);} // Compatability with Fastload Utils. }); g.clearRect(Bangle.appRect); - Bangle.loadWidgets(); - Bangle.drawWidgets(); + Bangle.loadWidgets(); // Compatability with Fastload Utils. // taken from Icon Launcher with some alterations let timeoutToClock; const updateTimeoutToClock = function(){ - let time=2; // seconds + let time = 1000; // milliseconds if (timeoutToClock) clearTimeout(timeoutToClock); - timeoutToClock = setTimeout(load,time*1000); + timeoutToClock = setTimeout(load,time); }; updateTimeoutToClock(); }