From 13d17b25a6e34d4de4b1756504c91b97d9e5da0f Mon Sep 17 00:00:00 2001 From: Martin Boonk Date: Thu, 20 Oct 2022 19:24:06 +0200 Subject: [PATCH 1/2] setting - Adds setting for launcher --- apps/setting/settings.js | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/apps/setting/settings.js b/apps/setting/settings.js index 36af93a8a..d7b81fd59 100644 --- a/apps/setting/settings.js +++ b/apps/setting/settings.js @@ -87,6 +87,7 @@ function showSystemMenu() { /*LANG*/'LCD': ()=>showLCDMenu(), /*LANG*/'Locale': ()=>showLocaleMenu(), /*LANG*/'Select Clock': ()=>showClockMenu(), + /*LANG*/'Select Launcher': ()=>showLauncherMenu(), /*LANG*/'Date & Time': ()=>showSetTimeMenu() }; @@ -671,6 +672,35 @@ function showClockMenu() { } return E.showMenu(clockMenu); } +function showLauncherMenu() { + var launcherApps = require("Storage").list(/\.info$/) + .map(app => {var a=storage.readJSON(app, 1);return (a&&a.type == "launch")?a:undefined}) + .filter(app => app) // filter out any undefined apps + .sort((a, b) => a.sortorder - b.sortorder); + const launcherMenu = { + '': { + 'title': /*LANG*/'Select Launcher', + }, + '< Back': ()=>showSystemMenu(), + }; + launcherApps.forEach((app, index) => { + var label = app.name; + if ((!settings.launcher && index === 0) || (settings.launcher === app.src)) { + label = "* " + label; + } + launcherMenu[label] = () => { + if (settings.launcher !== app.src) { + settings.launcher = app.src; + updateSettings(); + showMainMenu(); + } + }; + }); + if (launcherApps.length === 0) { + launcherMenu[/*LANG*/"No Launchers Found"] = () => { }; + } + return E.showMenu(launcherMenu); +} function showSetTimeMenu() { d = new Date(); From 1e3e1af2f96713d93ef25861b26c239613bde41c Mon Sep 17 00:00:00 2001 From: Martin Boonk Date: Thu, 20 Oct 2022 21:22:38 +0200 Subject: [PATCH 2/2] setting - Bump version --- apps/setting/ChangeLog | 1 + apps/setting/metadata.json | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/apps/setting/ChangeLog b/apps/setting/ChangeLog index a11995dd4..12358f88e 100644 --- a/apps/setting/ChangeLog +++ b/apps/setting/ChangeLog @@ -55,3 +55,4 @@ 0.48: Allow reading custom themes from files 0.49: Now reloads settings properly after 'Calibrate Battery' 0.50: Add Bangle.js 2 touchscreen calibration - for 2v16 or 2v15 cutting edge builds +0.51: Add setting for configuring a launcher diff --git a/apps/setting/metadata.json b/apps/setting/metadata.json index c114e9daf..210ebf0f4 100644 --- a/apps/setting/metadata.json +++ b/apps/setting/metadata.json @@ -1,7 +1,7 @@ { "id": "setting", "name": "Settings", - "version": "0.50", + "version": "0.51", "description": "A menu for setting up Bangle.js", "icon": "settings.png", "tags": "tool,system",