From 522a9759b5508a1bc5a1a0f780bd9150d75bfa37 Mon Sep 17 00:00:00 2001 From: Iakov Davydov Date: Sun, 8 May 2022 21:33:38 +0200 Subject: [PATCH] widslimbat --- apps/widslimbat/metadata.json | 13 ++++++++ apps/widslimbat/widget.js | 55 ++++++++++++++++++++++++++++++++++ apps/widslimbat/widget.png | Bin 0 -> 5710 bytes 3 files changed, 68 insertions(+) create mode 100644 apps/widslimbat/metadata.json create mode 100644 apps/widslimbat/widget.js create mode 100644 apps/widslimbat/widget.png diff --git a/apps/widslimbat/metadata.json b/apps/widslimbat/metadata.json new file mode 100644 index 000000000..a83046e90 --- /dev/null +++ b/apps/widslimbat/metadata.json @@ -0,0 +1,13 @@ +{ "id": "widslimbat", + "name": "Slim battery widget with cells", + "shortName":"Slim battery with cells", + "version":"0.01", + "description": "A small (13px wide) battery widget with cells", + "icon": "widget.png", + "type": "widget", + "tags": "widget", + "supports" : ["BANGLEJS2"], + "storage": [ + {"name":"widslimbat.wid.js","url":"widget.js"} + ] +} diff --git a/apps/widslimbat/widget.js b/apps/widslimbat/widget.js new file mode 100644 index 000000000..4a8bb3b5d --- /dev/null +++ b/apps/widslimbat/widget.js @@ -0,0 +1,55 @@ +(() => { + const intervalLow = 60000; // update time when not charging + const intervalHigh = 2000; // update time when charging + const outline = atob("CRSBAD4AP/AYDAYDAYDAYDAYDAYDAYDAYD/w"); + + let COLORS = { + 'black': g.theme.dark ? "#fff" : "#000", + 'charging': "#0f0", + 'low': "#f00", + }; + + function draw() { + var i; + var oCol = COLORS.low; + var cCol = COLORS.low; + var nCells = 0; + + const bat = E.getBattery(); + if (bat>5) { + oCol = COLORS.black; + nCells = 1 + Math.floor((bat-6)/19); + } + if (nCells>1) + cCol = COLORS.black; + if (Bangle.isCharging()) + oCol = COLORS.charging; + g.reset(); + g.setColor(oCol).drawImage(outline,this.x+2,this.y+2); + for (i=0;iWIDGETS["widslimbat"].draw(),intervalLow); + + WIDGETS["widslimbat"]={ + area:"tr", + width:13, + draw:draw + }; +})(); diff --git a/apps/widslimbat/widget.png b/apps/widslimbat/widget.png new file mode 100644 index 0000000000000000000000000000000000000000..a9c7d416d70411fae178b7a6c142ec9733701097 GIT binary patch literal 5710 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