E.setFlags({pretokenise:1}); var startapp; try { startapp = require('Storage').readJSON('+start'); } catch (e) {} if (startapp) { eval(require("Storage").read(startapp.src)); } else { delete startapp; setWatch(function displayMenu() { Bangle.setLCDMode("direct"); g.clear(); clearInterval(); clearWatch(); Bangle.removeAllListeners(); var s = require("Storage"); var apps = s.list().filter(a=>a[0]=='+').map(app=>{ try { return s.readJSON(app); } catch (e) { return {name:"DEAD: "+app.substr(1)} } }).filter(app=>app.type=="app" || app.type=="clock" || !app.type); apps.sort((a,b)=>{ var n=(0|a.sortorder)-(0|b.sortorder); if (n) return n; // do sortorder first if (a.nameb.name) return 1; return 0; }); var selected = 0; var menuScroll = 0; var menuShowing = false; function drawMenu() { g.setFont("6x8",2); g.setFontAlign(-1,0); var n = 3; if (selected>=n+menuScroll) menuScroll = 1+selected-n; if (selectedn+menuScroll) g.fillPoly([120,239,100,219,140,219]); else g.clearRect(100,219,140,239); for (var i=0;i0) { selected--; drawMenu(); } }, BTN1, {repeat:true}); setWatch(function() { if (selected+1WIDGETS[k].draw()); } var clockApp = require("Storage").list().filter(a=>a[0]=='+').map(app=>{ try { return require("Storage").readJSON(app); } catch (e) {} }).find(app=>app.type=="clock"); if (clockApp) eval(require("Storage").read(clockApp.src)); else E.showMessage("No Clock Found"); delete clockApp; require("Storage").list().filter(a=>a[0]=='=').forEach(widget=>eval(require("Storage").read(widget))); setTimeout(drawWidgets,100); }