From 55a929e71c70ae16b02742f162710e8700c318e1 Mon Sep 17 00:00:00 2001 From: dapgo Date: Tue, 14 Sep 2021 13:06:18 +0200 Subject: [PATCH] adding a bottom widget clock --- apps.json | 13 +++++++++++ apps/widclkbttm/Changelog | 4 ++++ apps/widclkbttm/README.md | 28 +++++++++++++++++++++++ apps/widclkbttm/widTextBottom_ss1.jpg | Bin 0 -> 6337 bytes apps/widclkbttm/widclkbttm.wid.js | 31 ++++++++++++++++++++++++++ 5 files changed, 76 insertions(+) create mode 100644 apps/widclkbttm/Changelog create mode 100644 apps/widclkbttm/README.md create mode 100644 apps/widclkbttm/widTextBottom_ss1.jpg create mode 100644 apps/widclkbttm/widclkbttm.wid.js diff --git a/apps.json b/apps.json index 560d6505b..72480be4c 100644 --- a/apps.json +++ b/apps.json @@ -3443,4 +3443,17 @@ {"name":"app.json"} ] } + { "id": "widclkbttm", + "name": "Digital clock (Bottom) widget", + "shortName":"Digital clock Bottom Widget", + "icon": "widclkbttm.png", + "version":"0.03", + "description": "Displays time in the bottom area.", + "readme": "README.md", + "tags": "widget", + "type": "widget", + "storage": [ + {"name":"widclkbttm.wid.js","url":"widclkbttm.wid.js"} + ] + }, ] diff --git a/apps/widclkbttm/Changelog b/apps/widclkbttm/Changelog new file mode 100644 index 000000000..326169af5 --- /dev/null +++ b/apps/widclkbttm/Changelog @@ -0,0 +1,4 @@ +0.01: Fork of widclk v0.04 github.com/espruino/BangleApps/tree/master/apps/widclk +0.02: Modification for bottom widget area and text color +0.03: based in widclk v0.05 compatible at same time, bottom area and color + diff --git a/apps/widclkbttm/README.md b/apps/widclkbttm/README.md new file mode 100644 index 000000000..5e386a757 --- /dev/null +++ b/apps/widclkbttm/README.md @@ -0,0 +1,28 @@ +# Digital clock widget (bottom widget area) +This very basic widget clock allows to test the unfrequently used widget bottom area. + +forked from +https://github.com/espruino/BangleApps/tree/master/apps/widclk + +## Photo + +Example of usage + +![](widTextBottom_ss1.jpg) + + + + +## Usage + +Upload the widget file +Open an app that supports displaying widgets + + + + +## Support + +This app is so basic that probably the easiest is to just edit the code ;) + +Otherwise you can contact me [here](https://github.com/dapgo) \ No newline at end of file diff --git a/apps/widclkbttm/widTextBottom_ss1.jpg b/apps/widclkbttm/widTextBottom_ss1.jpg new file mode 100644 index 0000000000000000000000000000000000000000..cc1afe5228aaf7f39dbb46f610c31dc87803d060 GIT binary patch literal 6337 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 literal 0 HcmV?d00001 diff --git a/apps/widclkbttm/widclkbttm.wid.js b/apps/widclkbttm/widclkbttm.wid.js new file mode 100644 index 000000000..c27906786 --- /dev/null +++ b/apps/widclkbttm/widclkbttm.wid.js @@ -0,0 +1,31 @@ +(function() { + // don't show widget if we know we have a clock app running + if (Bangle.CLOCK) return; + + let intervalRef = null; + var width = 5 * 6*2; + var text_color=0x07FF;//cyan + + function draw() { + g.reset().setFont("6x8", 2).setFontAlign(-1, 0).setColor(text_color); + var time = require("locale").time(new Date(),1); + g.drawString(time, this.x, this.y+11, true); // 5 * 6*2 = 60 + } + function clearTimers(){ + if(intervalRef) { + clearInterval(intervalRef); + intervalRef = null; + } + } + function startTimers(){ + intervalRef = setInterval(()=>WIDGETS["wdclkbttm"].draw(), 60*1000); + WIDGETS["wdclkbttm"].draw(); + } + Bangle.on('lcdPower', (on) => { + clearTimers(); + if (on) startTimers(); + }); + + WIDGETS["wdclkbttm"]={area:"br",width:width,draw:draw}; + if (Bangle.isLCDOn) intervalRef = setInterval(()=>WIDGETS["wdclkbttm"].draw(), 60*1000); +})()