Launcher: Add an option to hide clocks from the app list

master
Alessandro Cocco 2022-02-03 22:25:42 +01:00
parent 4198189fbb
commit 1bed603882
4 changed files with 21 additions and 14 deletions

View File

@ -10,3 +10,4 @@
After 10s of being locked, the launcher goes back to the clock screen After 10s of being locked, the launcher goes back to the clock screen
0.10: added in selectable font in settings including scalable vector font 0.10: added in selectable font in settings including scalable vector font
0.11: Merge Bangle.js 1 and 2 launchers, again 0.11: Merge Bangle.js 1 and 2 launchers, again
0.12: Add an option to hide clocks from the app list (fix #1015)

View File

@ -1,9 +1,9 @@
var s = require("Storage"); var s = require("Storage");
let fonts = g.getFonts();
var scaleval = 1; var scaleval = 1;
var vectorval = 20; var vectorval = 20;
var font = g.getFonts().includes("12x20") ? "12x20" : "6x8:2"; var font = g.getFonts().includes("12x20") ? "12x20" : "6x8:2";
let settings = require('Storage').readJSON("launch.json", true) || {}; let settings = Object.assign({ showClocks: true }, s.readJSON("launch.json", true) || {});
if ("vectorsize" in settings) { if ("vectorsize" in settings) {
vectorval = parseInt(settings.vectorsize); vectorval = parseInt(settings.vectorsize);
} }
@ -14,10 +14,10 @@ if ("font" in settings){
} }
else{ else{
font = settings.font; font = settings.font;
scaleval = (font.split('x')[1])/20; scaleval = (font.split("x")[1])/20;
} }
} }
var 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" || !app.type)); var 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));
apps.sort((a,b)=>{ apps.sort((a,b)=>{
var n=(0|a.sortorder)-(0|b.sortorder); var n=(0|a.sortorder)-(0|b.sortorder);
if (n) return n; // do sortorder first if (n) return n; // do sortorder first
@ -72,7 +72,7 @@ if (process.env.HWVERSION==2) {
// 10s of inactivity goes back to clock // 10s of inactivity goes back to clock
Bangle.setLocked(false); // unlock initially Bangle.setLocked(false); // unlock initially
var lockTimeout; var lockTimeout;
Bangle.on('lock', locked => { Bangle.on("lock", locked => {
if (lockTimeout) clearTimeout(lockTimeout); if (lockTimeout) clearTimeout(lockTimeout);
lockTimeout = undefined; lockTimeout = undefined;
if (locked) if (locked)

View File

@ -2,7 +2,7 @@
"id": "launch", "id": "launch",
"name": "Launcher", "name": "Launcher",
"shortName": "Launcher", "shortName": "Launcher",
"version": "0.11", "version": "0.12",
"description": "This is needed to display a menu allowing you to choose your own applications. You can replace this with a customised launcher.", "description": "This is needed to display a menu allowing you to choose your own applications. You can replace this with a customised launcher.",
"icon": "app.png", "icon": "app.png",
"type": "launch", "type": "launch",

View File

@ -1,24 +1,30 @@
// make sure to enclose the function in parentheses // make sure to enclose the function in parentheses
(function(back) { (function(back) {
let settings = require('Storage').readJSON('launch.json',1)||{}; let settings = Object.assign({ showClocks: true }, require("Storage").readJSON("launch.json", true) || {});
let fonts = g.getFonts(); let fonts = g.getFonts();
function save(key, value) { function save(key, value) {
settings[key] = value; settings[key] = value;
require('Storage').write('launch.json',settings); require("Storage").write("launch.json",settings);
} }
const appMenu = { const appMenu = {
'': {'title': 'Launcher Settings'}, "": {"title": "Launcher Settings"},
'< Back': back, "< Back": back,
'Font': { "Font": {
value: fonts.includes(settings.font)? fonts.indexOf(settings.font) : fonts.indexOf("12x20"), value: fonts.includes(settings.font)? fonts.indexOf(settings.font) : fonts.indexOf("12x20"),
min:0, max:fonts.length-1, step:1,wrap:true, min:0, max:fonts.length-1, step:1,wrap:true,
onchange: (m) => {save('font', fonts[m])}, onchange: (m) => {save("font", fonts[m])},
format: v => fonts[v] format: v => fonts[v]
}, },
'Vector font size': { "Vector font size": {
value: settings.vectorsize || 10, value: settings.vectorsize || 10,
min:10, max: 20,step:1,wrap:true, min:10, max: 20,step:1,wrap:true,
onchange: (m) => {save('vectorsize', m)} onchange: (m) => {save("vectorsize", m)}
},
"Show clocks": {
value: settings.showClocks == true,
format: v => v ? "Yes" : "No",
onchange: (m) => {save("showClocks", m)}
} }
}; };
E.showMenu(appMenu); E.showMenu(appMenu);