diff --git a/apps/quicklaunch/boot.js b/apps/quicklaunch/boot.js index 4faf925e8..89a24aa02 100644 --- a/apps/quicklaunch/boot.js +++ b/apps/quicklaunch/boot.js @@ -1,6 +1,6 @@ (function() { var settings = Object.assign(require("Storage").readJSON("quicklaunch.json", true) || {}); - + if (!settings.leftapp) { settings["leftapp"] = {"name":"(none)"}; require("Storage").write("quicklaunch.json",settings); @@ -30,7 +30,8 @@ if (!mode.startsWith("clock")) return; function tap() { - if (settings.tapapp.src) load (settings.tapapp.src); + var apps = require("Storage").list(/\.info$/).map(app=>{var a=require("Storage").readJSON(app,1);return a&&{src:a.src};}); + if ((settings.tapapp.src) && apps.some(e => e.src === settings.tapapp.src)) load (settings.tapapp.src); } let drag; @@ -43,13 +44,14 @@ } else if (!e.b) { // released const dx = e.x-drag.x, dy = e.y-drag.y; drag = null; + var apps = require("Storage").list(/\.info$/).map(app=>{var a=require("Storage").readJSON(app,1);return a&&{src:a.src};}); if (Math.abs(dx)>Math.abs(dy)+10) { - if ((settings.leftapp.src) && dx<0) load(settings.leftapp.src); - if ((settings.rightapp.src) && dx>0) load(settings.rightapp.src); + if ((settings.leftapp.src) && apps.some(e => e.src === settings.leftapp.src) && dx<0) load(settings.leftapp.src); + if ((settings.rightapp.src) && apps.some(e => e.src === settings.rightapp.src) && dx>0) load(settings.rightapp.src); } else if (Math.abs(dy)>Math.abs(dx)+10) { - if ((settings.upapp.src) && dy<0) load(settings.upapp.src); - if ((settings.downapp.src) && dy>0) load(settings.downapp.src); + if ((settings.upapp.src) && apps.some(e => e.src === settings.upapp.src) && dy<0) load(settings.upapp.src); + if ((settings.downapp.src) && apps.some(e => e.src === settings.downapp.src) && dy>0) load(settings.downapp.src); } } });