From 14ac41c8e67afbf1ef21a5f0d34c8f41ea730278 Mon Sep 17 00:00:00 2001 From: thyttan <6uuxstm66@mozmail.com⁩> Date: Wed, 27 Sep 2023 02:08:25 +0200 Subject: [PATCH] widminbate: fork from `widminbat` --- apps/widminbate/ChangeLog | 3 +++ apps/widminbate/metadata.json | 13 +++++++++++++ apps/widminbate/widget.js | 30 ++++++++++++++++++++++++++++++ apps/widminbate/widget.png | Bin 0 -> 777 bytes 4 files changed, 46 insertions(+) create mode 100644 apps/widminbate/ChangeLog create mode 100644 apps/widminbate/metadata.json create mode 100644 apps/widminbate/widget.js create mode 100644 apps/widminbate/widget.png diff --git a/apps/widminbate/ChangeLog b/apps/widminbate/ChangeLog new file mode 100644 index 000000000..d4143d802 --- /dev/null +++ b/apps/widminbate/ChangeLog @@ -0,0 +1,3 @@ +0.01: Initial Version: Display at under 30% battery +0.02: Display while charging +0.03: Do not clear outside of widget bar diff --git a/apps/widminbate/metadata.json b/apps/widminbate/metadata.json new file mode 100644 index 000000000..7aa200282 --- /dev/null +++ b/apps/widminbate/metadata.json @@ -0,0 +1,13 @@ +{ "id": "widminbat", + "name": "Minimal Battery", + "shortName":"MinBat", + "version":"0.03", + "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/widminbate/widget.js b/apps/widminbate/widget.js new file mode 100644 index 000000000..27453f7cd --- /dev/null +++ b/apps/widminbate/widget.js @@ -0,0 +1,30 @@ +(()=>{ + function getWidth() { + return E.getBattery() <= 30 || Bangle.isCharging() ? 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.clearRect(x,y,x+s,y+23); + 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" : (bat <= 30 ? "#f80" : "#0f0"); + g.setColor(color).fillRect(x+4,y+6,x+4+barWidth,y+17); + },update: function() { + var newWidth = getWidth(); + if(newWidth != this.width) { + this.width = newWidth; + Bangle.drawWidgets();//relayout + }else{ + this.draw(); + } + }}; + setInterval(()=>{ + var widget = WIDGETS.minbat; + if(widget) {widget.update();} + }, 10*60*1000); + Bangle.on('charging', () => WIDGETS.minbat.update()); +})(); diff --git a/apps/widminbate/widget.png b/apps/widminbate/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