Update fuzzyw.app.js

master
sir-indy 2022-04-06 12:49:59 +01:00 committed by GitHub
parent aed0aa1659
commit eb0d809a61
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 13 additions and 1 deletions

View File

@ -10,6 +10,18 @@ if (settings.language == 'System') {
let fuzzy_string = fuzzy_strings[settings.language]; let fuzzy_string = fuzzy_strings[settings.language];
let timeout = 2.5*60;
let drawTimeout;
function queueDraw(seconds) {
let millisecs = seconds * 1000;
if (drawTimeout) clearTimeout(drawTimeout);
drawTimeout = setTimeout(function() {
drawTimeout = undefined;
draw();
}, millisecs - (Date.now() % millisecs));
}
const h = g.getHeight(); const h = g.getHeight();
const w = g.getWidth(); const w = g.getWidth();
let align_mode = 0; let align_mode = 0;
@ -42,11 +54,11 @@ function draw() {
g.clearRect(0, 24, w, h-24); g.clearRect(0, 24, w, h-24);
g.setColor(g.theme.fg); g.setColor(g.theme.fg);
g.drawString(g.wrapString(time_string, w).join("\n"), align_pos, h/2); g.drawString(g.wrapString(time_string, w).join("\n"), align_pos, h/2);
queueDraw(timeout);
} }
g.clear(); g.clear();
draw(); draw();
setInterval(draw, 10000); // refresh every 10s
// Stop updates when LCD is off, restart when on // Stop updates when LCD is off, restart when on
Bangle.on('lcdPower',on=>{ Bangle.on('lcdPower',on=>{