renaming and fiddling to ensure you can have differnt types of clock app, even more than one installed at the same time

master
Gordon Williams 2019-11-07 22:24:20 +00:00
parent 041a539390
commit 966c1c4b1e
9 changed files with 40 additions and 30 deletions

View File

@ -9,19 +9,31 @@
],
"sortorder" : -1
},
{ "id": "clock",
{ "id": "mclock",
"name": "Morphing Clock",
"icon": "clock-morphing.png",
"description": "7 segment clock that morphs between minutes and hours",
"tags": "clock",
"type":"clock",
"storage": [
{"name":"+clock","url":"clock.json"},
{"name":"-clock","url":"clock-morphing.js"},
{"name":"*clock","url":"clock-icon.js","evaluate":true}
{"name":"+mclock","url":"clock-morphing.json"},
{"name":"-mclock","url":"clock-morphing.js"},
{"name":"*mclock","url":"clock-morphing-icon.js","evaluate":true}
],
"sortorder" : -1
},
{ "id": "wclock",
"name": "Word Clock",
"icon": "clock-word.png",
"description": "Display Time as Text",
"tags": "clock",
"type":"clock",
"storage": [
{"name":"+wclock","url":"clock-word.json"},
{"name":"-wclock","url":"clock-word.js"},
{"name":"*wclock","url":"clock-word-icon.js","evaluate":true}
]
},
{ "id": "trex",
"name": "T-Rex",
"icon": "trex.png",
@ -134,7 +146,7 @@
]
},
{ "id": "sbt",
"name": "c Widget",
"name": "Bluetooth Widget",
"icon": "widget-bluetooth.png",
"description": "Show the current Bluetooth connection status in the top right of the clock",
"tags": "widget,bluetooth",
@ -242,16 +254,5 @@
{"name":"+route"},
{"name":"=route"}
]
},
{ "id": "wclock",
"name": "Word Clock",
"icon": "word-clock.png",
"description": "Display Time as Text",
"tags": "",
"storage": [
{"name":"+wclock","url":"word-clock.json"},
{"name":"-wclock","url":"word-clock.js"},
{"name":"*wclock","url":"word-clock-icon.js","evaluate":true}
]
}
]

View File

@ -11,7 +11,7 @@ setWatch(function() {
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);
}).filter(app=>app.type=="app" || app.type=="clock" || !app.type);
var selected = 0;
var menuScroll = 0;
var menuShowing = false;
@ -75,6 +75,12 @@ var WIDGETS={};
function drawWidgets() {
Object.keys(WIDGETS).forEach(k=>WIDGETS[k].draw());
}
eval(require("Storage").read("-clock"));
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);

5
apps/clock-morphing.json Normal file
View File

@ -0,0 +1,5 @@
{
"name":"Morphing Clock","type":"clock",
"icon":"*mclock",
"src":"-mclock"
}

View File

@ -4,7 +4,8 @@
var buf = Graphics.createArrayBuffer(240, 240, 2, { msb: true });
function flip() {
g.drawImage({ width: buf.getWidth(), height: buf.getHeight(), bpp: 2, transparent: 0, buffer: buf.buffer }, 0, 0);
var palette = new Uint16Array([0,,,0xFFFF]);
g.drawImage({ width: buf.getWidth(), height: buf.getHeight(), bpp: 2, palette : palette, buffer: buf.buffer }, 0, 0);
}
const allWords = [
@ -53,8 +54,8 @@
// font size and color
const wordFontSize = 20;
const timeFontSize = 30;
const passivColor = 1;
const activeColor = 2;
const passivColor = 0x3186/*grey*/;
const activeColor = 0xF800/*red*/;
function drawWordClock() {
@ -66,7 +67,7 @@
var hidx;
var midx;
var midxA;
var midxA=[];
buf.clear();
buf.setFontVector(wordFontSize);
@ -110,6 +111,7 @@
hours[hidx][0].split('').forEach((c, pos) => {
x = xs + (hours[hidx][pos + 1] / 10 | 0) * dx;
y = ys + (hours[hidx][pos + 1] % 10) * dy;
buf.drawString(c, x, y);
});
@ -129,6 +131,7 @@
// display buf
flip();
drawWidgets();
}
Bangle.on('lcdPower', function(on) {
@ -142,4 +145,4 @@
setInterval(drawWordClock, 1E4);
drawWordClock();
})();
})();

View File

@ -1,5 +1,5 @@
{
"name":"Word Clock",
"name":"Word Clock","type":"clock",
"icon":"*wclock",
"src":"-wclock"
}

View File

Before

Width:  |  Height:  |  Size: 843 B

After

Width:  |  Height:  |  Size: 843 B

View File

@ -1,5 +0,0 @@
{
"name":"Clock","type":"app",
"icon":"*clock",
"src":"-clock"
}