1
0
Fork 0

Merge branch 'master' of github.com:espruino/BangleApps

master
Gordon Williams 2022-02-24 11:01:41 +00:00
commit c291229df5
8 changed files with 182 additions and 0 deletions

View File

@ -92,6 +92,7 @@ function getMessageImage(msg) {
if (s=="skype") return atob("GhoBB8AAB//AA//+Af//wH//+D///w/8D+P8Afz/DD8/j4/H4fP5/A/+f4B/n/gP5//B+fj8fj4/H8+DB/PwA/x/A/8P///B///gP//4B//8AD/+AAA+AA==");
if (s=="slack") return atob("GBiBAAAAAAAAAABAAAHvAAHvAADvAAAPAB/PMB/veD/veB/mcAAAABzH8B3v+B3v+B3n8AHgAAHuAAHvAAHvAADGAAAAAAAAAAAAAA==");
if (s=="sms message") return getNotificationImage();
if (s=="threema") return atob("GBjB/4Yx//8AAAAAAAAAAAAAfgAB/4AD/8AH/+AH/+AP//AP2/APw/APw/AHw+AH/+AH/8AH/4AH/gAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=");
if (s=="twitter") return atob("GhYBAABgAAB+JgA/8cAf/ngH/5+B/8P8f+D///h///4f//+D///g///wD//8B//+AP//gD//wAP/8AB/+AB/+AH//AAf/AAAYAAA");
if (s=="telegram") return atob("GBiBAAAAAAAAAAAAAAAAAwAAHwAA/wAD/wAf3gD/Pgf+fh/4/v/z/P/H/D8P/Acf/AM//AF/+AF/+AH/+ADz+ADh+ADAcAAAMAAAAA==");
if (s=="whatsapp") return atob("GBiBAAB+AAP/wAf/4A//8B//+D///H9//n5//nw//vw///x///5///4///8e//+EP3/APn/wPn/+/j///H//+H//8H//4H//wMB+AA==");
@ -120,6 +121,7 @@ function getMessageImageCol(msg,def) {
"outlook mail": "#0072c6",
"skype": "#00aff0",
"slack": "#e51670",
"threema": "#000",
"telegram": "#0088cc",
"twitter": "#1da1f2",
"whatsapp": "#4fce5d",

1
apps/widcw/ChangeLog Normal file
View File

@ -0,0 +1 @@
0.01: First version

62
apps/widcw/logo.svg Normal file
View File

@ -0,0 +1,62 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
width="48"
height="48"
viewBox="0 0 12.7 12.7"
version="1.1"
id="svg5"
inkscape:version="1.1.1 (3bf5ae0d25, 2021-09-20, custom)"
sodipodi:docname="logo.svg"
inkscape:export-filename="/home/klomp/Repositories/BangleApps/apps/widcw/widget.png"
inkscape:export-xdpi="96"
inkscape:export-ydpi="96"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg">
<sodipodi:namedview
id="namedview7"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageshadow="2"
inkscape:pageopacity="0.0"
inkscape:pagecheckerboard="0"
inkscape:document-units="px"
showgrid="false"
units="px"
width="48px"
inkscape:zoom="16.106622"
inkscape:cx="29.242631"
inkscape:cy="21.481848"
inkscape:window-width="1061"
inkscape:window-height="439"
inkscape:window-x="2326"
inkscape:window-y="806"
inkscape:window-maximized="0"
inkscape:current-layer="layer1" />
<defs
id="defs2" />
<g
inkscape:label="Layer 1"
inkscape:groupmode="layer"
id="layer1">
<text
xml:space="preserve"
style="font-weight:bold;font-size:5.6446px;line-height:2.4ex;font-family:Orbitron;-inkscape-font-specification:'Orbitron Bold';text-align:end;letter-spacing:0.21961px;word-spacing:0px;writing-mode:lr-tb;text-anchor:end;fill:none;stroke:#000000;stroke-width:0.264591px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
x="11.591952"
y="-4.2952275"
id="text3356"
inkscape:export-filename="/home/klomp/Repositories/BangleApps/apps/widcw/widget.png"
inkscape:export-xdpi="96"
inkscape:export-ydpi="96"
transform="scale(0.99997031,-1.0000297)"><tspan
sodipodi:role="line"
id="tspan3354"
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:5.6446px;font-family:sans-serif;-inkscape-font-specification:'sans-serif Bold';fill:#000000;stroke-width:0.264591px"
x="11.811562"
y="-4.2952275">CW</tspan></text>
</g>
</svg>

After

Width:  |  Height:  |  Size: 2.3 KiB

13
apps/widcw/metadata.json Normal file
View File

@ -0,0 +1,13 @@
{
"id": "widcw",
"name": "Calendar Week Widget",
"version": "0.01",
"description": "Widget which shows the current calendar week",
"icon": "widget.png",
"type": "widget",
"tags": "widget,calendar",
"supports": ["BANGLEJS","BANGLEJS2"],
"storage": [
{"name":"widcw.wid.js","url":"widget.js"}
]
}

48
apps/widcw/widget.js Normal file
View File

@ -0,0 +1,48 @@
(function() {
var width = 22; // width of the widget
function draw() {
const x = this.x, y = this.y, x2 = x+21, y2 = y+23;
var date = new Date();
// Calculate calendar week (https://stackoverflow.com/a/6117889)
getCW= function(date){
var d=new Date(date.getFullYear(), date.getMonth(), date.getDate());
var dayNum = d.getDay() || 7;
d.setDate(d.getDate() + 4 - dayNum);
var yearStart = new Date(d.getFullYear(),0,1);
return Math.ceil((((d - yearStart) / 86400000) + 1)/7);
};
g.reset().setFontAlign(0, 0) // center all text
// header
.setBgColor("#f00").setColor("#fff")
.clearRect(x, y, x2, y+8).setFont("4x6").drawString("CW", (x+x2)/2+1, y+5)
// date
.setBgColor("#fff").setColor("#000")
.clearRect(x, y+9, x2, y2).setFont("Vector:16").drawString(getCW(date), (x+x2)/2+2, y+17);
if (!g.theme.dark) {
// black border around date for light themes
g.setColor("#000").drawPoly([
x, y+9,
x, y2,
x2, y2,
x2, y+9
]);
}
// redraw when date changes
setTimeout(()=>WIDGETS["widcw"].draw(), (86401 - Math.floor(date/1000) % 86400)*1000);
}
// add your widget
WIDGETS["widcw"]={
area:"tl", // tl (top left), tr (top right), bl (bottom left), br (bottom right)
width: width, // how wide is the widget? You can change this and call Bangle.drawWidgets() to re-layout
draw:draw // called to draw the widget
};
})();

BIN
apps/widcw/widget.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 884 B

55
apps/widcw/widget.svg Normal file
View File

@ -0,0 +1,55 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
width="48"
height="48"
viewBox="0 0 12.7 12.7"
version="1.1"
id="svg5"
inkscape:version="1.1.1 (3bf5ae0d25, 2021-09-20, custom)"
sodipodi:docname="logo.svg"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg">
<sodipodi:namedview
id="namedview7"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageshadow="2"
inkscape:pageopacity="0.0"
inkscape:pagecheckerboard="0"
inkscape:document-units="px"
showgrid="false"
units="px"
width="48px"
inkscape:zoom="16.106622"
inkscape:cx="29.211588"
inkscape:cy="21.450805"
inkscape:window-width="1918"
inkscape:window-height="1158"
inkscape:window-x="1366"
inkscape:window-y="20"
inkscape:window-maximized="1"
inkscape:current-layer="layer1" />
<defs
id="defs2" />
<g
inkscape:label="Layer 1"
inkscape:groupmode="layer"
id="layer1">
<text
xml:space="preserve"
style="font-weight:bold;font-size:5.64444px;line-height:2.4ex;font-family:Orbitron;-inkscape-font-specification:'Orbitron Bold';text-align:end;letter-spacing:0.219604px;word-spacing:0px;writing-mode:lr-tb;text-anchor:end;fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
x="11.591612"
y="8.4046535"
id="text3356"><tspan
sodipodi:role="line"
id="tspan3354"
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:5.64444px;font-family:sans-serif;-inkscape-font-specification:'sans-serif Bold';fill:#000000;stroke-width:0.264583px"
x="11.811215"
y="8.4046535">CW</tspan></text>
</g>
</svg>

After

Width:  |  Height:  |  Size: 2.0 KiB

View File

@ -119,6 +119,7 @@ Bangle.on("GPS", function(fix) {
Bangle.on("step", function(steps) {
if (!state.active) return;
if (stats["step"]) stats["step"].emit("changed",stats["step"]);
state.stepHistory[0] += steps-state.lastStepCount;
state.lastStepCount = steps;
});
Bangle.on("HRM", function(h) {