From e097da43dda9ec073b5d8e8538ce4e344269e480 Mon Sep 17 00:00:00 2001 From: Leon Matthes Date: Thu, 7 Jul 2022 11:54:41 +0200 Subject: [PATCH] Add Minimal Battery widget --- apps/widminbat/ChangeLog | 1 + apps/widminbat/metadata.json | 13 +++++++++++++ apps/widminbat/widget.js | 27 +++++++++++++++++++++++++++ apps/widminbat/widget.png | Bin 0 -> 777 bytes 4 files changed, 41 insertions(+) create mode 100644 apps/widminbat/ChangeLog create mode 100644 apps/widminbat/metadata.json create mode 100644 apps/widminbat/widget.js create mode 100644 apps/widminbat/widget.png diff --git a/apps/widminbat/ChangeLog b/apps/widminbat/ChangeLog new file mode 100644 index 000000000..8ff6e2cb6 --- /dev/null +++ b/apps/widminbat/ChangeLog @@ -0,0 +1 @@ +0.01: Initial Version: Display at under 30% battery diff --git a/apps/widminbat/metadata.json b/apps/widminbat/metadata.json new file mode 100644 index 000000000..1c7c10b15 --- /dev/null +++ b/apps/widminbat/metadata.json @@ -0,0 +1,13 @@ +{ "id": "widminbat", + "name": "Minimal Battery", + "shortName":"MinBat", + "version":"0.01", + "description": "A minimal version of the battery widget that only appears if the battery is running low (below 30%)", + "icon": "widget.png", + "type": "widget", + "tags": "widget,battery,minimal", + "supports" : ["BANGLEJS2", "BANGLEJS"], + "storage": [ + {"name":"widminbat.wid.js","url":"widget.js"} + ] +} diff --git a/apps/widminbat/widget.js b/apps/widminbat/widget.js new file mode 100644 index 000000000..087fb1510 --- /dev/null +++ b/apps/widminbat/widget.js @@ -0,0 +1,27 @@ +(function(){ + function getWidth() { + return E.getBattery() <= 30 ? 40 : 0; + } + WIDGETS.minbat={area:"tr",width:getWidth(),draw:function() { + if(this.width < 40) return; + var s = 39; + var bat = E.getBattery(); + var x = this.x, y = this.y; + g.reset(); + g.setColor(g.theme.fg).fillRect(x,y+2,x+s-4,y+21).clearRect(x+2,y+4,x+s-6,y+19).fillRect(x+s-3,y+10,x+s,y+14); + var barWidth = bat*(s-12)/100; + var color = bat < 15 ? "#f00" : "#f80"; + g.setColor(color).fillRect(x+4,y+6,x+4+barWidth,y+17); + },updateWidth: function() { + var newWidth = getWidth(); + if(newWidth != this.width) { + this.width = newWidth; + Bangle.drawWidgets(); + } + }}; + setInterval(()=>{ + var widget = WIDGETS.minbat; + if(widget) {widget.updateWidth();} + }, 10*60*1000); +})(); + diff --git a/apps/widminbat/widget.png b/apps/widminbat/widget.png new file mode 100644 index 0000000000000000000000000000000000000000..b04bc4ef9d30d018415652cc90fc62941f5ba8d5 GIT binary patch literal 777 zcmV+k1NQuhP)EX>4Tx04R}tkv&MmKp2MKrb<;>9PA+CkfAzR5G&%SRVYG*P%E_RU~=gnG%+M8 zE{=k0!NH%!s)LKOt`4q(Aov5~=;Wm6A|-y86k5c1$8itueecWNcYx5SGR^852Q=L_ zGpVGQ%dd!`SA=NxB7um^EMr!Z((oN$_XzO)F3z+3>;4=OwO}zIAQI0o!?cOliKjMg zgY!Odl$B+b_?&pmqze*1a$WKGjdRImfoDd|Y-Wx)N-UN-Sm|I^HZ|f&;+U%GlrQ8w zRyl8R)~Yqux+i~OxS%gDah=vMQdqzuB#2N@Lj_gXh|{izBx-kgEbl zj(KcAgY5dj|KN9Ttzu%rOA04}?ia`T7y&}NK(p>R-^Y&AJOP5wz?I(iZ#01EPtxmc zEp`O-Zvz+CZB5w&E_Z;zCqp)6R|?V+ibdf4jJ_!k4BP^Jt6tw)=Qw=;vec{e4RCM> zjFu>S&F9@coqhYarq#b6NR)DxMbxQx00009a7bBm001r{001r{0eGc9b^rhX2XskI zMF-{w2MIL^_X76|0000PbVXQnLvL+uWo~o;Lvm$dbY)~9cWHEJAV*0}P*;Ht7XSbN z^GQTOR9M69maz?kFc3x0hnXN1Efb`sqRk9cY=GE-28k(PhD?Cy830&<68TajilW4d z6e%%|^j~B7Y|BsQvt=Rx0001d6?JWjqNwZI@!rEQq-pvT)YpcY!!UF#q_wsLA3MgF zs;Yt@__a!&=TQ{Bn^Bgfh-};DCO7jui%8%1uS0BIa3(qv#d{RBwnk4xM06mUoeQyV z*WNoJz2_UKR2<(5RYaC$*;yz_l4+XmLd@*Zkr`u9)VO6IGmc~1wof&*r_j2tP1F46 zk&Q$`wE81-^dv({sVvJJd>yTSMT-zKcU^~f2mk;80Ken{=q5jgiZ?b$00000NkvXX Hu0mjfddO8v literal 0 HcmV?d00001