From 8b2adb2684a4c29ae952e32348912862807dba70 Mon Sep 17 00:00:00 2001 From: pikipirs Date: Mon, 6 Jun 2022 19:50:50 +0200 Subject: [PATCH 01/32] If watchface is fullscreen (ie it doesn't load widgets), messages fail to buzz. This fixes it. --- apps/messages/lib.js | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/apps/messages/lib.js b/apps/messages/lib.js index 3f801e101..68fce689f 100644 --- a/apps/messages/lib.js +++ b/apps/messages/lib.js @@ -69,8 +69,11 @@ exports.pushMessage = function(event) { loadMessages = false; } // first, buzz - if (!quiet && loadMessages && global.WIDGETS && WIDGETS.messages){ - WIDGETS.messages.buzz(); + if (!quiet && loadMessages){ + if(global.WIDGETS && WIDGETS.messages) + WIDGETS.messages.buzz(); + else + Bangle.buzz(); if(unlockWatch != false){ Bangle.setLocked(false); Bangle.setLCDPower(1); // turn screen on From 725ce88f95d66a1d7281c10deab669e658b65e9b Mon Sep 17 00:00:00 2001 From: pikipirs Date: Mon, 13 Jun 2022 20:56:42 +0200 Subject: [PATCH 02/32] Rewritten buzzing on new message, widget buzz method rewritten to return a promise --- apps/messages/lib.js | 37 ++++++++++++++++++++++--------------- apps/messages/widget.js | 6 +++--- 2 files changed, 25 insertions(+), 18 deletions(-) diff --git a/apps/messages/lib.js b/apps/messages/lib.js index 68fce689f..7d7677e85 100644 --- a/apps/messages/lib.js +++ b/apps/messages/lib.js @@ -68,27 +68,34 @@ exports.pushMessage = function(event) { if(quiet && quietNoAutOpn) { loadMessages = false; } - // first, buzz - if (!quiet && loadMessages){ - if(global.WIDGETS && WIDGETS.messages) - WIDGETS.messages.buzz(); - else - Bangle.buzz(); - if(unlockWatch != false){ - Bangle.setLocked(false); - Bangle.setLCDPower(1); // turn screen on - } + if (!quiet && loadMessages && unlockWatch != false){ + Bangle.setLocked(false); + Bangle.setLCDPower(1); // turn screen on + } } // after a delay load the app, to ensure we have all the messages if (exports.messageTimeout) clearTimeout(exports.messageTimeout); exports.messageTimeout = setTimeout(function() { exports.messageTimeout = undefined; - // if we're in a clock or it's important, go straight to messages app - if (loadMessages){ - return load("messages.app.js"); + var cont = function() { + // if we're in a clock or it's important, go straight to messages app + if (loadMessages){ + return load("messages.app.js"); + } + if (global.WIDGETS && WIDGETS.messages) { // show messages if widgets are loaded + WIDGETS.messages.show(); + } + }; + if (quiet) { + //Be quiet and cont()inue displaying. + cont(); + } else { + //We have to wait for buzzing to complete before cont()inuing + if(global.WIDGETS && WIDGETS.messages) + WIDGETS.messages.buzz().then(()=>cont()); + else + Bangle.buzz().then(()=>cont()); } - if (!quiet && (!global.WIDGETS || !WIDGETS.messages)) return Bangle.buzz(); // no widgets - just buzz to let someone know - WIDGETS.messages.show(); }, 500); } /// Remove all messages diff --git a/apps/messages/widget.js b/apps/messages/widget.js index ca02d4f1f..93e859446 100644 --- a/apps/messages/widget.js +++ b/apps/messages/widget.js @@ -15,7 +15,7 @@ draw:function(recall) { g.drawImage(settings.flash && (c&1) ? atob("GBiBAAAAAAAAAAAAAAAAAAAAAB//+DAADDAADDAADDwAPD8A/DOBzDDn/DA//DAHvDAPvjAPvjAPvjAPvh///gf/vAAD+AAB8AAAAA==") : atob("GBiBAAAAAAAAAAAAAAAAAAAAAB//+D///D///A//8CP/xDj/HD48DD+B8D/D+D/3vD/vvj/vvj/vvj/vvh/v/gfnvAAD+AAB8AAAAA=="), this.x, this.y-1); } if (settings.repeat===undefined) settings.repeat = 4; - if (c<120 && (Date.now()-this.l)>settings.repeat*1000) { + if (c<120 && settings.repeat>0 && (Date.now()-this.l)>settings.repeat*1000) { this.l = Date.now(); WIDGETS["messages"].buzz(); // buzz every 4 seconds } @@ -33,8 +33,8 @@ draw:function(recall) { WIDGETS["messages"].width=0; Bangle.drawWidgets(); },buzz:function() { - if ((require('Storage').readJSON('setting.json',1)||{}).quiet) return; // never buzz during Quiet Mode - require("buzz").pattern((require('Storage').readJSON("messages.settings.json", true) || {}).vibrate || "."); + if ((require('Storage').readJSON('setting.json',1)||{}).quiet) return new Promise((success) => { success(); }); // never buzz during Quiet Mode + return require("buzz").pattern((require('Storage').readJSON("messages.settings.json", true) || {}).vibrate || "."); },touch:function(b,c) { var w=WIDGETS["messages"]; if (!w||!w.width||c.xw.x+w.width||c.yw.y+w.iconwidth) return; From 893857570e4ba0eaae5b73751e9e48d1bd514149 Mon Sep 17 00:00:00 2001 From: pikipirs Date: Mon, 13 Jun 2022 21:07:30 +0200 Subject: [PATCH 03/32] Rewritten buzzing on new message, widget buzz method rewritten to return a promise --- apps/messages/lib.js | 1 - 1 file changed, 1 deletion(-) diff --git a/apps/messages/lib.js b/apps/messages/lib.js index 7d7677e85..5e1572384 100644 --- a/apps/messages/lib.js +++ b/apps/messages/lib.js @@ -72,7 +72,6 @@ exports.pushMessage = function(event) { Bangle.setLocked(false); Bangle.setLCDPower(1); // turn screen on } - } // after a delay load the app, to ensure we have all the messages if (exports.messageTimeout) clearTimeout(exports.messageTimeout); exports.messageTimeout = setTimeout(function() { From cea1052b3c70d04449a60f78d770d8768da82531 Mon Sep 17 00:00:00 2001 From: pikipirs Date: Tue, 14 Jun 2022 22:47:32 +0200 Subject: [PATCH 04/32] ChangeLog version bump, message --- apps/messages/ChangeLog | 2 ++ 1 file changed, 2 insertions(+) diff --git a/apps/messages/ChangeLog b/apps/messages/ChangeLog index 4b577e191..759d32b05 100644 --- a/apps/messages/ChangeLog +++ b/apps/messages/ChangeLog @@ -53,3 +53,5 @@ 0.38: Add telegram foss handling 0.39: Set default color for message icons according to theme Don't turn on the screen after unread timeout expires (#1873) +0.40: Improved buzzing implementation when receiving notifications + From 143bbf858d606f5b04911041f5bfc747f1ac4fc8 Mon Sep 17 00:00:00 2001 From: Richard de Boer Date: Tue, 9 Aug 2022 15:48:04 +0200 Subject: [PATCH 05/32] messages: Add `getMessages` and `status` functions to library Apps/widgets should use the library instead of opening "messages.json" For #2081 --- apps/messages/ChangeLog | 1 + apps/messages/app.js | 2 +- apps/messages/lib.js | 26 ++++++++++++++++++++++++++ apps/messages/metadata.json | 2 +- apps/messages/widget.js | 8 +------- 5 files changed, 30 insertions(+), 9 deletions(-) diff --git a/apps/messages/ChangeLog b/apps/messages/ChangeLog index 7f7f8d3d3..421bff3e4 100644 --- a/apps/messages/ChangeLog +++ b/apps/messages/ChangeLog @@ -63,3 +63,4 @@ 0.47: Add new Icons (Nextbike, Mattermost, etc.) 0.48: When getting new message from the clock, only buzz once the messages app is loaded 0.49: Change messages icon (to fit within 24px) and ensure widget renders icons centrally +0.50: Add `getMessages` and `status` functions to library \ No newline at end of file diff --git a/apps/messages/app.js b/apps/messages/app.js index 0956b1573..40dff9635 100644 --- a/apps/messages/app.js +++ b/apps/messages/app.js @@ -48,7 +48,7 @@ we should start a timeout for settings.unreadTimeout to return to the clock. */ var unreadTimeout; /// List of all our messages -var MESSAGES = require("Storage").readJSON("messages.json",1)||[]; +var MESSAGES = require("messages").getMessages(); if (!Array.isArray(MESSAGES)) MESSAGES=[]; var onMessagesModified = function(msg) { // TODO: if new, show this new one diff --git a/apps/messages/lib.js b/apps/messages/lib.js index b51180d81..ed14a3247 100644 --- a/apps/messages/lib.js +++ b/apps/messages/lib.js @@ -102,6 +102,32 @@ exports.clearAll = function(event) { WIDGETS.messages.update(messages); } +/** + * @returns {array} All messages + */ +exports.getMessages = function() { + if ("undefined"!=typeof MESSAGES) return MESSAGES; // loaded/managed by app + return require("Storage").readJSON("messages.json",1)||[]; +} + +/** + * Check if there are any messages + * @returns {string} "new"/"old"/"none" + */ + exports.status = function() { + try { + let status= "none"; + for(const m of exports.getMessages()) { + if (["music", "map"].includes(m.id)) continue; + if (m.new) return "new"; + status = "old"; + } + return status; + } catch(e) { + return "none"; // don't bother e.g. the widget with errors + } +}; + exports.getMessageImage = function(msg) { /* * icons should be 24x24px or less with 1bpp colors and 'Transparency to Color' diff --git a/apps/messages/metadata.json b/apps/messages/metadata.json index 408901bfc..da2e0945a 100644 --- a/apps/messages/metadata.json +++ b/apps/messages/metadata.json @@ -1,7 +1,7 @@ { "id": "messages", "name": "Messages", - "version": "0.49", + "version": "0.50", "description": "App to display notifications from iOS and Gadgetbridge/Android", "icon": "app.png", "type": "app", diff --git a/apps/messages/widget.js b/apps/messages/widget.js index 835626f5d..9eaf15eba 100644 --- a/apps/messages/widget.js +++ b/apps/messages/widget.js @@ -1,10 +1,5 @@ (() => { -function getMessages() { - if ("undefined"!=typeof MESSAGES) return MESSAGES; - return require("Storage").readJSON("messages.json",1)||[]; -} - function filterMessages(msgs) { return msgs.filter(msg => msg.new && msg.id != "music") .map(m => m.src) // we only need this for icon/color @@ -82,6 +77,5 @@ WIDGETS["messages"]={area:"tl", width:0, draw:function(recall) { message but then the watch was never viewed. In that case we don't want to buzz but should still show that there are unread messages. */ if (global.MESSAGES===undefined) - WIDGETS["messages"].update(getMessages(), true); - + WIDGETS["messages"].update(require("messages").getMessages(), true); })(); From f088fed7feaf919c18ea551f78391e582bfdf7e5 Mon Sep 17 00:00:00 2001 From: Richard de Boer Date: Tue, 9 Aug 2022 15:51:18 +0200 Subject: [PATCH 06/32] 7x7dotsclock: Use `messages` library to check for new messages Instead of opening "messages.json" directly For #2081 --- apps/7x7dotsclock/7x7dotsclock.app.js | 4 ++-- apps/7x7dotsclock/ChangeLog | 3 ++- apps/7x7dotsclock/metadata.json | 2 +- 3 files changed, 5 insertions(+), 4 deletions(-) diff --git a/apps/7x7dotsclock/7x7dotsclock.app.js b/apps/7x7dotsclock/7x7dotsclock.app.js index aa174b2d2..1626634fb 100644 --- a/apps/7x7dotsclock/7x7dotsclock.app.js +++ b/apps/7x7dotsclock/7x7dotsclock.app.js @@ -269,7 +269,7 @@ function actions(v){ } // Get Messages status -var messages = require("Storage").readJSON("messages.json",1)||[]; +var messages_installed = require("Storage").list(/^messages$/).length > 0; //var BTconnected = NRF.getSecurityStatus().connected; //NRF.on('connect',BTconnected = NRF.getSecurityStatus().connected); @@ -318,7 +318,7 @@ function drawWidgeds() { var x2M = x1M + 25; var y2M = y2B; - if (messages.some(m=>m.new)) { + if (messages_installed && require("messages").status() == "new") { g.setColor(g.theme.fg); g.fillRect(x1M,y1M,x2M,y2M); g.setColor(g.theme.bg); diff --git a/apps/7x7dotsclock/ChangeLog b/apps/7x7dotsclock/ChangeLog index d2c98a472..5e8e48b0b 100644 --- a/apps/7x7dotsclock/ChangeLog +++ b/apps/7x7dotsclock/ChangeLog @@ -1,2 +1,3 @@ 0.01: Initial version for upload -0.02: better theme support, configurable colors, small improvements +0.02: Better theme support, configurable colors, small improvements +0.03: Use `messages` library to check for new messages \ No newline at end of file diff --git a/apps/7x7dotsclock/metadata.json b/apps/7x7dotsclock/metadata.json index 41f0836d3..ba1996544 100644 --- a/apps/7x7dotsclock/metadata.json +++ b/apps/7x7dotsclock/metadata.json @@ -1,7 +1,7 @@ { "id": "7x7dotsclock", "name": "7x7 Dots Clock", "shortName":"7x7 Dots Clock", - "version":"0.02", + "version":"0.03", "description": "A clock with a big 7x7 dots Font", "icon": "dotsfontclock.png", "tags": "clock", From b93e2dd9136c3778d939109abd7f58247c8c6a66 Mon Sep 17 00:00:00 2001 From: Richard de Boer Date: Tue, 9 Aug 2022 16:00:09 +0200 Subject: [PATCH 07/32] hcclock: Use `messages` library to check for new messages Instead of opening "messages.json" directly For #2081 --- apps/hcclock/ChangeLog | 3 ++- apps/hcclock/hcclock.app.js | 28 ++++++++++------------------ apps/hcclock/metadata.json | 2 +- 3 files changed, 13 insertions(+), 20 deletions(-) diff --git a/apps/hcclock/ChangeLog b/apps/hcclock/ChangeLog index f70653d58..289c7ac2d 100644 --- a/apps/hcclock/ChangeLog +++ b/apps/hcclock/ChangeLog @@ -1,3 +1,4 @@ 0.01: Base code 0.02: Saved settings when switching color scheme -0.03: Added Button 3 opening messages (if app is installed) \ No newline at end of file +0.03: Added Button 3 opening messages (if app is installed) +0.04: Use `messages` library to check for new messages \ No newline at end of file diff --git a/apps/hcclock/hcclock.app.js b/apps/hcclock/hcclock.app.js index de5163996..3383f831b 100644 --- a/apps/hcclock/hcclock.app.js +++ b/apps/hcclock/hcclock.app.js @@ -228,27 +228,18 @@ function flipColors() // MESSAGE HANDLING() // -let messages_installed = require("Storage").read("messages.app.js") != undefined; +let messages_installed = require("Storage").list(/^messages$/).length > 0; function handleMessages() { - if(messages_installed && hasMessages() > 0) - { - E.showMessage("Loading Messages..."); - load("messages.app.js"); - } + if(!hasMessages()) return; + E.showMessage("Loading Messages..."); + load("messages.app.js"); } function hasMessages() { - if(!messages_installed) - return false; - - var messages = require("Storage").readJSON("messages.json",1)||[]; - if (messages.some(m=>m.new)) - return true; - else - return false; + return messages_installed && require("messages").status() === 'new'; } let msg = atob("GBiBAAAAAAAAAAAAAAAAAAAAAB//+DAADDAADDAADDwAPD8A/DOBzDDn/DA//DAHvDAPvjAPvjAPvjAPvh///gf/vAAD+AAB8AAAAA=="); @@ -256,20 +247,21 @@ let had_messages = false; function drawMessages() { - if(!had_messages && hasMessages()) { + const has_messages = hasMessages(); + if(has_messages === had_messages) return; + if(has_messages) { g.setColor(255,255,255); g.drawImage(msg, 184, 212); g.setFont("6x8", 2); g.setFontAlign(0, -1, 0); g.drawString(">", 224, 216); - had_messages = true; } - else if (had_messages && !hasMessages()) + else { g.setColor(0,0,0); g.fillRect(180, 210, 240, 240); - had_messages = false; } + had_messages = has_messages; } ////////////////////////////////////////// diff --git a/apps/hcclock/metadata.json b/apps/hcclock/metadata.json index 0d4cbe0cd..b8f8c14b9 100644 --- a/apps/hcclock/metadata.json +++ b/apps/hcclock/metadata.json @@ -1,7 +1,7 @@ { "id": "hcclock", "name": "Hi-Contrast Clock", - "version": "0.03", + "version": "0.04", "description": "Hi-Contrast Clock : A simple yet very bold clock that aims to be readable in high luninosity environments. Uses big 10x5 pixel digits. Use BTN 1 to switch background and foreground colors.", "icon": "hcclock-icon.png", "type": "clock", From 5b1b3553c5a028c595845434762147b28de317a6 Mon Sep 17 00:00:00 2001 From: thyttan <6uuxstm66@mozmail.com⁩> Date: Tue, 6 Sep 2022 18:38:13 +0200 Subject: [PATCH 08/32] Clock apps tell clock widgets to hide --- apps/90sclk/ChangeLog | 3 ++- apps/90sclk/app.js | 5 +++-- apps/90sclk/metadata.json | 2 +- apps/advcasio/ChangeLog | 1 + apps/advcasio/app.js | 3 ++- apps/advcasio/metadata.json | 2 +- apps/animclk/ChangeLog | 2 ++ apps/animclk/app.js | 3 ++- apps/animclk/metadata.json | 2 +- apps/astral/ChangeLog | 1 + apps/astral/app.js | 35 +++++++++++++++++---------------- apps/astral/metadata.json | 2 +- apps/barcode/ChangeLog | 1 + apps/barcode/barcode.app.js | 4 ++-- apps/barcode/metadata.json | 2 +- apps/batclock/ChangeLog | 1 + apps/batclock/bat-clock.app.js | 5 +++-- apps/batclock/metadata.json | 2 +- apps/bclock/ChangeLog | 1 + apps/bclock/clock-binary.js | 6 ++++-- apps/bclock/metadata.json | 2 +- apps/bigdclock/ChangeLog | 1 + apps/bigdclock/bigdclock.app.js | 3 ++- apps/bigdclock/metadata.json | 2 +- apps/binclock/ChangeLog | 1 + apps/binclock/app.js | 6 +++--- apps/binclock/metadata.json | 2 +- apps/binwatch/ChangeLog | 2 ++ apps/binwatch/app.js | 2 +- apps/binwatch/metadata.json | 2 +- 30 files changed, 63 insertions(+), 43 deletions(-) diff --git a/apps/90sclk/ChangeLog b/apps/90sclk/ChangeLog index feb008f5f..057d6ff73 100644 --- a/apps/90sclk/ChangeLog +++ b/apps/90sclk/ChangeLog @@ -1,2 +1,3 @@ 0.01: New App! -0.02: Fullscreen settings. \ No newline at end of file +0.02: Fullscreen settings. +0.03: Tell clock widgets to hide. diff --git a/apps/90sclk/app.js b/apps/90sclk/app.js index 6babbfec2..351c235e0 100644 --- a/apps/90sclk/app.js +++ b/apps/90sclk/app.js @@ -115,6 +115,9 @@ function draw() { } } +// Show launcher when middle button pressed +Bangle.setUI("clock"); + Bangle.loadWidgets(); // Clear the screen once, at startup @@ -140,5 +143,3 @@ Bangle.on('lock', function(isLocked) { }); -// Show launcher when middle button pressed -Bangle.setUI("clock"); diff --git a/apps/90sclk/metadata.json b/apps/90sclk/metadata.json index fb2824a6f..59b627427 100644 --- a/apps/90sclk/metadata.json +++ b/apps/90sclk/metadata.json @@ -1,7 +1,7 @@ { "id": "90sclk", "name": "90s Clock", - "version": "0.02", + "version": "0.03", "description": "A 90s style watch-face", "readme": "README.md", "icon": "app.png", diff --git a/apps/advcasio/ChangeLog b/apps/advcasio/ChangeLog index 7189e4650..a1b528cf6 100644 --- a/apps/advcasio/ChangeLog +++ b/apps/advcasio/ChangeLog @@ -1,2 +1,3 @@ 0.01: AdvCasio first version 0.02: Remove un-needed fonts to improve memory usage +0.03: Tell clock widgets to hide. diff --git a/apps/advcasio/app.js b/apps/advcasio/app.js index f134ce23f..8cb904f90 100644 --- a/apps/advcasio/app.js +++ b/apps/advcasio/app.js @@ -294,9 +294,10 @@ Bangle.on("lock", (locked) => { }); +Bangle.setUI("clock"); + // Load widgets, but don't show them Bangle.loadWidgets(); -Bangle.setUI("clock"); g.reset(); g.clear(); diff --git a/apps/advcasio/metadata.json b/apps/advcasio/metadata.json index bcc47fc79..152f47132 100644 --- a/apps/advcasio/metadata.json +++ b/apps/advcasio/metadata.json @@ -1,7 +1,7 @@ { "id": "advcasio", "name": "Advanced Casio Clock", "shortName":"advcasio", - "version":"0.02", + "version":"0.03", "description": "An over-engineered clock inspired by Casio watches. It has a 4 days weather, a timer using swipe and a scratchpad. Can be updated using a dedicated webapp.", "icon": "app.png", "tags": "clock", diff --git a/apps/animclk/ChangeLog b/apps/animclk/ChangeLog index 348448c34..e2e334d8d 100644 --- a/apps/animclk/ChangeLog +++ b/apps/animclk/ChangeLog @@ -1,3 +1,5 @@ 0.01: New App! 0.02: Fix bug if image clock wasn't installed 0.03: Update to use setUI +0.04; Tell clock widgets to hide. Move loadWidgets() so it only runs on +startup and not on every draw. diff --git a/apps/animclk/app.js b/apps/animclk/app.js index 4bf63daf6..bdc399fbe 100644 --- a/apps/animclk/app.js +++ b/apps/animclk/app.js @@ -87,7 +87,6 @@ if (g.drawImages) { draw(); var secondInterval = setInterval(draw,100); // load widgets - Bangle.loadWidgets(); Bangle.drawWidgets(); // Stop when LCD goes off Bangle.on('lcdPower',on=>{ @@ -104,3 +103,5 @@ if (g.drawImages) { } // Show launcher when button pressed Bangle.setUI("clock"); + +Bangle.loadWidgets(); diff --git a/apps/animclk/metadata.json b/apps/animclk/metadata.json index 31dfe453f..0b426a37d 100644 --- a/apps/animclk/metadata.json +++ b/apps/animclk/metadata.json @@ -2,7 +2,7 @@ "id": "animclk", "name": "Animated Clock", "shortName": "Anim Clock", - "version": "0.03", + "version": "0.04", "description": "An animated clock face using Mark Ferrari's amazing 8 bit game art and palette cycling: http://www.markferrari.com/art/8bit-game-art", "icon": "app.png", "type": "clock", diff --git a/apps/astral/ChangeLog b/apps/astral/ChangeLog index a51c96760..c93c2b6c2 100644 --- a/apps/astral/ChangeLog +++ b/apps/astral/ChangeLog @@ -1,3 +1,4 @@ 0.01: Create astral clock app 0.02: Fixed Whirlpool galaxy RA/DA, larger compass display, fixed moonphase overlapping battery widget 0.03: Update to use Bangle.setUI instead of setWatch +0.04: Tell clock widgets to hide. diff --git a/apps/astral/app.js b/apps/astral/app.js index c445463f2..c4339bc09 100644 --- a/apps/astral/app.js +++ b/apps/astral/app.js @@ -767,6 +767,24 @@ function draw() { g.clear(); current_moonphase = getMoonPhase(); +Bangle.setUI("clockupdown", btn => { + if (btn==0) { + if (!processing) { + if (!modeswitch) { + modeswitch = true; + if (mode == "planetary") mode = "extras"; + else mode = "planetary"; + } + else + modeswitch = false; + } + } else { + if (!processing) + ready_to_compute = true; + } +}); + + // Load widgets Bangle.loadWidgets(); Bangle.drawWidgets(); @@ -799,23 +817,6 @@ Bangle.setGPSPower(1); // Show launcher when button pressed Bangle.setClockMode(); -Bangle.setUI("clockupdown", btn => { - if (btn==0) { - if (!processing) { - if (!modeswitch) { - modeswitch = true; - if (mode == "planetary") mode = "extras"; - else mode = "planetary"; - } - else - modeswitch = false; - } - } else { - if (!processing) - ready_to_compute = true; - } -}); - setWatch(function () { if (!astral_settings.astral_default) { colours_switched = true; diff --git a/apps/astral/metadata.json b/apps/astral/metadata.json index 3317092db..d7120878b 100644 --- a/apps/astral/metadata.json +++ b/apps/astral/metadata.json @@ -1,7 +1,7 @@ { "id": "astral", "name": "Astral Clock", - "version": "0.03", + "version": "0.04", "description": "Clock that calculates and displays Alt Az positions of all planets, Sun as well as several other astronomy targets (customizable) and current Moon phase. Coordinates are calculated by GPS & time and onscreen compass assists orienting. See Readme before using.", "icon": "app-icon.png", "type": "clock", diff --git a/apps/barcode/ChangeLog b/apps/barcode/ChangeLog index 4f99f15ac..7ab5d8587 100644 --- a/apps/barcode/ChangeLog +++ b/apps/barcode/ChangeLog @@ -7,3 +7,4 @@ 0.07: Step count resets at midnight 0.08: Step count stored in memory to survive reloads. Now shows step count daily and since last reboot. 0.09: NOW it really should reset daily (instead of every other day...) +0.10: Tell clock widgets to hide. diff --git a/apps/barcode/barcode.app.js b/apps/barcode/barcode.app.js index 89419f33c..0d9df78d5 100644 --- a/apps/barcode/barcode.app.js +++ b/apps/barcode/barcode.app.js @@ -416,13 +416,13 @@ var layout = new Layout( { // Clear the screen once, at startup g.clear(); +Bangle.setUI("clock"); Bangle.loadWidgets(); Bangle.drawWidgets(); -Bangle.setUI("clock"); layout.render(); Bangle.on('lock', function(locked) { if(!locked) { layout.render(); } -}); \ No newline at end of file +}); diff --git a/apps/barcode/metadata.json b/apps/barcode/metadata.json index cef267b2b..3f6bf06e6 100644 --- a/apps/barcode/metadata.json +++ b/apps/barcode/metadata.json @@ -2,7 +2,7 @@ "name": "Barcode clock", "shortName":"Barcode clock", "icon": "barcode.icon.png", - "version":"0.09", + "version":"0.10", "description": "EAN-8 compatible barcode clock.", "tags": "barcode,ean,ean-8,watchface,clock,clockface", "type": "clock", diff --git a/apps/batclock/ChangeLog b/apps/batclock/ChangeLog index e6e21b146..2a2d91b74 100644 --- a/apps/batclock/ChangeLog +++ b/apps/batclock/ChangeLog @@ -1,2 +1,3 @@ 0.01: App Created! 0.02: Update to use Bangle.setUI instead of setWatch +0.03: Tell clock widgets to hide. diff --git a/apps/batclock/bat-clock.app.js b/apps/batclock/bat-clock.app.js index 31b8f5b9b..dc649160f 100644 --- a/apps/batclock/bat-clock.app.js +++ b/apps/batclock/bat-clock.app.js @@ -249,6 +249,9 @@ g.clear(); g.setColor(0, 0.5, 0).drawImage(bg_crack); g.setColor(1, 1, 1).drawImage(batman); +// Show launcher when button pressed +Bangle.setUI("clock"); + Bangle.loadWidgets(); Bangle.drawWidgets(); @@ -256,5 +259,3 @@ Bangle.drawWidgets(); timeInterval = setInterval(showTime, 1000); showTime(); -// Show launcher when button pressed -Bangle.setUI("clock"); diff --git a/apps/batclock/metadata.json b/apps/batclock/metadata.json index 8aa115780..e6520cb90 100644 --- a/apps/batclock/metadata.json +++ b/apps/batclock/metadata.json @@ -2,7 +2,7 @@ "id": "batclock", "name": "Bat Clock", "shortName": "Bat Clock", - "version": "0.02", + "version": "0.03", "description": "Morphing Clock, with an awesome \"The Dark Knight\" themed logo.", "icon": "bat-clock.png", "screenshots": [{"url":"screenshot.png"}], diff --git a/apps/bclock/ChangeLog b/apps/bclock/ChangeLog index 5b2cf598c..79c198431 100644 --- a/apps/bclock/ChangeLog +++ b/apps/bclock/ChangeLog @@ -1,2 +1,3 @@ 0.02: Modified for use with new bootloader and firmware 0.03: Update to use Bangle.setUI instead of setWatch +0.04: Tell clock widgets to hide. diff --git a/apps/bclock/clock-binary.js b/apps/bclock/clock-binary.js index fdf945ee6..c08a7abe6 100644 --- a/apps/bclock/clock-binary.js +++ b/apps/bclock/clock-binary.js @@ -100,10 +100,12 @@ Bangle.on('lcdPower', on => { if (on) drawClock(); }); +// Show launcher when button pressed +Bangle.setUI("clock"); + g.clear(); Bangle.loadWidgets(); Bangle.drawWidgets(); setInterval(() => { drawClock(); }, 1000); drawClock(); -// Show launcher when button pressed -Bangle.setUI("clock"); + diff --git a/apps/bclock/metadata.json b/apps/bclock/metadata.json index 94219a30b..c6a24d89f 100644 --- a/apps/bclock/metadata.json +++ b/apps/bclock/metadata.json @@ -1,7 +1,7 @@ { "id": "bclock", "name": "Binary Clock", - "version": "0.03", + "version": "0.04", "description": "A simple binary clock watch face", "icon": "clock-binary.png", "type": "clock", diff --git a/apps/bigdclock/ChangeLog b/apps/bigdclock/ChangeLog index 09cc978fb..b373f1876 100644 --- a/apps/bigdclock/ChangeLog +++ b/apps/bigdclock/ChangeLog @@ -3,3 +3,4 @@ 0.03: Internationalisation; bug fix - battery icon responds promptly to charging state 0.04: bug fix 0.05: proper fix for the race condition in queueDraw() +0.06: Tell clock widgets to hide. diff --git a/apps/bigdclock/bigdclock.app.js b/apps/bigdclock/bigdclock.app.js index c013c6188..3adf96984 100644 --- a/apps/bigdclock/bigdclock.app.js +++ b/apps/bigdclock/bigdclock.app.js @@ -85,7 +85,8 @@ Bangle.on('charging', (charging) => { draw(); }); +Bangle.setUI("clock"); + Bangle.loadWidgets(); draw(); -Bangle.setUI("clock"); diff --git a/apps/bigdclock/metadata.json b/apps/bigdclock/metadata.json index 7359bcf20..ce91d921e 100644 --- a/apps/bigdclock/metadata.json +++ b/apps/bigdclock/metadata.json @@ -1,7 +1,7 @@ { "id": "bigdclock", "name": "Big digit clock containing just the essentials", "shortName":"Big digit clk", - "version":"0.05", + "version":"0.06", "description": "A clock containing just the essentials, made as easy to read as possible for those of us that need glasses. It contains the time, the day-of-week, the day-of-month, and the current battery state-of-charge.", "icon": "bigdclock.png", "type": "clock", diff --git a/apps/binclock/ChangeLog b/apps/binclock/ChangeLog index dc4ed8308..7c31cc0d3 100644 --- a/apps/binclock/ChangeLog +++ b/apps/binclock/ChangeLog @@ -1,3 +1,4 @@ 0.01: New App! 0.02: Fixed bug where screen didn't clear so incorrect time displayed. 0.03: Update to use Bangle.setUI instead of setWatch +0.04: Tell clock widgets to hide. diff --git a/apps/binclock/app.js b/apps/binclock/app.js index f8cbe8dd5..d9c74e6ce 100644 --- a/apps/binclock/app.js +++ b/apps/binclock/app.js @@ -164,9 +164,6 @@ Bangle.on('lcdPower',on=>{ draw(); // draw immediately } }); -// Load widgets -Bangle.loadWidgets(); -Bangle.drawWidgets(); // Show launcher when button pressed Bangle.setUI("clockupdown", btn=>{ if (btn!=1) return; @@ -176,3 +173,6 @@ Bangle.setUI("clockupdown", btn=>{ displayTime = 0; } }); +// Load widgets +Bangle.loadWidgets(); +Bangle.drawWidgets(); diff --git a/apps/binclock/metadata.json b/apps/binclock/metadata.json index d17045868..2ca2755a6 100644 --- a/apps/binclock/metadata.json +++ b/apps/binclock/metadata.json @@ -2,7 +2,7 @@ "id": "binclock", "name": "Binary Clock", "shortName": "Binary Clock", - "version": "0.03", + "version": "0.04", "description": "A binary clock with hours and minutes. BTN1 toggles a digital clock.", "icon": "app.png", "type": "clock", diff --git a/apps/binwatch/ChangeLog b/apps/binwatch/ChangeLog index 1e54f489c..e355155b3 100644 --- a/apps/binwatch/ChangeLog +++ b/apps/binwatch/ChangeLog @@ -2,3 +2,5 @@ 0.02: first running version for BangleJs2 0.03: corrected icon, added screen shot, extended description 0.04: corrected format of background image (raw binary) +0.05: move setUI() up before draw() as to not have a false positive 'sanity +check' when building on github. diff --git a/apps/binwatch/app.js b/apps/binwatch/app.js index 28d7a06a5..153bebb32 100644 --- a/apps/binwatch/app.js +++ b/apps/binwatch/app.js @@ -334,6 +334,7 @@ function setRuntimeValues(resolution) { var hour = 0, minute = 1, second = 50; var batVLevel = 20; +Bangle.setUI("clock"); function draw() { var d = new Date(); @@ -371,7 +372,6 @@ function draw() { } // Show launcher when button pressed -Bangle.setUI("clock"); setRuntimeValues(g.getWidth()); g.reset().clear(); Bangle.loadWidgets(); diff --git a/apps/binwatch/metadata.json b/apps/binwatch/metadata.json index 0b5fb2c72..0b4dbc697 100644 --- a/apps/binwatch/metadata.json +++ b/apps/binwatch/metadata.json @@ -3,7 +3,7 @@ "shortName":"BinWatch", "icon": "app.png", "screenshots": [{"url":"screenshot.png"}], - "version":"0.04", + "version":"0.05", "supports": ["BANGLEJS2"], "readme": "README.md", "allow_emulator":true, From 61ad67d32e3d63bd96e2643b660d199ea220a8b3 Mon Sep 17 00:00:00 2001 From: thyttan <6uuxstm66@mozmail.com⁩> Date: Tue, 6 Sep 2022 18:47:26 +0200 Subject: [PATCH 09/32] fix typo --- apps/animclk/ChangeLog | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/animclk/ChangeLog b/apps/animclk/ChangeLog index e2e334d8d..76d15bdb1 100644 --- a/apps/animclk/ChangeLog +++ b/apps/animclk/ChangeLog @@ -1,5 +1,5 @@ 0.01: New App! 0.02: Fix bug if image clock wasn't installed 0.03: Update to use setUI -0.04; Tell clock widgets to hide. Move loadWidgets() so it only runs on +0.04: Tell clock widgets to hide. Move loadWidgets() so it only runs on startup and not on every draw. From 395be5a65d5c2b40377408558f1ac3201d91d9a6 Mon Sep 17 00:00:00 2001 From: thyttan <6uuxstm66@mozmail.com⁩> Date: Tue, 6 Sep 2022 19:32:51 +0200 Subject: [PATCH 10/32] Clock apps tell clock widgets to hide #2 --- apps/blobclk/ChangeLog | 1 + apps/blobclk/clock-blob.js | 6 ++++-- apps/blobclk/metadata.json | 2 +- apps/boldclk/ChangeLog | 1 + apps/boldclk/bold_clock.js | 5 +++-- apps/boldclk/metadata.json | 2 +- apps/calclock/ChangeLog | 1 + apps/calclock/calclock.js | 2 +- apps/calclock/metadata.json | 2 +- apps/cassioWatch/ChangeLog | 3 ++- apps/cassioWatch/app.js | 4 ++-- apps/cassioWatch/metadata.json | 2 +- apps/clockcal/ChangeLog | 1 + apps/clockcal/app.js | 3 ++- apps/clockcal/metadata.json | 2 +- apps/colorful_clock/ChangeLog | 1 + apps/colorful_clock/app.js | 4 ++-- apps/colorful_clock/metadata.json | 2 +- apps/configurable_clock/ChangeLog | 1 + apps/configurable_clock/app.js | 2 +- apps/configurable_clock/metadata.json | 2 +- apps/crowclk/ChangeLog | 1 + apps/crowclk/crow_clock.js | 4 ++-- apps/crowclk/metadata.json | 2 +- apps/fclock/ChangeLog | 1 + apps/fclock/fclock.app.js | 6 +++--- apps/fclock/metadata.json | 2 +- 27 files changed, 39 insertions(+), 26 deletions(-) diff --git a/apps/blobclk/ChangeLog b/apps/blobclk/ChangeLog index 9c4ef5b7b..193eb5024 100644 --- a/apps/blobclk/ChangeLog +++ b/apps/blobclk/ChangeLog @@ -5,3 +5,4 @@ 0.04: Modified to account for changes in the behavior of Graphics.fillPoly 0.05: Slight increase to draw speed after LCD on 0.06: Update to use Bangle.setUI instead of setWatch, allow themes and different size screens +0.07: Tell clock widgets to hide. diff --git a/apps/blobclk/clock-blob.js b/apps/blobclk/clock-blob.js index c84b8a1e6..d23e18ff9 100644 --- a/apps/blobclk/clock-blob.js +++ b/apps/blobclk/clock-blob.js @@ -99,6 +99,10 @@ function startTimers() { Bangle.drawWidgets(); intervalRef = setInterval(redraw,1000); } + +// Show launcher when button pressed +Bangle.setUI("clock"); + Bangle.loadWidgets(); startTimers(); Bangle.on('lcdPower',function(on) { @@ -108,5 +112,3 @@ Bangle.on('lcdPower',function(on) { clearTimers(); } }); -// Show launcher when button pressed -Bangle.setUI("clock"); diff --git a/apps/blobclk/metadata.json b/apps/blobclk/metadata.json index 85d7deabe..3ae8de222 100644 --- a/apps/blobclk/metadata.json +++ b/apps/blobclk/metadata.json @@ -2,7 +2,7 @@ "id": "blobclk", "name": "Large Digit Blob Clock", "shortName": "Blob Clock", - "version": "0.06", + "version": "0.07", "description": "A clock with big digits", "icon": "clock-blob.png", "type": "clock", diff --git a/apps/boldclk/ChangeLog b/apps/boldclk/ChangeLog index 30ac31c61..0c6e8cb52 100644 --- a/apps/boldclk/ChangeLog +++ b/apps/boldclk/ChangeLog @@ -3,3 +3,4 @@ 0.04: Work with themes, smaller screens 0.05: Adjust hand lengths to be within 'tick' points 0.06: Removed "wake LCD on face-up"-feature: A watch-face should not set things like "wake LCD on face-up". +0.07: Tell clock widgets to hide. diff --git a/apps/boldclk/bold_clock.js b/apps/boldclk/bold_clock.js index 9d3ea0756..763530a32 100644 --- a/apps/boldclk/bold_clock.js +++ b/apps/boldclk/bold_clock.js @@ -130,9 +130,10 @@ Bangle.on('lcdPower', (on) => { } }); +// Show launcher when button pressed +Bangle.setUI("clock"); + g.clear(); Bangle.loadWidgets(); Bangle.drawWidgets(); startTimers(); -// Show launcher when button pressed -Bangle.setUI("clock"); diff --git a/apps/boldclk/metadata.json b/apps/boldclk/metadata.json index cf961347d..086203142 100644 --- a/apps/boldclk/metadata.json +++ b/apps/boldclk/metadata.json @@ -1,7 +1,7 @@ { "id": "boldclk", "name": "Bold Clock", - "version": "0.06", + "version": "0.07", "description": "Simple, readable and practical clock", "icon": "bold_clock.png", "screenshots": [{"url":"screenshot_bold.png"}], diff --git a/apps/calclock/ChangeLog b/apps/calclock/ChangeLog index faffda176..b67f29e94 100644 --- a/apps/calclock/ChangeLog +++ b/apps/calclock/ChangeLog @@ -1,2 +1,3 @@ 0.01: Initial version 0.02: More compact rendering & app icon +0.03: Tell clock widgets to hide. diff --git a/apps/calclock/calclock.js b/apps/calclock/calclock.js index 202e3ac20..343d95c04 100644 --- a/apps/calclock/calclock.js +++ b/apps/calclock/calclock.js @@ -114,6 +114,6 @@ g.clear(); fullRedraw(); var minuteInterval = setInterval(redraw, 60 * 1000); +Bangle.setUI("clock"); Bangle.loadWidgets(); Bangle.drawWidgets(); -Bangle.setUI("clock"); diff --git a/apps/calclock/metadata.json b/apps/calclock/metadata.json index f87ee18be..7bac5c721 100644 --- a/apps/calclock/metadata.json +++ b/apps/calclock/metadata.json @@ -2,7 +2,7 @@ "id": "calclock", "name": "Calendar Clock", "shortName": "CalClock", - "version": "0.02", + "version": "0.03", "description": "Show the current and upcoming events synchronized from Gadgetbridge", "icon": "calclock.png", "type": "clock", diff --git a/apps/cassioWatch/ChangeLog b/apps/cassioWatch/ChangeLog index 419810021..883bd2585 100644 --- a/apps/cassioWatch/ChangeLog +++ b/apps/cassioWatch/ChangeLog @@ -8,4 +8,5 @@ 0.7: Update Rocket Sequences Scope to not use memory all time 0.8: Update Some Variable Scopes to not use memory until need 0.9: Remove ESLint spaces -0.10: Show daily steps, heartrate and the temperature if weather information is available. \ No newline at end of file +0.10: Show daily steps, heartrate and the temperature if weather information is available. +0.11: Tell clock widgets to hide. diff --git a/apps/cassioWatch/app.js b/apps/cassioWatch/app.js index 6bbb9e823..91f6737ad 100644 --- a/apps/cassioWatch/app.js +++ b/apps/cassioWatch/app.js @@ -165,11 +165,11 @@ Bangle.on("lock", (locked) => { } }); +Bangle.setUI("clock"); // Load widgets, but don't show them Bangle.loadWidgets(); -Bangle.setUI("clock"); g.reset(); g.clear(); -draw(); \ No newline at end of file +draw(); diff --git a/apps/cassioWatch/metadata.json b/apps/cassioWatch/metadata.json index dabdc2c93..abfee9b93 100644 --- a/apps/cassioWatch/metadata.json +++ b/apps/cassioWatch/metadata.json @@ -4,7 +4,7 @@ "description": "Animated Clock with Space Cassio Watch Style", "screenshots": [{ "url": "screens/screen_night.png" },{ "url": "screens/screen_day.png" }], "icon": "app.png", - "version": "0.10", + "version": "0.11", "type": "clock", "tags": "clock, weather, cassio, retro", "supports": ["BANGLEJS2"], diff --git a/apps/clockcal/ChangeLog b/apps/clockcal/ChangeLog index f18cdb048..27d4fc7f4 100644 --- a/apps/clockcal/ChangeLog +++ b/apps/clockcal/ChangeLog @@ -3,3 +3,4 @@ 0.03: Configurable drag gestures 0.04: Use default Bangle formatter for booleans 0.05: Improved colors (connected vs disconnected) +0.06: Tell clock widgets to hide. diff --git a/apps/clockcal/app.js b/apps/clockcal/app.js index 6d97f22ce..58ddd7ef5 100644 --- a/apps/clockcal/app.js +++ b/apps/clockcal/app.js @@ -1,3 +1,4 @@ +Bangle.setUI("clock"); Bangle.loadWidgets(); var s = Object.assign({ @@ -307,4 +308,4 @@ NRF.on('disconnect', BTevent); dimSeconds = Bangle.isLocked(); drawWatch(); -Bangle.setUI("clock"); + diff --git a/apps/clockcal/metadata.json b/apps/clockcal/metadata.json index e3b92f81f..872211495 100644 --- a/apps/clockcal/metadata.json +++ b/apps/clockcal/metadata.json @@ -1,7 +1,7 @@ { "id": "clockcal", "name": "Clock & Calendar", - "version": "0.05", + "version": "0.06", "description": "Clock with Calendar", "readme":"README.md", "icon": "app.png", diff --git a/apps/colorful_clock/ChangeLog b/apps/colorful_clock/ChangeLog index c72634017..54ee389e3 100644 --- a/apps/colorful_clock/ChangeLog +++ b/apps/colorful_clock/ChangeLog @@ -1,2 +1,3 @@ ... 0.03: First update with ChangeLog Added +0.04: Tell clock widgets to hide. diff --git a/apps/colorful_clock/app.js b/apps/colorful_clock/app.js index afc6b321f..18cb65149 100644 --- a/apps/colorful_clock/app.js +++ b/apps/colorful_clock/app.js @@ -242,6 +242,6 @@ } }); - Bangle.loadWidgets(); - Bangle.setUI('clock'); + + Bangle.loadWidgets(); diff --git a/apps/colorful_clock/metadata.json b/apps/colorful_clock/metadata.json index 5b6dbe87e..237acf81c 100644 --- a/apps/colorful_clock/metadata.json +++ b/apps/colorful_clock/metadata.json @@ -1,7 +1,7 @@ { "id": "colorful_clock", "name": "Colorful Analog Clock", "shortName":"Colorful Clock", - "version":"0.03", + "version":"0.04", "description": "a colorful analog clock", "icon": "app-icon.png", "type": "clock", diff --git a/apps/configurable_clock/ChangeLog b/apps/configurable_clock/ChangeLog index 84e7affed..9d55c1a91 100644 --- a/apps/configurable_clock/ChangeLog +++ b/apps/configurable_clock/ChangeLog @@ -1,2 +1,3 @@ ... 0.02: First update with ChangeLog Added +0.03: Tell clock widgets to hide. diff --git a/apps/configurable_clock/app.js b/apps/configurable_clock/app.js index 157d57741..45c86c7e9 100644 --- a/apps/configurable_clock/app.js +++ b/apps/configurable_clock/app.js @@ -5,6 +5,7 @@ let ScreenWidth = g.getWidth(), CenterX; let ScreenHeight = g.getHeight(), CenterY, outerRadius; + Bangle.setUI('clock'); Bangle.loadWidgets(); /**** updateClockFaceSize ****/ @@ -1377,4 +1378,3 @@ } }); - Bangle.setUI('clock'); diff --git a/apps/configurable_clock/metadata.json b/apps/configurable_clock/metadata.json index 28feae7e4..687a5b212 100644 --- a/apps/configurable_clock/metadata.json +++ b/apps/configurable_clock/metadata.json @@ -1,7 +1,7 @@ { "id": "configurable_clock", "name": "Configurable Analog Clock", "shortName":"Configurable Clock", - "version":"0.02", + "version":"0.03", "description": "an analog clock with several kinds of faces, hands and colors to choose from", "icon": "app-icon.png", "type": "clock", diff --git a/apps/crowclk/ChangeLog b/apps/crowclk/ChangeLog index 4f48bdd14..1c4f6f43b 100644 --- a/apps/crowclk/ChangeLog +++ b/apps/crowclk/ChangeLog @@ -1,3 +1,4 @@ 0.01: New App! 0.02: Removed "wake LCD on face-up"-feature: A watch-face should not set things like "wake LCD on face-up". 0.03: Fix the clock for dark mode. +0.04: Tell clock widgets to hide. diff --git a/apps/crowclk/crow_clock.js b/apps/crowclk/crow_clock.js index eee1653cb..7e608ef19 100644 --- a/apps/crowclk/crow_clock.js +++ b/apps/crowclk/crow_clock.js @@ -136,9 +136,9 @@ Bangle.on('lcdPower', (on) => { g.clear(); +// Show launcher when button pressed +Bangle.setUI("clock"); Bangle.loadWidgets(); Bangle.drawWidgets(); startTimers(); -// Show launcher when button pressed -Bangle.setUI("clock"); diff --git a/apps/crowclk/metadata.json b/apps/crowclk/metadata.json index 6985cf11a..265a0398b 100644 --- a/apps/crowclk/metadata.json +++ b/apps/crowclk/metadata.json @@ -1,7 +1,7 @@ { "id": "crowclk", "name": "Crow Clock", - "version": "0.03", + "version": "0.04", "description": "A simple clock based on Bold Clock that has MST3K's Crow T. Robot for a face", "icon": "crow_clock.png", "screenshots": [{"url":"screenshot_crow.png"}], diff --git a/apps/fclock/ChangeLog b/apps/fclock/ChangeLog index 30e049f69..7e7307c59 100644 --- a/apps/fclock/ChangeLog +++ b/apps/fclock/ChangeLog @@ -1,2 +1,3 @@ 0.01: First published version of app 0.02: Move to Bangle.setUI to launcher support +0.03: Tell clock widgets to hide. diff --git a/apps/fclock/fclock.app.js b/apps/fclock/fclock.app.js index afa0c5e2d..838a5578d 100644 --- a/apps/fclock/fclock.app.js +++ b/apps/fclock/fclock.app.js @@ -173,6 +173,9 @@ const drawHR = function () { } }; +// Show launcher when button pressed +Bangle.setUI("clock"); + // clean app screen g.clear(); Bangle.loadWidgets(); @@ -198,6 +201,3 @@ Bangle.on('HRM', function (d) { // draw now drawClock(); - -// Show launcher when button pressed -Bangle.setUI("clock"); diff --git a/apps/fclock/metadata.json b/apps/fclock/metadata.json index da553e110..dffb197a2 100644 --- a/apps/fclock/metadata.json +++ b/apps/fclock/metadata.json @@ -2,7 +2,7 @@ "id": "fclock", "name": "fclock", "shortName": "F Clock", - "version": "0.02", + "version": "0.03", "description": "Simple design of a digital clock", "icon": "app.png", "type": "clock", From 55e1a7e74f2949ddce0f9da09d1bbfbed5415281 Mon Sep 17 00:00:00 2001 From: thyttan <6uuxstm66@mozmail.com⁩> Date: Tue, 6 Sep 2022 20:29:56 +0200 Subject: [PATCH 11/32] small fix --- apps/colorful_clock/app.js | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/apps/colorful_clock/app.js b/apps/colorful_clock/app.js index 18cb65149..ba6272e9b 100644 --- a/apps/colorful_clock/app.js +++ b/apps/colorful_clock/app.js @@ -3,6 +3,8 @@ let outerRadius = Math.min(CenterX,CenterY) * 0.9; + Bangle.setUI('clock'); + Bangle.loadWidgets(); /**** updateClockFaceSize ****/ @@ -241,7 +243,3 @@ refreshDisplay(); } }); - - Bangle.setUI('clock'); - - Bangle.loadWidgets(); From 0d2093a134000a5aa8ac35041376bf891d0bcd9b Mon Sep 17 00:00:00 2001 From: thyttan <6uuxstm66@mozmail.com⁩> Date: Tue, 6 Sep 2022 20:56:43 +0200 Subject: [PATCH 12/32] Clock app tell clock widgets to hide #3 --- apps/ftclock/ChangeLog | 1 + apps/ftclock/app.js | 5 +++-- apps/ftclock/metadata.json | 2 +- apps/gallifr/ChangeLog | 1 + apps/gallifr/app.js | 6 ++++-- apps/gallifr/metadata.json | 2 +- apps/geissclk/ChangeLog | 1 + apps/geissclk/clock.js | 8 +++++--- apps/geissclk/metadata.json | 2 +- apps/glbasic/ChangeLog | 1 + apps/glbasic/glbasic.app.js | 3 ++- apps/glbasic/metadata.json | 2 +- apps/imgclock/ChangeLog | 1 + apps/imgclock/app.js | 5 +++-- apps/imgclock/metadata.json | 2 +- apps/impwclock/ChangeLog | 1 + apps/impwclock/clock-impword.js | 6 ++++-- apps/impwclock/metadata.json | 2 +- apps/isoclock/ChangeLog | 1 + apps/isoclock/isoclock.js | 6 +++--- apps/isoclock/metadata.json | 2 +- 21 files changed, 38 insertions(+), 22 deletions(-) diff --git a/apps/ftclock/ChangeLog b/apps/ftclock/ChangeLog index 83ec21ee6..c30dae69f 100644 --- a/apps/ftclock/ChangeLog +++ b/apps/ftclock/ChangeLog @@ -1,3 +1,4 @@ 0.01: first release 0.02: RAM efficient version of `fourTwentyTz.js` (as suggested by @gfwilliams). 0.03: `mkFourTwentyTz.js` now handles new timezonedb.com CSV format +0.04: Tell clock widgets to hide. diff --git a/apps/ftclock/app.js b/apps/ftclock/app.js index b12db10f1..4f2cef895 100644 --- a/apps/ftclock/app.js +++ b/apps/ftclock/app.js @@ -33,6 +33,8 @@ function draw() { // Clear the screen once, at startup g.clear(); +// Show launcher when middle button pressed +Bangle.setUI("clock"); // Load widgets Bangle.loadWidgets(); Bangle.drawWidgets(); @@ -47,5 +49,4 @@ Bangle.on('lcdPower',on=>{ drawTimeout = undefined; } }); -// Show launcher when middle button pressed -Bangle.setUI("clock"); + diff --git a/apps/ftclock/metadata.json b/apps/ftclock/metadata.json index 876feb1bb..96a4f84b9 100644 --- a/apps/ftclock/metadata.json +++ b/apps/ftclock/metadata.json @@ -1,7 +1,7 @@ { "id": "ftclock", "name": "Four Twenty Clock", - "version": "0.03", + "version": "0.04", "description": "A clock that tells when and where it's going to be 4:20 next", "icon": "app.png", "screenshots": [{"url":"screenshot.png"}, {"url":"screenshot1.png"}], diff --git a/apps/gallifr/ChangeLog b/apps/gallifr/ChangeLog index 0e1f45042..32c1057b0 100644 --- a/apps/gallifr/ChangeLog +++ b/apps/gallifr/ChangeLog @@ -1,2 +1,3 @@ 0.01: First released version 0.02: Changed setWatch to Bangle.setUI +0.03: Tell clock widgets to hide. diff --git a/apps/gallifr/app.js b/apps/gallifr/app.js index d327bcdc1..8468eee48 100644 --- a/apps/gallifr/app.js +++ b/apps/gallifr/app.js @@ -238,10 +238,12 @@ Bangle.on('lcdPower', (on) => { } }); +// Show launcher when button pressed +Bangle.setUI("clock"); + g.clear(); startTimers(); Bangle.loadWidgets(); drawAll(); -// Show launcher when button pressed -Bangle.setUI("clock"); + diff --git a/apps/gallifr/metadata.json b/apps/gallifr/metadata.json index 9ce7d7f97..96fe243ed 100644 --- a/apps/gallifr/metadata.json +++ b/apps/gallifr/metadata.json @@ -2,7 +2,7 @@ "id": "gallifr", "name": "Time Traveller's Chronometer", "shortName": "Time Travel Clock", - "version": "0.02", + "version": "0.03", "description": "A clock for time travellers. The light pie segment shows the minutes, the black circle, the hour. The dial itself reads 'time' just in case you forget.", "icon": "gallifr.png", "screenshots": [{"url":"screenshot_time.png"}], diff --git a/apps/geissclk/ChangeLog b/apps/geissclk/ChangeLog index 7458fadee..cd46173f7 100644 --- a/apps/geissclk/ChangeLog +++ b/apps/geissclk/ChangeLog @@ -1,3 +1,4 @@ 0.01: New App! 0.02: BTN2->launcher, use smaller text to allow "20:00" to fit on screen 0.03: Changed setWatch to Bangle.setUI +0.04: Tell clock widgets to hide. diff --git a/apps/geissclk/clock.js b/apps/geissclk/clock.js index f14ea5f39..5401fb142 100644 --- a/apps/geissclk/clock.js +++ b/apps/geissclk/clock.js @@ -142,11 +142,13 @@ Bangle.on('lcdPower',function(on) { animInterval = setInterval(iterate, 50); } }); -g.clear(); + +// Show launcher when button pressed +Bangle.setUI("clock");g.clear(); + Bangle.loadWidgets(); Bangle.drawWidgets(); iterate(); animInterval = setInterval(iterate, 50); -// Show launcher when button pressed -Bangle.setUI("clock"); + diff --git a/apps/geissclk/metadata.json b/apps/geissclk/metadata.json index 456854dbd..68bd2a970 100644 --- a/apps/geissclk/metadata.json +++ b/apps/geissclk/metadata.json @@ -1,7 +1,7 @@ { "id": "geissclk", "name": "Geiss Clock", - "version": "0.03", + "version": "0.04", "description": "7 segment clock with animated background in the style of Ryan Geiss' music visualisation. NOTE: The first run will take ~1 minute to do some precalculation", "icon": "clock.png", "type": "clock", diff --git a/apps/glbasic/ChangeLog b/apps/glbasic/ChangeLog index 89aee01f8..d97fd44d5 100644 --- a/apps/glbasic/ChangeLog +++ b/apps/glbasic/ChangeLog @@ -1,2 +1,3 @@ 0.20: New App! +0.21: Tell clock widgets to hide. diff --git a/apps/glbasic/glbasic.app.js b/apps/glbasic/glbasic.app.js index ff7837ada..c1f82f74c 100644 --- a/apps/glbasic/glbasic.app.js +++ b/apps/glbasic/glbasic.app.js @@ -178,6 +178,8 @@ function draw() { //////////////////////////////////////////////////// // Bangle.setBarometerPower(true); +Bangle.setUI("clock"); + Bangle.loadWidgets(); draw(); @@ -197,6 +199,5 @@ Bangle.on('lcdPower', on => { } }); -Bangle.setUI("clock"); Bangle.drawWidgets(); diff --git a/apps/glbasic/metadata.json b/apps/glbasic/metadata.json index 7c79097da..6d4c562a3 100644 --- a/apps/glbasic/metadata.json +++ b/apps/glbasic/metadata.json @@ -2,7 +2,7 @@ "id": "glbasic", "name": "GLBasic Clock", "shortName": "GLBasic", - "version": "0.20", + "version": "0.21", "description": "A clock with large numbers", "dependencies": {"widpedom":"app"}, "icon": "icon48.png", diff --git a/apps/imgclock/ChangeLog b/apps/imgclock/ChangeLog index 29eec7606..0895bb66d 100644 --- a/apps/imgclock/ChangeLog +++ b/apps/imgclock/ChangeLog @@ -8,3 +8,4 @@ 0.07: Don't cut off wide date formats 0.08: Use Bangle.setUI for button/launcher handling 0.09: Bangle.js 2 compatibility +0.10: Tell clock widgets to hide. diff --git a/apps/imgclock/app.js b/apps/imgclock/app.js index aff47061b..7d74bee82 100644 --- a/apps/imgclock/app.js +++ b/apps/imgclock/app.js @@ -72,6 +72,8 @@ g.drawImage(img, 0,OY,bgoptions); // draw clock itself and do it every second draw(); var secondInterval = setInterval(draw,1000); +// Show launcher when button pressed +Bangle.setUI("clock"); // load widgets Bangle.loadWidgets(); Bangle.drawWidgets(); @@ -84,5 +86,4 @@ Bangle.on('lcdPower',on=>{ draw(); } }); -// Show launcher when button pressed -Bangle.setUI("clock"); + diff --git a/apps/imgclock/metadata.json b/apps/imgclock/metadata.json index 9fa1d64c7..94dff5f17 100644 --- a/apps/imgclock/metadata.json +++ b/apps/imgclock/metadata.json @@ -2,7 +2,7 @@ "id": "imgclock", "name": "Image background clock", "shortName": "Image Clock", - "version": "0.09", + "version": "0.10", "description": "A clock with an image as a background", "icon": "app.png", "type": "clock", diff --git a/apps/impwclock/ChangeLog b/apps/impwclock/ChangeLog index 6555fcc8f..0af7c99d6 100644 --- a/apps/impwclock/ChangeLog +++ b/apps/impwclock/ChangeLog @@ -3,3 +3,4 @@ 0.03: Move to Bangle.setUI to launcher support 0.04: Tweaks for compatibility with BangleJS2 0.05: Time-word now readable on Bangle.js 2 +0.06: Tell clock widgets to hide. diff --git a/apps/impwclock/clock-impword.js b/apps/impwclock/clock-impword.js index c42dbda44..04421017b 100644 --- a/apps/impwclock/clock-impword.js +++ b/apps/impwclock/clock-impword.js @@ -154,6 +154,9 @@ Bangle.on('lcdPower', function(on) { if (on) drawWordClock(); }); +// Show launcher when button pressed +Bangle.setUI("clock"); + g.clear(); Bangle.loadWidgets(); Bangle.drawWidgets(); @@ -172,5 +175,4 @@ Bangle.on('touch',e=>{ } }); -// Show launcher when button pressed -Bangle.setUI("clock"); + diff --git a/apps/impwclock/metadata.json b/apps/impwclock/metadata.json index 733dbb957..1b92ea3ae 100644 --- a/apps/impwclock/metadata.json +++ b/apps/impwclock/metadata.json @@ -1,7 +1,7 @@ { "id": "impwclock", "name": "Imprecise Word Clock", - "version": "0.05", + "version": "0.06", "description": "Imprecise word clock for vacations, weekends, and those who never need accurate time.", "icon": "clock-impword.png", "type": "clock", diff --git a/apps/isoclock/ChangeLog b/apps/isoclock/ChangeLog index 809091ce4..7b57ecfa9 100644 --- a/apps/isoclock/ChangeLog +++ b/apps/isoclock/ChangeLog @@ -1,2 +1,3 @@ 0.01: Created app based on digiclock with some small tweaks. 0.02: Swap to Bangle.setUI for launcher/buttons +0.03: Tell clock widgets to hide. diff --git a/apps/isoclock/isoclock.js b/apps/isoclock/isoclock.js index 59f28e66e..7526660b9 100644 --- a/apps/isoclock/isoclock.js +++ b/apps/isoclock/isoclock.js @@ -89,8 +89,8 @@ Bangle.on('lcdPower',on=>{ } }); -Bangle.loadWidgets(); -Bangle.drawWidgets(); - // Show launcher when button pressed Bangle.setUI("clock"); + +Bangle.loadWidgets(); +Bangle.drawWidgets(); diff --git a/apps/isoclock/metadata.json b/apps/isoclock/metadata.json index 313153dde..488afcb41 100644 --- a/apps/isoclock/metadata.json +++ b/apps/isoclock/metadata.json @@ -2,7 +2,7 @@ "id": "isoclock", "name": "ISO Compliant Clock Face", "shortName": "ISO Clock", - "version": "0.02", + "version": "0.03", "description": "Tweaked fork of digiclock for ISO date and time", "icon": "isoclock.png", "type": "clock", From 7b1058e5378b53a538901cb8816e93fd1665d98d Mon Sep 17 00:00:00 2001 From: thyttan <6uuxstm66@mozmail.com⁩> Date: Tue, 6 Sep 2022 21:27:02 +0200 Subject: [PATCH 13/32] Clock apps tell clock widgets to hide #4 --- apps/isoclock/checkout | 0 apps/kanawatch/ChangeLog | 1 + apps/kanawatch/app.js | 4 ++-- apps/kanawatch/metadata.json | 2 +- apps/matrixclock/ChangeLog | 1 + apps/matrixclock/matrixclock.js | 4 +--- apps/matrixclock/metadata.json | 2 +- apps/miclock/ChangeLog | 1 + apps/miclock/clock-mixed.js | 6 ++++-- apps/miclock/metadata.json | 2 +- apps/minimal_clock/ChangeLog | 1 + apps/minimal_clock/app.js | 4 ++-- apps/minimal_clock/metadata.json | 2 +- apps/minionclk/ChangeLog | 1 + apps/minionclk/app | 0 apps/minionclk/app.js | 6 ++++-- 16 files changed, 22 insertions(+), 15 deletions(-) create mode 100644 apps/isoclock/checkout create mode 100644 apps/minionclk/app diff --git a/apps/isoclock/checkout b/apps/isoclock/checkout new file mode 100644 index 000000000..e69de29bb diff --git a/apps/kanawatch/ChangeLog b/apps/kanawatch/ChangeLog index 86a98398e..f2c991fd0 100644 --- a/apps/kanawatch/ChangeLog +++ b/apps/kanawatch/ChangeLog @@ -2,3 +2,4 @@ 0.02: Improve battery life, sprite resolution, fix launcher issue and unaligned text bug 0.03: Reduce code size, refresh once a minute and faster refresh 0.04: Show a random kana every minute to improve learning +0.05: Tell clock widgets to hide. diff --git a/apps/kanawatch/app.js b/apps/kanawatch/app.js index 1e9c0f922..088dab785 100644 --- a/apps/kanawatch/app.js +++ b/apps/kanawatch/app.js @@ -264,10 +264,10 @@ Bangle.on('touch', function (tap, top) { }); g.clear(true); +// show launcher when button pressed +Bangle.setUI('clock'); Bangle.loadWidgets(); tickWatch(); setInterval(tickWatch, 1000 * 60); -// show launcher when button pressed -Bangle.setUI('clock'); diff --git a/apps/kanawatch/metadata.json b/apps/kanawatch/metadata.json index 7183d6cad..b14703979 100644 --- a/apps/kanawatch/metadata.json +++ b/apps/kanawatch/metadata.json @@ -2,7 +2,7 @@ "id": "kanawatch", "name": "Kanawatch", "shortName": "Kanawatch", - "version": "0.04", + "version": "0.05", "type": "clock", "description": "Learn Hiragana and Katakana", "icon": "app.png", diff --git a/apps/matrixclock/ChangeLog b/apps/matrixclock/ChangeLog index ed59e37b0..02f7d109b 100644 --- a/apps/matrixclock/ChangeLog +++ b/apps/matrixclock/ChangeLog @@ -4,3 +4,4 @@ 0.04: Removed "wake LCD on face-up"-feature: A watch-face should not set things like "wake LCD on face-up". 0.05: Added support to other color themes (other then black) 0.06: Added support for 24 hour clock enabled from settings +0.07: Tell clock widgets to hide. diff --git a/apps/matrixclock/matrixclock.js b/apps/matrixclock/matrixclock.js index c7f63dfdc..9618c3a47 100644 --- a/apps/matrixclock/matrixclock.js +++ b/apps/matrixclock/matrixclock.js @@ -328,11 +328,9 @@ Bangle.on('lcdPower', (on) => { } }); +Bangle.setUI("clock"); g.clear(); Bangle.loadWidgets(); Bangle.drawWidgets(); startTimers(); -Bangle.setUI("clock"); - - diff --git a/apps/matrixclock/metadata.json b/apps/matrixclock/metadata.json index eeefb6de4..718b878e5 100644 --- a/apps/matrixclock/metadata.json +++ b/apps/matrixclock/metadata.json @@ -1,7 +1,7 @@ { "id": "matrixclock", "name": "Matrix Clock", - "version": "0.06", + "version": "0.07", "description": "inspired by The Matrix, a clock of the same style", "icon": "matrixclock.png", "screenshots": [{"url":"matrix_green_on_black.jpg"}], diff --git a/apps/miclock/ChangeLog b/apps/miclock/ChangeLog index e92bad2e3..d1ac3e388 100644 --- a/apps/miclock/ChangeLog +++ b/apps/miclock/ChangeLog @@ -2,3 +2,4 @@ 0.03: Localization 0.04: move jshint to the top 0.05: Use Bangle.setUI for button/launcher handling +0.06: Tell clock widgets to hide. diff --git a/apps/miclock/clock-mixed.js b/apps/miclock/clock-mixed.js index b3d6bea8d..cb3235406 100644 --- a/apps/miclock/clock-mixed.js +++ b/apps/miclock/clock-mixed.js @@ -77,11 +77,13 @@ Bangle.on('lcdPower', function(on) { drawMixedClock(); }); +// Show launcher when button pressed +Bangle.setUI("clock"); + g.clear(); Bangle.loadWidgets(); Bangle.drawWidgets(); setInterval(drawMixedClock, 5E3); drawMixedClock(); -// Show launcher when button pressed -Bangle.setUI("clock"); + diff --git a/apps/miclock/metadata.json b/apps/miclock/metadata.json index 6eece46b0..2c216dc33 100644 --- a/apps/miclock/metadata.json +++ b/apps/miclock/metadata.json @@ -1,7 +1,7 @@ { "id": "miclock", "name": "Mixed Clock", - "version": "0.05", + "version": "0.06", "description": "A mix of analog and digital Clock", "icon": "clock-mixed.png", "type": "clock", diff --git a/apps/minimal_clock/ChangeLog b/apps/minimal_clock/ChangeLog index c72634017..54ee389e3 100644 --- a/apps/minimal_clock/ChangeLog +++ b/apps/minimal_clock/ChangeLog @@ -1,2 +1,3 @@ ... 0.03: First update with ChangeLog Added +0.04: Tell clock widgets to hide. diff --git a/apps/minimal_clock/app.js b/apps/minimal_clock/app.js index d78790347..0109b432e 100644 --- a/apps/minimal_clock/app.js +++ b/apps/minimal_clock/app.js @@ -225,6 +225,6 @@ } }); - Bangle.loadWidgets(); - Bangle.setUI('clock'); + + Bangle.loadWidgets(); diff --git a/apps/minimal_clock/metadata.json b/apps/minimal_clock/metadata.json index 1702d97a9..3089780ce 100644 --- a/apps/minimal_clock/metadata.json +++ b/apps/minimal_clock/metadata.json @@ -1,7 +1,7 @@ { "id": "minimal_clock", "name": "Minimal Analog Clock", "shortName":"Minimal Clock", - "version":"0.03", + "version":"0.04", "description": "a minimal analog clock - just with some hands and no clock face", "icon": "app-icon.png", "type": "clock", diff --git a/apps/minionclk/ChangeLog b/apps/minionclk/ChangeLog index a8b6efc81..5949a786d 100644 --- a/apps/minionclk/ChangeLog +++ b/apps/minionclk/ChangeLog @@ -3,3 +3,4 @@ 0.03: Fixed rendering for Espruino v2.06 0.04: Fixed overlapped rendering of dates 0.05: Use Bangle.setUI for button/launcher handling +0.06: Tell clock widgets to hide. diff --git a/apps/minionclk/app b/apps/minionclk/app new file mode 100644 index 000000000..e69de29bb diff --git a/apps/minionclk/app.js b/apps/minionclk/app.js index 9648e3d89..c61f8d3bf 100644 --- a/apps/minionclk/app.js +++ b/apps/minionclk/app.js @@ -78,8 +78,10 @@ Bangle.on('lcdPower', (on) => { } }); +// Show launcher when button pressed +Bangle.setUI("clock"); + Bangle.loadWidgets(); startDrawing(); -// Show launcher when button pressed -Bangle.setUI("clock"); + From 3c291b12a51ce6cc92dc6ea63f4d3f9c2468b29e Mon Sep 17 00:00:00 2001 From: thyttan <6uuxstm66@mozmail.com⁩> Date: Tue, 6 Sep 2022 21:29:05 +0200 Subject: [PATCH 14/32] small fix --- apps/minionclk/metadata.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/minionclk/metadata.json b/apps/minionclk/metadata.json index 44fc2a82d..4df2ddc6b 100644 --- a/apps/minionclk/metadata.json +++ b/apps/minionclk/metadata.json @@ -1,7 +1,7 @@ { "id": "minionclk", "name": "Minion clock", - "version": "0.05", + "version": "0.06", "description": "Minion themed clock.", "icon": "minionclk.png", "type": "clock", From 9a9b82ba19b66c720d1449cd219c9bafbc64db57 Mon Sep 17 00:00:00 2001 From: eleanor <44651387+elykittytee@users.noreply.github.com> Date: Tue, 6 Sep 2022 15:11:19 -0500 Subject: [PATCH 15/32] Create app.js --- apps/distortclk/app.js | 115 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 115 insertions(+) create mode 100644 apps/distortclk/app.js diff --git a/apps/distortclk/app.js b/apps/distortclk/app.js new file mode 100644 index 000000000..ff44063d4 --- /dev/null +++ b/apps/distortclk/app.js @@ -0,0 +1,115 @@ +Graphics.prototype.setFontSixCaps = function(scale) { + // Actual height 60 (59 - 0) + this.setFontCustom(atob("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADMzMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADMzMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAkQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA0VniarM3u4AAAAAAAAAAAAAAAAAAAAAAAAAAABEZoiqzN3u////////8AAAAAAAAAAAAAAAAAAAJFZ4iqzN3u////////////////8AAAAAAAAAAARGZ4mrzd7v////////////////////////8AAAAAAAqszd7v////////////////////////////7u3MoAAAAAAA//////////////////////////7t3MqohmRCAAAAAAAAAA//////////////////7t3MqohmRAAAAAAAAAAAAAAAAAAA/////////+7dzKqYdlQwAAAAAAAAAAAAAAAAAAAAAAAAAA/+7dzKqIZkQQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAZkQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAWazMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMqVAAAAAAAAAa7//////////////////////////////////+oQAAAAAAC/////////////////////////////////////+wAAAAAAf//////////////////////////////////////3AAAAAA3///7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u///9AAAAAA///GREREREREREREREREREREREREREREREREbP//AAAAAA//8wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA///AAAAAA///GREREREREREREREREREREREREREREREREbP//AAAAAA3///7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u///9AAAAAAf//////////////////////////////////////3AAAAAAC/////////////////////////////////////+wAAAAAAAa7//////////////////////////////////+oQAAAAAAAAWazMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMqVAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAqqAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACqoAAAAAAA//AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/8AAAAAAA//AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/8AAAAAAA//3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3/8AAAAAAA//////////////////////////////////////8AAAAAAA//////////////////////////////////////8AAAAAAA//////////////////////////////////////8AAAAAAA3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3/8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADu4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABEQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAes3d3d3d0AAAAAAAAAAAAAAAAAAAAAAAADVorAAAAAAAA8////////8AAAAAAAAAAAAAAAAAAAAlaKze///wAAAAAAHf////////8AAAAAAAAAAAAAAAFGis3v///////wAAAAAAn/////////8AAAAAAAAAAARom83v///////////wAAAAAA7//+3d3d3d0AAAAAAEV5rN7//////////////v/wAAAAAA//xTAAAAAAAAA1eKze//////////////7cqXVP/wAAAAAA//UAAAAAFGis3v/////////////+3Kl2QAAAAP/wAAAAAA//6XZoq83v/////////////+26hkEAAAAAAAAP/wAAAAAA3//////////////////tyoZSAAAAAAAAAAAAAP/wAAAAAAb//////////////tuoZAAAAAAAAAAAAAAAAAAP/wAAAAAACv/////////tuXUwAAAAAAAAAAAAAAAAAAAAAP/wAAAAAAAI3////9yoZAAAAAAAAAAAAAAAAAAAAAAAAAAP/wAAAAAAAAJ4qodRAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKqgAAAAAAAAWazMzMzMzMzAAAAAAAAAAAAAzMzMzMzMzMqVAAAAAAAAAa7//////////wAAAAAAAAAAAA///////////+oQAAAAAADP///////////wAAAAAAAAAAAA/////////////AAAAAAAf////////////wAAAAiIgAAAAA/////////////3AAAAAA3///7u7u7u7u7gAAAA//8AAAAA7u7u7u7u7u///9AAAAAA//11RERERERERAAAAA//8AAAAAREREREREREV9//AAAAAA//QAAAAAAAAAAAAAAB//8QAAAAAAAAAAAAAAAE//AAAAAA//11RERERERERERERa//+lREREREREREREREV9//AAAAAA3///7u7u7u7u7u7u7/////7u7u7u7u7u7u7u///9AAAAAAf//////////////////////////////////////3AAAAAAC/////////////////+q//////////////////+wAAAAAAAa7///////////////0i3////////////////+oQAAAAAAAAWazMzMzMzMzMzMyoIAKKzMzMzMzMzMzMzMqVAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAkRGZniIqqoAAAAAAAAAAAAAAAAAAAAAAkRGZniIqqrMzd3u7v//////8AAAAAAAAAAAAAAAqqrMzd3u7v////////////////////8AAAAAAAAAAAAAAA//////////////////////////////8AAAAAAAAAAAAAAA//////////////////////////////8AAAAAAAAAAAAAAA///////////////+7t3czKqpiHZm//8AAAAAAAAAAAAAAA//7u3dzMuqqIhmZUQwAAAAAAAAAA//8AAAAAAAAAAAAAAAZmREAAAAAAAAAARERERERERERERE//9EREREREQAAAAAAAAAAAAAAAAAAAAA7u7u7u7u7u7u7u///u7u7u7u4AAAAAAAAAAAAAAAAAAAAA////////////////////////8AAAAAAAAAAAAAAAAAAAAA////////////////////////8AAAAAAAAAAAAAAAAAAAAA////////////////////////8AAAAAAAAAAAAAAAAAAAAAzMzMzMzMzMzMzMzMzMzMzMzMwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAARERERERERERERERERERAAABEREREREREREREAAAAAAAAAA7u7u7u7u7u7u7u7u7u7gAADu7u7u7u7u7u7u2TAAAAAAAA///////////////////wAAD//////////////+YAAAAAAA///////////////////wAAD///////////////4wAAAAAA///////////////////wAAD///////////////+gAAAAAA//zMzMzMzMzMzMzM3//AAADMzMzMzMzMzMzM7//wAAAAAA//AAAAAAAAAAAAAG//cAAAAAAAAAAAAAAAAAKf/wAAAAAA//AAAAAAAAAAAAAN//UAAAAAAAAAAAAAAAAAB//wAAAAAA//AAAAAAAAAAAAAP//6qqqqqqqqqqqqqqqqqv//wAAAAAA//AAAAAAAAAAAAAP///////////////////////AAAAAAA//AAAAAAAAAAAAAN//////////////////////9AAAAAAA//AAAAAAAAAAAAAF7/////////////////////gAAAAAAA//AAAAAAAAAAAAAAWu//////////////////7GAAAAAAAAZmAAAAAAAAAAAAAAADZmZmZmZmZmZmZmZmZmQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADREREREREREREREREREREREREREREREREMAAAAAAAAAADne7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7ZMAAAAAAABd////////////////////////////////////1QAAAAAALv/////////////////////////////////////iAAAAAAr//////////////////////////////////////6AAAAAA///szMzMzMzMzMzMzP//zMzMzMzMzMzMzMzM3///AAAAAA//ogAAAAAAAAAAAAC//5AAAAAAAAAAAAAAAACf//AAAAAA//cAAAAAAAAAAAAAD//zAAAAAAAAAAAAAAAABf//AAAAAA//+6qqqqqqqqAAAAD//8qqqqqqqqqqqqqqqqrv//AAAAAAz///////////AAAAD//////////////////////8AAAAAAT///////////AAAADv/////////////////////0AAAAAACP//////////AAAAB/////////////////////+AAAAAAAAGzv////////AAAAAGzv/////////////////sYAAAAAAAAABGZmZmZmZmAAAAAABGZmZmZmZmZmZmZmZmZAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAZmAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACQAAAAAAA//AAAAAAAAAAAAAAAAAAAAAAAAACRGZ4iqrM3e4AAAAAAA//AAAAAAAAAAAAAAACRGZ4iqrM3e7v////////8AAAAAAA//AAAAACRGZ4iqrM3e7v//////////////////8AAAAAAA//iqrM3e7v////////////////////////////8AAAAAAA//////////////////////////////////7u3cwAAAAAAA///////////////////////+7t3MyqmIZmRCAAAAAAAAAA/////////////u3dzLqoiGZUQgAAAAAAAAAAAAAAAAAAAA//7t3cyqqIhmVEEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAZlRAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAWazMzMzMqphjAAAAAAAAAARniqrMzMzMzMqVAAAAAAAAAa7//////////+yWEAAAAVi97////////////+oQAAAAAAC///////////////2VAGrf////////////////+wAAAAAAf////////////////+vP///////////////////3AAAAAA3///7u7u7u7/////////////////7u7u7u7u///9AAAAAA///GRERERERmis3////////typhmREREREREbP//AAAAAA//8wAAAAAAAAAAJ8/////8hgAAAAAAAAAAAAA///AAAAAA///GRERERERWis3////////typhmREREREREbP//AAAAAA3///7u7u7u7/////////////////7u7u7u7u///9AAAAAAf////////////////+vP///////////////////3AAAAAAC///////////////2VAGrf////////////////+wAAAAAAAa7//////////+yWIAAAAVi97////////////+oQAAAAAAAAWazMzMzMqphjAAAAAAAAAARniqrMzMzMzMqVAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA1ZmZmZmZmZmZmZmZmQgAAAAAAZmZmZmZmYwAAAAAAAAAFvv////////////////7rUAAAAA/////////rUAAAAAAAB+////////////////////9gAAAA//////////9wAAAAAAP//////////////////////gAAAA///////////zAAAAAAv//////////////////////wAAAA///////////7AAAAAA///7qqqqqqqqqqqqqqqq3//wAAAAqqqqqqqqrP//AAAAAA//9wAAAAAAAAAAAAAAAAT//wAAAAAAAAAAAAAH//AAAAAA//9wAAAAAAAAAAAAAAAAn//AAAAAAAAAAAAAAZ//AAAAAA///8zMzMzMzMzMzMzMzM///MzMzMzMzMzMzMzf//AAAAAAv//////////////////////////////////////7AAAAAAP//////////////////////////////////////zAAAAAABu////////////////////////////////////5gAAAAAAAEre7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7aQAAAAAAAAAAUREREREREREREREREREREREREREREREREQQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMzMwAAAAAAAAAAAzMzAAAAAAAAAAAAAAAAAAAAAAAAAAAAP//8AAAAAAAAAAA///wAAAAAAAAAAAAAAAAAAAAAAAAAAAP//8AAAAAAAAAAA///wAAAAAAAAAAAAAAAAAAAAAAAAAAAP//8AAAAAAAAAAA///wAAAAAAAAAAAAAAAAAAAAAAAAAAAP//8AAAAAAAAAAA///wAAAAAAAAAAAAAAAAAAAAAAAAAAAMzMwAAAAAAAAAAAzMzAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), 46, atob("CAwODQ4PDw8QDA8QCA=="), 69+(scale<<8)+(4<<16)); + return this; +}; + +const offset = 25; +const width = g.getWidth(); +const height = g.getHeight(); + +const locale = require("locale"); + +var fgTime = 0xf800; +var bgTime = 0x3333ff; +var dayDate = 0x000; + +function time() { //numbers + require("Font4x5").add(Graphics); + + const d = new Date(); + const h = d.getHours(), + m = d.getMinutes(); + + const day = Date.now(); + const mo = d.getMonth()+1; + + var middle= ":"; + + const date = january(d.getMonth())+" "+d.getDate(); + const time = h + " " + ("0" + m).substr(-2); + + // time + //g.setColor(0, 0, 0); + g.setFontAlign(0,0); + g.setFontSixCaps(2).setColor(fgTime).drawString(time, width/2, height/2+10); + + g.setFont("4x5",2); + g.setFontAlign(0,0); + g.setColor(dayDate).drawString(date,width-50, height-16); +} + +function january(month){ //switch case for month names + switch (month){ + case 0: + middle="January"; + return middle; + case 1: + middle="February"; + return middle; + case 2: + middle="March"; + return middle; + case 3: + middle="April"; + return middle; + case 4: + middle="May"; + return middle; + case 5: + middle="June"; + return middle; + case 6: + middle="July"; + return middle; + case 7: + middle="August"; + return middle; + case 8: + middle="September"; + return middle; + case 9: + middle="October"; + return middle; + case 10: + middle="November"; + return middle; + case 11: + middle="December"; + return middle; + } +} + +function draw() { + g.setColor(bgTime).fillRect(0,40,width,height-offset); + time(); +} + +//program start + +g.clear(); // Clear the screen once, at startup + +if (g.theme.dark==true){ + dayDate = 0xffff; +} +else { + dayDate=0x000; +} + +draw(); // draw immediately at first +var secondInterval = setInterval(draw, 1000); // Stop updates when LCD is off, restart when on + +Bangle.on('lcdPower',on=>{ + if (secondInterval) clearInterval(secondInterval); + secondInterval = undefined; + if (on) { + secondInterval = setInterval(draw, 1000); + draw(); // draw immediately + } +}); + +// Show launcher when middle button pressed +Bangle.setUI("clock"); +// Load widgets +Bangle.loadWidgets(); +Bangle.drawWidgets(); From 17e85fb65ae32996b90b00d06636f3052ccf084a Mon Sep 17 00:00:00 2001 From: eleanor <44651387+elykittytee@users.noreply.github.com> Date: Tue, 6 Sep 2022 15:12:43 -0500 Subject: [PATCH 16/32] created ChangeLog --- apps/distortclk/ChangeLog | 1 + 1 file changed, 1 insertion(+) create mode 100644 apps/distortclk/ChangeLog diff --git a/apps/distortclk/ChangeLog b/apps/distortclk/ChangeLog new file mode 100644 index 000000000..9bec1d7a4 --- /dev/null +++ b/apps/distortclk/ChangeLog @@ -0,0 +1 @@ +0.01: New face! From eb6598d1d71acecc8dde380e2ffd2dc977d20e84 Mon Sep 17 00:00:00 2001 From: eleanor <44651387+elykittytee@users.noreply.github.com> Date: Tue, 6 Sep 2022 15:14:23 -0500 Subject: [PATCH 17/32] made a README --- apps/distortclk/README.md | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) create mode 100644 apps/distortclk/README.md diff --git a/apps/distortclk/README.md b/apps/distortclk/README.md new file mode 100644 index 000000000..8c7c433c1 --- /dev/null +++ b/apps/distortclk/README.md @@ -0,0 +1,17 @@ +# Distort Watchface +Was playing around with custom fonts and made something with it +Made for Bangle.js 2 + +![screenshot (3)](https://user-images.githubusercontent.com/44651387/157507228-100452bf-94a6-476f-aec6-d13d5dad86d5.png) + +## Features + +Has a dark mode + +## Requests + +If you have any issues or would like to suggest a feature, click here to send a message -> [here](https://github.com/elykittytee/BangleApps/issues/new?title=Poketch%20Clock%20Bug). + +## Creator + +Eleanor Tayam From 7ed481e4f75fc5f8886019dda345fefb0a8d7434 Mon Sep 17 00:00:00 2001 From: eleanor <44651387+elykittytee@users.noreply.github.com> Date: Tue, 6 Sep 2022 15:15:54 -0500 Subject: [PATCH 18/32] created metadata --- apps/distortclk/metadata.json | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) create mode 100644 apps/distortclk/metadata.json diff --git a/apps/distortclk/metadata.json b/apps/distortclk/metadata.json new file mode 100644 index 000000000..0ede203b5 --- /dev/null +++ b/apps/distortclk/metadata.json @@ -0,0 +1,17 @@ +{ + "id": "distortclk", + "name": "Distort Clock", + "shortName":"Distort Clock", + "version": "0.01", + "description": "A clockface", + "icon": "app.png", + "type": "clock", + "tags": "clock", + "supports": ["BANGLEJS2"], + "allow_emulator": true, + "readme":"README.md", + "storage": [ + {"name":"distortclk.app.js","url":"app.js"}, + {"name":"distortclk.img","url":"app-icon.js","evaluate":true} + ] +} From 8b7a6b6f2b67f7d71c4cc312987c28e69d48bbf9 Mon Sep 17 00:00:00 2001 From: eleanor <44651387+elykittytee@users.noreply.github.com> Date: Tue, 6 Sep 2022 15:16:45 -0500 Subject: [PATCH 19/32] added screenshot --- apps/distortclk/screenshot.png | Bin 0 -> 2926 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 apps/distortclk/screenshot.png diff --git a/apps/distortclk/screenshot.png b/apps/distortclk/screenshot.png new file mode 100644 index 0000000000000000000000000000000000000000..3207b4e1e6cb301c3709f9890c8aa5bc6130d448 GIT binary patch literal 2926 zcmcgui#rqg8=q}0mv$_oq7BQXBRSE;iMcy&p%#iYoN~X-#1O{PLPa5@i%U|u&KWjg ztn@?e7($q0v2>2x+%IkHtbgM7KF|02d7k(Ce!uVYdEd|TKHto9uJ%w_6laJy0a~p01_?vl7x^#b+^Sk4R@V1qC zPRFJZo}O*ODKFQmW4fl7Uj|TlTVg?Yq3><%1lLD2Su(D^&>_IyA0H{-U<4|CBH^!9 z_0N$S(A>=FK3Y)k%j-K;7AF#wy7AzNiHva%L8w@)i~^E}3HHJ~ZUky+8g3aSI-gje z_MDVLB0VKGZKbkK_ZO-S3hiQwSexxkFozbjUml209VG+>DjwyQ4E+LR+*bwK_zi-B zd72n!{C(JX7Iw`mR6U#JF5)kd});UYaOoCm~_N7}4C;V+D z4-MC4Q9Hacg3T|6Z>F=Zv?lK!0^0Df6A5nnGA}=7L`5XO(}0DSW81-di-%GYKBK9yddf4qpj62byG`RX(iBxgL*N z>YB)b6f_)bHO?$}VLolr1k2{$_T@)6-U;QMPqg>H$YiFVEqz-C5_ngiP})cj5ALFo!^)(yiw>gyiGD((ohCoxt-><`!G(Fl&69NxP z2#+vM;-}{EgF~iV=abdG_>^+~EIl1UTGhL0ABMg$g51bck*2~61AiG+9bOrjs|?;8 zP#HzWG$O{ZN~a&iE^}3Jj%}oBGjX|5eWA3%YXzgL`RGbt8Z3bu$4q0Y7z#N8x^I9y zu;h7`RzP*%sBGQ;eJT9y&G_gvJIR<6lQ|i_@2{tDweiwCd%5e?EXlsz1O7o+Pl$G8$ zUw-p=YsHgiTgUvofDvco=Q-*ErznXwB4h|cSuG1HweAp=V*@&_a;cW>^6{>M#@>}i zjF>E1Ijnh$1@toa0Qn|ZWW?H~vb?~qnw~}))k1-$0oYS|Ui2v5eZ11^#xaRYjY)D# zl)PGE@lLDmSibEo7HmtRIjy$z((*B=Zj-7RJxkgic-D^eu`osq#50w~UmNA~#JwSsZE; z*6dN)%7>5`Dj73M6=^*ZLFVmUY#!u4B`A~>w}wHg794lnXlmef)(2ISm|bEqZTcj+vh&h)h z#GXZqf^B&deBPZa(5$&|up}u)<*$XYxh;#HFGpMA}A=^?@9Z;Xf3t6r?}n zPW1=4t*C*EOITl?&(cN$y1hdT@8wbAb1C;7jozEXhC5!D)s-rJ&-v;4N86(iec>ve z-x;lFzuH@Lv#Gr(O;SL-f!oIq7^~08xRc;ptUk~oU`j{`M-}^9=gY_zTJrnIc-k|Y&g{jZYzXNEd9nubw)Mt&x%0N6sHG7VY*|XHXv8s6 z(hsq}2CXsK-u$82lD534TKi9>Ao~)tKz~!ZuT0!%*ryG+r2VQu3(|=HvZ%V_O;vrm zHjZXGH;74R21dw}^q1%4nd*yO(Q0 z@6&ozwK7@vbl6*u4WvaHO)$esPZD{}<&24BAFH-OKeIVNI zsD-3MCPH~LFJqd{gs=4;0_#^rEKLxGZ`Le|QNZI|5{;TOlCKD~@e9>x)66RNb?KSi z)ri_Xr2yW5nN&io>-t=1I$=D`#G(YB<7^v5{E1iRZ-*}aX7KEIkC&HJNPrcnd$nv9 zj$I#`aCsHSc*zOs`Z)^4qzva**ATcevxNcH=7FyfMNPZ8D5RtcX|J`6!9K>x^!AL0 z^|HN8HQU^-O&AJeLt9Xj44jlX*N?J!Wf8UWpbpG|SJrIgod-$|L(g*2G?<`-a;VmE zYyHHN($|CYnMR26*zTu%ibNLMN5hcY4W2a@C9~q7e8$aL?JEql^ySM<+99t2R#iXH z$Zo9#tw66cJEByh5niW9`Hk}=i7Z~V+WYE}S*N=$dvq_DRTda=B z0RL}KO(%PBG!>WYP7Eit68L0}J3Y_NZ+%WuM%dPKc!GcL40P(tAX=he%*0@IzQ5rg z!1&cU(*PoUnj6d}CXTy&*7GeRuT~A{+xvyBWKCDoA7rNFqES&8 z<-mxoEIH|7MyG2`1(^kFM!8{Krm%oJA=a*)pu$yvRMP8T|FlF%er*UmVey-pCBWC; zsa=3|sl6R3o)pWncPAl4s_4_|$ZGb3GOl1C!G4iD&gjbdMg*F$^U`);EQ7rYEQ5{; z22DC}Py9MTuqRPwaY6hSGKZ4UqR)U!9a+@@XK$Zi<~#K>zcK^OKNc(RuT|}7;SFqf ziqpBOKzm%_cs3w=TM^hTDwuGB^2+t>ViN^>upTCFcDaEG(^rLif8wsg^#Z{vMSqblhCi(h832ttyIPXEIr^-EXDomE3 eFe$47C@g1B literal 0 HcmV?d00001 From 1bafd0add9f980846a10912eb4e50164c39503fd Mon Sep 17 00:00:00 2001 From: eleanor <44651387+elykittytee@users.noreply.github.com> Date: Tue, 6 Sep 2022 15:23:29 -0500 Subject: [PATCH 20/32] Add files via upload --- apps/distortclk/iconclk.png | Bin 0 -> 660 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 apps/distortclk/iconclk.png diff --git a/apps/distortclk/iconclk.png b/apps/distortclk/iconclk.png new file mode 100644 index 0000000000000000000000000000000000000000..b82a0913e54306f2a2f6d60ad838cd24cc3a6afc GIT binary patch literal 660 zcmV;F0&D$=P)+EU>6ml|+-?rWSL4`ThLd`@8qnpH;ufWHRT>neUu4bLI@&_)pl; z!Q38Pz%UNS7(U_yUf>x%{jJS)V;bw&Y|%DQL*Jj0j$$xL%MS$0U~UJ=zlPV6ZT6B5XHw;CZ(^ycy{p z+>=M3QLE!Fy29p0$iL!1JH(IV;mt@F8W5evnFjJ#1@hUDO}8TLiJh;>&-8v14>L5< zO@*#E)>@Y$*%ad?Z;xvp-YVic20~v8*_9&E&JyuZ^s~`lYA~lA>3dg151| z{usa3{4!-|re6$we~jN$5ofn~t~9P9UT&ga4gErCjID(+LzcJa@TFqjT04t%66)mw z`JmrDuMBnB<9E@Yh_ID1I4Dn} zi30hQ>af?t(~R_H$XBqx9b!@`%gW-7f_wnCr5pP#+9Gbr&om>=%3}G_wZypmot~AS zc@_HP;oXof>y|Jg)zeMslGHFJ<>rF?>oX?ZiR|mMVhf&@u~#~~c0POSQtfS7_&fRD uc1vHP5ghUB_x8Q?y?u_)9jv*He~+I^e-og$O+3T^0000 Date: Tue, 6 Sep 2022 15:23:55 -0500 Subject: [PATCH 21/32] Delete iconclk.png --- apps/distortclk/iconclk.png | Bin 660 -> 0 bytes 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 apps/distortclk/iconclk.png diff --git a/apps/distortclk/iconclk.png b/apps/distortclk/iconclk.png deleted file mode 100644 index b82a0913e54306f2a2f6d60ad838cd24cc3a6afc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 660 zcmV;F0&D$=P)+EU>6ml|+-?rWSL4`ThLd`@8qnpH;ufWHRT>neUu4bLI@&_)pl; z!Q38Pz%UNS7(U_yUf>x%{jJS)V;bw&Y|%DQL*Jj0j$$xL%MS$0U~UJ=zlPV6ZT6B5XHw;CZ(^ycy{p z+>=M3QLE!Fy29p0$iL!1JH(IV;mt@F8W5evnFjJ#1@hUDO}8TLiJh;>&-8v14>L5< zO@*#E)>@Y$*%ad?Z;xvp-YVic20~v8*_9&E&JyuZ^s~`lYA~lA>3dg151| z{usa3{4!-|re6$we~jN$5ofn~t~9P9UT&ga4gErCjID(+LzcJa@TFqjT04t%66)mw z`JmrDuMBnB<9E@Yh_ID1I4Dn} zi30hQ>af?t(~R_H$XBqx9b!@`%gW-7f_wnCr5pP#+9Gbr&om>=%3}G_wZypmot~AS zc@_HP;oXof>y|Jg)zeMslGHFJ<>rF?>oX?ZiR|mMVhf&@u~#~~c0POSQtfS7_&fRD uc1vHP5ghUB_x8Q?y?u_)9jv*He~+I^e-og$O+3T^0000 Date: Tue, 6 Sep 2022 15:24:30 -0500 Subject: [PATCH 22/32] Add files via upload --- apps/distortclk/app.png | Bin 0 -> 660 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 apps/distortclk/app.png diff --git a/apps/distortclk/app.png b/apps/distortclk/app.png new file mode 100644 index 0000000000000000000000000000000000000000..b82a0913e54306f2a2f6d60ad838cd24cc3a6afc GIT binary patch literal 660 zcmV;F0&D$=P)+EU>6ml|+-?rWSL4`ThLd`@8qnpH;ufWHRT>neUu4bLI@&_)pl; z!Q38Pz%UNS7(U_yUf>x%{jJS)V;bw&Y|%DQL*Jj0j$$xL%MS$0U~UJ=zlPV6ZT6B5XHw;CZ(^ycy{p z+>=M3QLE!Fy29p0$iL!1JH(IV;mt@F8W5evnFjJ#1@hUDO}8TLiJh;>&-8v14>L5< zO@*#E)>@Y$*%ad?Z;xvp-YVic20~v8*_9&E&JyuZ^s~`lYA~lA>3dg151| z{usa3{4!-|re6$we~jN$5ofn~t~9P9UT&ga4gErCjID(+LzcJa@TFqjT04t%66)mw z`JmrDuMBnB<9E@Yh_ID1I4Dn} zi30hQ>af?t(~R_H$XBqx9b!@`%gW-7f_wnCr5pP#+9Gbr&om>=%3}G_wZypmot~AS zc@_HP;oXof>y|Jg)zeMslGHFJ<>rF?>oX?ZiR|mMVhf&@u~#~~c0POSQtfS7_&fRD uc1vHP5ghUB_x8Q?y?u_)9jv*He~+I^e-og$O+3T^0000 Date: Tue, 6 Sep 2022 15:28:24 -0500 Subject: [PATCH 23/32] Create app-icon.js --- apps/distortclk/app-icon.js | 1 + 1 file changed, 1 insertion(+) create mode 100644 apps/distortclk/app-icon.js diff --git a/apps/distortclk/app-icon.js b/apps/distortclk/app-icon.js new file mode 100644 index 000000000..c375de96e --- /dev/null +++ b/apps/distortclk/app-icon.js @@ -0,0 +1 @@ +require("heatshrink").decompress(atob("j0ewkBiIAxHIQMJiBJEIxAaCAIQfHDgIUFDwwNCHYgVFiAVBHYgIDEghKCCIQGCFYoaDAYgORGIJ2DBwYIBHgQOPgAOIPIYOGAgQOFFgh7DHZQeDBwhoFQgh3JEAgOFFoqkHYRzgOfx4bCJ4gNGSIaJEABA7EAGA")) From 4097f19d4e5844258370dd665a026c4db5d04312 Mon Sep 17 00:00:00 2001 From: thyttan <6uuxstm66@mozmail.com⁩> Date: Wed, 7 Sep 2022 00:41:09 +0200 Subject: [PATCH 24/32] Clock apps tell clock widgets to hide #5 --- apps/limelight/ChangeLog | 1 + apps/limelight/limelight.app.js | 3 ++- apps/limelight/metadata.json | 2 +- apps/macwatch2/ChangeLog | 1 + apps/macwatch2/app.js | 2 +- apps/macwatch2/metadata.json | 2 +- apps/mclock/ChangeLog | 1 + apps/mclock/clock-morphing.js | 5 +++-- apps/mclock/metadata.json | 2 +- apps/minimal_clock/app.js | 2 +- apps/mysticclock/ChangeLog | 1 + apps/mysticclock/metadata.json | 2 +- apps/mysticclock/mystic-clock-app.js | 13 +++++++------ apps/ncrclk/ChangeLog | 1 + apps/ncrclk/app.js | 6 +++--- apps/ncrclk/metadata.json | 2 +- apps/novaclock/ChangeLog | 1 + apps/novaclock/app.js | 2 +- apps/novaclock/metadata.json | 2 +- apps/pebble/ChangeLog | 1 + apps/pebble/metadata.json | 2 +- apps/pebble/pebble.app.js | 3 ++- 22 files changed, 34 insertions(+), 23 deletions(-) diff --git a/apps/limelight/ChangeLog b/apps/limelight/ChangeLog index 9db0e26c5..8fe3a0b2c 100644 --- a/apps/limelight/ChangeLog +++ b/apps/limelight/ChangeLog @@ -1 +1,2 @@ 0.01: first release +0.02: Tell clock widgets to hide. diff --git a/apps/limelight/limelight.app.js b/apps/limelight/limelight.app.js index 20d79deeb..84ded1039 100644 --- a/apps/limelight/limelight.app.js +++ b/apps/limelight/limelight.app.js @@ -10,6 +10,8 @@ * */ +Bangle.setUI('clock'); + g.clear(); const SETTINGS_FILE = "limelight.json"; @@ -259,5 +261,4 @@ Bangle.on('lcdPower',on=>{ } }); -Bangle.setUI('clock'); draw(); diff --git a/apps/limelight/metadata.json b/apps/limelight/metadata.json index 7c3736e1a..e484a2825 100644 --- a/apps/limelight/metadata.json +++ b/apps/limelight/metadata.json @@ -1,7 +1,7 @@ { "id": "limelight", "name": "Limelight", - "version": "0.01", + "version": "0.02", "description": "Simple analogue clock (with configurable fonts) based on the work of @Andreas_Rozek (Simple_Clock)", "icon": "limelight.png", "readme":"README.md", diff --git a/apps/macwatch2/ChangeLog b/apps/macwatch2/ChangeLog index 8f1fd496e..5eafe64d2 100644 --- a/apps/macwatch2/ChangeLog +++ b/apps/macwatch2/ChangeLog @@ -2,3 +2,4 @@ 0.02: New icon, shimmied date right a bit 0.03: Incorporated improvements from Peer David for accuracy, fix dark mode, widgets run in background 0.04: Changed clock to use 12/24 hour format based on locale +0.05: Tell clock widgets to hide. diff --git a/apps/macwatch2/app.js b/apps/macwatch2/app.js index d0f3aafaa..4556e06ac 100644 --- a/apps/macwatch2/app.js +++ b/apps/macwatch2/app.js @@ -57,8 +57,8 @@ Bangle.on('lcdPower',on=>{ } }); +Bangle.setUI("clock"); // Load widgets but hide them Bangle.loadWidgets(); draw(); -Bangle.setUI("clock"); diff --git a/apps/macwatch2/metadata.json b/apps/macwatch2/metadata.json index 09e2c5243..14c48c749 100644 --- a/apps/macwatch2/metadata.json +++ b/apps/macwatch2/metadata.json @@ -2,7 +2,7 @@ "name": "MacWatch2", "shortName":"MacWatch2", "icon": "app.png", - "version":"0.04", + "version":"0.05", "description": "Classic Mac Finder clock", "type": "clock", "tags": "clock", diff --git a/apps/mclock/ChangeLog b/apps/mclock/ChangeLog index 05b422406..e3b164942 100644 --- a/apps/mclock/ChangeLog +++ b/apps/mclock/ChangeLog @@ -5,3 +5,4 @@ Fix issue where first digit could get stuck going from "2x:xx" to " x:xx" (fix #365) 0.06: Support 12 hour time 0.07: Use Bangle.setUI for button/launcher handling +0.08: Tell clock widgets to hide. diff --git a/apps/mclock/clock-morphing.js b/apps/mclock/clock-morphing.js index f1254860b..bd133206e 100644 --- a/apps/mclock/clock-morphing.js +++ b/apps/mclock/clock-morphing.js @@ -209,6 +209,9 @@ Bangle.on('lcdPower',function(on) { } }); +// Show launcher when button pressed +Bangle.setUI("clock"); + g.clear(); Bangle.loadWidgets(); Bangle.drawWidgets(); @@ -216,5 +219,3 @@ Bangle.drawWidgets(); timeInterval = setInterval(showTime, 1000); showTime(); -// Show launcher when button pressed -Bangle.setUI("clock"); diff --git a/apps/mclock/metadata.json b/apps/mclock/metadata.json index 513f823a1..a7d56f752 100644 --- a/apps/mclock/metadata.json +++ b/apps/mclock/metadata.json @@ -1,7 +1,7 @@ { "id": "mclock", "name": "Morphing Clock", - "version": "0.07", + "version": "0.08", "description": "7 segment clock that morphs between minutes and hours", "icon": "clock-morphing.png", "type": "clock", diff --git a/apps/minimal_clock/app.js b/apps/minimal_clock/app.js index 0109b432e..47eca3c66 100644 --- a/apps/minimal_clock/app.js +++ b/apps/minimal_clock/app.js @@ -3,6 +3,7 @@ let outerRadius = Math.min(CenterX,CenterY) * 0.9; + Bangle.setUI('clock'); Bangle.loadWidgets(); /**** updateClockFaceSize ****/ @@ -225,6 +226,5 @@ } }); - Bangle.setUI('clock'); Bangle.loadWidgets(); diff --git a/apps/mysticclock/ChangeLog b/apps/mysticclock/ChangeLog index b486a29a1..cd91abe00 100644 --- a/apps/mysticclock/ChangeLog +++ b/apps/mysticclock/ChangeLog @@ -1,2 +1,3 @@ 1.00: First published version. 1.01: Use Bangle.setUI for Launcher/buttons +1.02: Tell clock widgets to hide. diff --git a/apps/mysticclock/metadata.json b/apps/mysticclock/metadata.json index 571a55ecd..bd2df2f8d 100644 --- a/apps/mysticclock/metadata.json +++ b/apps/mysticclock/metadata.json @@ -1,7 +1,7 @@ { "id": "mysticclock", "name": "Mystic Clock", - "version": "1.01", + "version": "1.02", "description": "A retro-inspired watchface featuring time, date, and an interactive data display line.", "icon": "mystic-clock.png", "type": "clock", diff --git a/apps/mysticclock/mystic-clock-app.js b/apps/mysticclock/mystic-clock-app.js index 2d95633fe..d7f4ab1c3 100644 --- a/apps/mysticclock/mystic-clock-app.js +++ b/apps/mysticclock/mystic-clock-app.js @@ -189,6 +189,13 @@ Bangle.on('touch', (button) => { if (button === 3 && Bangle.isLCDOn()) Bangle.setLCDPower(false); }); +// Show launcher when button pressed +Bangle.setUI("clockupdown", btn=>{ + if (btn<0) prevInfo(); + if (btn>0) nextInfo(); + drawAll(); +}); + // clean app screen g.clear(); Bangle.loadWidgets(); @@ -200,9 +207,3 @@ if (Bangle.isLCDOn()) { drawAll(); // draw immediately } -// Show launcher when button pressed -Bangle.setUI("clockupdown", btn=>{ - if (btn<0) prevInfo(); - if (btn>0) nextInfo(); - drawAll(); -}); diff --git a/apps/ncrclk/ChangeLog b/apps/ncrclk/ChangeLog index 31e5d42c8..0c326161a 100644 --- a/apps/ncrclk/ChangeLog +++ b/apps/ncrclk/ChangeLog @@ -1,2 +1,3 @@ 0.01: A copy of the analogimgclk to work for NodeConf Remote 0.02: Use Bangle.setUI for button/launcher handling +0.03: Tell clock widgets to hide. diff --git a/apps/ncrclk/app.js b/apps/ncrclk/app.js index 16724fa5e..805ac1b95 100644 --- a/apps/ncrclk/app.js +++ b/apps/ncrclk/app.js @@ -120,10 +120,10 @@ Bangle.on('lcdPower', (on) => { } }); +// Show launcher when button pressed +Bangle.setUI("clock"); + g.clear(); Bangle.loadWidgets(); Bangle.drawWidgets(); drawHands(true); - -// Show launcher when button pressed -Bangle.setUI("clock"); diff --git a/apps/ncrclk/metadata.json b/apps/ncrclk/metadata.json index b50b554e1..fdab77450 100644 --- a/apps/ncrclk/metadata.json +++ b/apps/ncrclk/metadata.json @@ -2,7 +2,7 @@ "id": "ncrclk", "name": "NCR Clock", "shortName": "NCR Clock", - "version": "0.02", + "version": "0.03", "description": "NodeConf Remote clock", "icon": "app.png", "type": "clock", diff --git a/apps/novaclock/ChangeLog b/apps/novaclock/ChangeLog index b9a5425d1..8b05ff9ec 100644 --- a/apps/novaclock/ChangeLog +++ b/apps/novaclock/ChangeLog @@ -1,2 +1,3 @@ ... 0.10: First update with ChangeLog Added +0.11: Tell clock widgets to hide. diff --git a/apps/novaclock/app.js b/apps/novaclock/app.js index e5bd37b06..52bee0dbd 100644 --- a/apps/novaclock/app.js +++ b/apps/novaclock/app.js @@ -249,13 +249,13 @@ var open = false; var timemode = true; var clockmode; var novaYPos = -7; +Bangle.setUI("clock"); g.clear(); Bangle.loadWidgets(); Bangle.drawWidgets(); g.drawImage(nova(), -10, -10, { scale: 2.2 }); -Bangle.setUI("clock"); g.drawImage(star(), 5, -5, {scale:0.8}); g.drawImage(star(), -10, 120, {scale:0.8}); diff --git a/apps/novaclock/metadata.json b/apps/novaclock/metadata.json index a8a2c0af1..69b7627f8 100644 --- a/apps/novaclock/metadata.json +++ b/apps/novaclock/metadata.json @@ -3,7 +3,7 @@ "shortName":"Nova Clock", "icon": "app.png", "type": "clock", - "version":"0.10", + "version":"0.11", "description": "A clock inspired by the Kirby series", "tags": "clock", "supports": ["BANGLEJS2"], diff --git a/apps/pebble/ChangeLog b/apps/pebble/ChangeLog index 274c34a34..ac894fc00 100644 --- a/apps/pebble/ChangeLog +++ b/apps/pebble/ChangeLog @@ -8,3 +8,4 @@ 0.08: Add theme options and optional lock symbol 0.09: Add support for internationalization (LANG placeholders + "locale" module) Get steps from built-in step counter (widpedom no more needed, fix #1697) +0.10: Tell clock widgets to hide. diff --git a/apps/pebble/metadata.json b/apps/pebble/metadata.json index f3c1fcc12..c5faa8857 100644 --- a/apps/pebble/metadata.json +++ b/apps/pebble/metadata.json @@ -2,7 +2,7 @@ "id": "pebble", "name": "Pebble Clock", "shortName": "Pebble", - "version": "0.09", + "version": "0.10", "description": "A pebble style clock to keep the rebellion going", "readme": "README.md", "icon": "pebble.png", diff --git a/apps/pebble/pebble.app.js b/apps/pebble/pebble.app.js index 774b24c3f..729d0a896 100644 --- a/apps/pebble/pebble.app.js +++ b/apps/pebble/pebble.app.js @@ -133,6 +133,8 @@ Bangle.on('lock', function(on) { drawLock(); }); +Bangle.setUI("clock"); + g.clear(); Bangle.loadWidgets(); @@ -149,4 +151,3 @@ loadThemeColors(); setInterval(draw, 15000); // refresh every 15s draw(); -Bangle.setUI("clock"); From ab15ed66a2584725bf1624a340dbe1085339ba57 Mon Sep 17 00:00:00 2001 From: thyttan <6uuxstm66@mozmail.com⁩> Date: Wed, 7 Sep 2022 00:57:47 +0200 Subject: [PATCH 25/32] Clock apps tell clock widgets to hide #6 --- apps/pebbled/ChangeLog | 1 + apps/pebbled/metadata.json | 2 +- apps/pebbled/pebbled.app.js | 2 +- apps/rclock/ChangeLog | 1 + apps/rclock/metadata.json | 2 +- apps/rclock/rclock.app.js | 5 +++-- apps/rebble/ChangeLog | 3 ++- apps/rebble/metadata.json | 2 +- apps/rebble/rebble.app.js | 27 ++++++++++++++------------- apps/rolex/ChangeLog | 1 + apps/rolex/app.js | 10 ++++------ apps/rolex/metadata.json | 2 +- apps/seiko-5actus/ChangeLog | 1 + apps/seiko-5actus/app.js | 7 +++---- apps/seiko-5actus/metadata.json | 2 +- apps/slidingtext/ChangeLog | 1 + apps/slidingtext/metadata.json | 2 +- apps/slidingtext/slidingtext.js | 9 +++++---- 18 files changed, 43 insertions(+), 37 deletions(-) diff --git a/apps/pebbled/ChangeLog b/apps/pebbled/ChangeLog index 9db0e26c5..8fe3a0b2c 100644 --- a/apps/pebbled/ChangeLog +++ b/apps/pebbled/ChangeLog @@ -1 +1,2 @@ 0.01: first release +0.02: Tell clock widgets to hide. diff --git a/apps/pebbled/metadata.json b/apps/pebbled/metadata.json index c16025f6f..70820f2c8 100644 --- a/apps/pebbled/metadata.json +++ b/apps/pebbled/metadata.json @@ -2,7 +2,7 @@ "id": "pebbled", "name": "Pebble Clock with distance", "shortName": "Pebble + distance", - "version": "0.01", + "version": "0.02", "description": "Fork of Pebble Clock with distance in KM. Both step count and the distance are on the main screen. Default step length = 0.75m (can be changed in settings).", "readme": "README.md", "icon": "pebbled.png", diff --git a/apps/pebbled/pebbled.app.js b/apps/pebbled/pebbled.app.js index bbe98823f..472ac8fff 100644 --- a/apps/pebbled/pebbled.app.js +++ b/apps/pebbled/pebbled.app.js @@ -115,6 +115,7 @@ function getSteps() { return '0'; } +Bangle.setUI("clock"); g.clear(); Bangle.loadWidgets(); /* @@ -126,4 +127,3 @@ for (let wd of WIDGETS) {wd.draw=()=>{};wd.area="";} loadSettings(); setInterval(draw, 15000); // refresh every 15s draw(); -Bangle.setUI("clock"); diff --git a/apps/rclock/ChangeLog b/apps/rclock/ChangeLog index 915fbc5d7..0a86ee3e3 100644 --- a/apps/rclock/ChangeLog +++ b/apps/rclock/ChangeLog @@ -5,3 +5,4 @@ 0.05: Changes which circle show minutes and seconds 0.06: Avoid function wrapper, use setUI for launcher Clock face smaller so no longer breaks widgets +0.07: Tell clock widgets to hide. diff --git a/apps/rclock/metadata.json b/apps/rclock/metadata.json index 77a036481..e5478aa6a 100644 --- a/apps/rclock/metadata.json +++ b/apps/rclock/metadata.json @@ -2,7 +2,7 @@ "id": "rclock", "name": "Round clock with seconds, minutes and date", "shortName": "Round Clock", - "version": "0.06", + "version": "0.07", "description": "Designed round clock with ticks for minutes and seconds and heart rate indication", "icon": "app.png", "type": "clock", diff --git a/apps/rclock/rclock.app.js b/apps/rclock/rclock.app.js index 9c219ab3d..2d6f84dc4 100644 --- a/apps/rclock/rclock.app.js +++ b/apps/rclock/rclock.app.js @@ -196,6 +196,9 @@ const drawHR = function () { } }; +// Show launcher when button pressed +Bangle.setUI("clock"); + // clean app screen g.clear(); Bangle.loadWidgets(); @@ -222,5 +225,3 @@ Bangle.on('HRM', function (d) { // draw now drawClock(); -// Show launcher when button pressed -Bangle.setUI("clock"); diff --git a/apps/rebble/ChangeLog b/apps/rebble/ChangeLog index 4e2e76484..cb2108e8b 100644 --- a/apps/rebble/ChangeLog +++ b/apps/rebble/ChangeLog @@ -6,4 +6,5 @@ 0.06: Add 12h support and autocycle control 0.07: added localization, removed deprecated code 0.08: removed unused font, fix autocycle, imported suncalc and trimmed, removed pedometer dependency, "tap to cycle" setting -0.09: fix battery icon size \ No newline at end of file +0.09: fix battery icon size +0.10: Tell clock widgets to hide. diff --git a/apps/rebble/metadata.json b/apps/rebble/metadata.json index ec7650f53..91d66df3d 100644 --- a/apps/rebble/metadata.json +++ b/apps/rebble/metadata.json @@ -2,7 +2,7 @@ "id": "rebble", "name": "Rebble Clock", "shortName": "Rebble", - "version": "0.09", + "version": "0.10", "description": "A Pebble style clock, with configurable background, three sidebars including steps, day, date, sunrise, sunset, long live the rebellion", "readme": "README.md", "icon": "rebble.png", diff --git a/apps/rebble/rebble.app.js b/apps/rebble/rebble.app.js index fc91fe0ac..1102aa93f 100644 --- a/apps/rebble/rebble.app.js +++ b/apps/rebble/rebble.app.js @@ -292,18 +292,6 @@ function queueDraw() { log_debug("starting.."); -g.clear(); -Bangle.loadWidgets(); -/* - * we are not drawing the widgets as we are taking over the whole screen - * so we will blank out the draw() functions of each widget and change the - * area to the top bar doesn't get cleared. - */ -for (let wd of WIDGETS) {wd.draw=()=>{};wd.area="";} -loadSettings(); -loadLocation(); - - if(settings.autoCycle || settings.sideTap==0) { @@ -318,6 +306,19 @@ else{ } +g.clear(); +Bangle.loadWidgets(); +/* + * we are not drawing the widgets as we are taking over the whole screen + * so we will blank out the draw() functions of each widget and change the + * area to the top bar doesn't get cleared. + */ +for (let wd of WIDGETS) {wd.draw=()=>{};wd.area="";} +loadSettings(); +loadLocation(); + + + draw(); // queues the next draw for a minutes time @@ -331,4 +332,4 @@ Bangle.on('charging', function(charging) { drawSideBar2(); break; } -}); \ No newline at end of file +}); diff --git a/apps/rolex/ChangeLog b/apps/rolex/ChangeLog index a1e2cee0a..447b084f6 100644 --- a/apps/rolex/ChangeLog +++ b/apps/rolex/ChangeLog @@ -2,3 +2,4 @@ 0.02: Minor tweaks for light theme 0.03: Made images 2 bit and fixed theme honoring 0.04: Fixed date font alignment and changed date font to match a real Rolex +0.05: Tell clock widget to hide. diff --git a/apps/rolex/app.js b/apps/rolex/app.js index 124cb6fee..fe9e534d6 100644 --- a/apps/rolex/app.js +++ b/apps/rolex/app.js @@ -44,7 +44,9 @@ let cx = W/2; let cy = H/2; let Timeout; -Bangle.loadWidgets(); +Bangle.setUI("clock"); +// load widgets after 'setUI' so they're aware there is a clock active +Bangle.loadWidgets(); /* Custom version of Bangle.drawWidgets (does not clear the widget areas) Thanks to rozek */ @@ -142,8 +144,4 @@ Bangle.on('lcdPower', (on) => { displayRefresh(); } }); - -Bangle.setUI("clock"); -// load widgets after 'setUI' so they're aware there is a clock active -Bangle.loadWidgets(); -displayRefresh(); \ No newline at end of file +displayRefresh(); diff --git a/apps/rolex/metadata.json b/apps/rolex/metadata.json index f307e60c4..e8627246c 100644 --- a/apps/rolex/metadata.json +++ b/apps/rolex/metadata.json @@ -3,7 +3,7 @@ "shortName":"rolex", "icon": "rolex.png", "screenshots": [{"url":"screenshot1.png"}], - "version":"0.04", + "version":"0.05", "description": "A rolex like watch face", "tags": "clock", "type": "clock", diff --git a/apps/seiko-5actus/ChangeLog b/apps/seiko-5actus/ChangeLog index 978e5d6ea..7d8a35194 100644 --- a/apps/seiko-5actus/ChangeLog +++ b/apps/seiko-5actus/ChangeLog @@ -1,2 +1,3 @@ 0.01: Initial Release 0.02: Shrink hand images to save memory +0.03: Tell clock widgets to hide. diff --git a/apps/seiko-5actus/app.js b/apps/seiko-5actus/app.js index 078b6e5c2..7d5e34f7c 100644 --- a/apps/seiko-5actus/app.js +++ b/apps/seiko-5actus/app.js @@ -52,7 +52,9 @@ let cx = W/2; let cy = H/2; let Timeout; -Bangle.loadWidgets(); +Bangle.setUI("clock"); +// load widgets after 'setUI' so they're aware there is a clock active +Bangle.loadWidgets(); /* Custom version of Bangle.drawWidgets (does not clear the widget areas) Thanks to rozek */ @@ -175,7 +177,4 @@ Bangle.on('lcdPower', (on) => { } }); -Bangle.setUI("clock"); -// load widgets after 'setUI' so they're aware there is a clock active -Bangle.loadWidgets(); displayRefresh(); diff --git a/apps/seiko-5actus/metadata.json b/apps/seiko-5actus/metadata.json index 33de8213b..addd8cb70 100644 --- a/apps/seiko-5actus/metadata.json +++ b/apps/seiko-5actus/metadata.json @@ -3,7 +3,7 @@ "shortName":"5actus", "icon": "seiko-5actus.png", "screenshots": [{"url":"screenshot.png"}], - "version":"0.02", + "version":"0.03", "description": "A watch designed after then Seiko 5actus from the 1970's", "tags": "clock", "type": "clock", diff --git a/apps/slidingtext/ChangeLog b/apps/slidingtext/ChangeLog index b3cf16ac7..1b45c36cb 100644 --- a/apps/slidingtext/ChangeLog +++ b/apps/slidingtext/ChangeLog @@ -7,3 +7,4 @@ 0.07: Support for Bangle.js 2 and themes 0.08: Removed "wake LCD on face-up"-feature: A watch-face should not set things like "wake LCD on face-up". 0.09: Added button control toggle and other live controls to new settings screen. +0.10: Tell clock widgets to hide. diff --git a/apps/slidingtext/metadata.json b/apps/slidingtext/metadata.json index 15707c1ad..49ffaf16f 100644 --- a/apps/slidingtext/metadata.json +++ b/apps/slidingtext/metadata.json @@ -1,7 +1,7 @@ { "id": "slidingtext", "name": "Sliding Clock", - "version": "0.09", + "version": "0.10", "description": "Inspired by the Pebble sliding clock, old times are scrolled off the screen and new times on. You are also able to change language on the fly so you can see the time written in other languages using button 1. Currently English, French, Japanese, Spanish and German are supported", "icon": "slidingtext.png", "type": "clock", diff --git a/apps/slidingtext/slidingtext.js b/apps/slidingtext/slidingtext.js index ae6571121..2f24e5596 100644 --- a/apps/slidingtext/slidingtext.js +++ b/apps/slidingtext/slidingtext.js @@ -647,12 +647,13 @@ Bangle.on('lcdPower', (on) => { g.clear(); load_settings(); -Bangle.loadWidgets(); -Bangle.drawWidgets(); - -startTimers(); // Show launcher when button pressed Bangle.setUI("clockupdown", d=>{ if (d<0) button1pressed(); if (d>0) button3pressed(); }); +Bangle.loadWidgets(); +Bangle.drawWidgets(); + +startTimers(); + From 11e34f73b4450c695f5567da329030c1e7301fdd Mon Sep 17 00:00:00 2001 From: thyttan <6uuxstm66@mozmail.com⁩> Date: Wed, 7 Sep 2022 01:09:46 +0200 Subject: [PATCH 26/32] Clock apps tell clock widgets to hide #7 --- apps/simple_clock/ChangeLog | 1 + apps/simple_clock/app.js | 4 +-- apps/simple_clock/metadata.json | 2 +- apps/stardateclock/ChangeLog | 1 + apps/stardateclock/app.js | 4 +-- apps/stardateclock/metadata.json | 2 +- apps/verticalface/ChangeLog | 1 + apps/verticalface/app.js | 44 ++++++++++++++++---------------- apps/verticalface/metadata.json | 2 +- apps/wclock/ChangeLog | 1 + apps/wclock/clock-word.js | 6 ++--- apps/wclock/metadata.json | 2 +- 12 files changed, 37 insertions(+), 33 deletions(-) diff --git a/apps/simple_clock/ChangeLog b/apps/simple_clock/ChangeLog index 84e7affed..9d55c1a91 100644 --- a/apps/simple_clock/ChangeLog +++ b/apps/simple_clock/ChangeLog @@ -1,2 +1,3 @@ ... 0.02: First update with ChangeLog Added +0.03: Tell clock widgets to hide. diff --git a/apps/simple_clock/app.js b/apps/simple_clock/app.js index 3c1843cb0..9f679beb2 100644 --- a/apps/simple_clock/app.js +++ b/apps/simple_clock/app.js @@ -225,6 +225,6 @@ } }); - Bangle.loadWidgets(); - Bangle.setUI('clock'); + + Bangle.loadWidgets(); diff --git a/apps/simple_clock/metadata.json b/apps/simple_clock/metadata.json index ccec0bfbc..512bcd674 100644 --- a/apps/simple_clock/metadata.json +++ b/apps/simple_clock/metadata.json @@ -1,7 +1,7 @@ { "id": "simple_clock", "name": "Simple Analog Clock", "shortName":"Simple Clock", - "version":"0.02", + "version":"0.03", "description": "a simple, yet stylish, analog clock", "icon": "app-icon.png", "type": "clock", diff --git a/apps/stardateclock/ChangeLog b/apps/stardateclock/ChangeLog index 1b1719352..bb6430b65 100644 --- a/apps/stardateclock/ChangeLog +++ b/apps/stardateclock/ChangeLog @@ -1,2 +1,3 @@ 0.01: Initial release on the app repository for Bangle.js 1 and 2 0.02: Fixed let/const usage while using firmware version >=2v14 +0.03: Tell clock widgets to hide. diff --git a/apps/stardateclock/app.js b/apps/stardateclock/app.js index cdc730970..adf2c14c7 100644 --- a/apps/stardateclock/app.js +++ b/apps/stardateclock/app.js @@ -334,10 +334,10 @@ updateStardate(); updateConventionalTime(); // Make sure widgets can be shown. //g.setColor("#FF0000"); g.fillRect(0, 0, g.getWidth(), widgetsHeight); // debug -Bangle.loadWidgets(); -Bangle.drawWidgets(); // Show launcher on button press as usual for a clock face Bangle.setUI("clock", Bangle.showLauncher); +Bangle.loadWidgets(); +Bangle.drawWidgets(); // Stop updates when LCD is off, restart when on Bangle.on('lcdPower', on => { if (on) { diff --git a/apps/stardateclock/metadata.json b/apps/stardateclock/metadata.json index 9569d3a53..d27b14512 100644 --- a/apps/stardateclock/metadata.json +++ b/apps/stardateclock/metadata.json @@ -3,7 +3,7 @@ "name":"Stardate Clock", "shortName":"Stardate Clock", "description": "A clock displaying a stardate along with a 'standard' digital/analog clock in LCARS design", - "version":"0.02", + "version":"0.03", "icon": "app.png", "type":"clock", "tags": "clock", diff --git a/apps/verticalface/ChangeLog b/apps/verticalface/ChangeLog index 99ab68ec4..dc6c11eab 100644 --- a/apps/verticalface/ChangeLog +++ b/apps/verticalface/ChangeLog @@ -4,3 +4,4 @@ 0.07: Added leading zero to hours and minutes 0.08: Show step count by calling wpedom.getSteps() or activepedom.getSteps() 0.09: Fix time when minutes<10 and hours>9 (fix #767) +0.10: Tell clock widgets to hide. diff --git a/apps/verticalface/app.js b/apps/verticalface/app.js index 4fcae5642..178481047 100644 --- a/apps/verticalface/app.js +++ b/apps/verticalface/app.js @@ -97,6 +97,28 @@ function drawBattery() { // Clear the screen once, at startup g.clear(); +// Show launcher when button pressed +Bangle.setUI("clockupdown", btn=>{ + if (btn!=0) return; + //HRM Controller. + if(!HRMstate){ + //console.log("Toggled HRM"); + //Turn on. + Bangle.buzz(); + Bangle.setHRMPower(1); + currentHRM = "CALC"; + HRMstate = true; + } else if(HRMstate){ + //console.log("Toggled HRM"); + //Turn off. + Bangle.buzz(); + Bangle.setHRMPower(0); + HRMstate = false; + currentHRM = []; + } + drawBPM(HRMstate); +}); + // Load and draw widgets Bangle.loadWidgets(); Bangle.drawWidgets(); @@ -128,28 +150,6 @@ Bangle.on('lcdPower',on=>{ } }); -// Show launcher when button pressed -Bangle.setUI("clockupdown", btn=>{ - if (btn!=0) return; - //HRM Controller. - if(!HRMstate){ - //console.log("Toggled HRM"); - //Turn on. - Bangle.buzz(); - Bangle.setHRMPower(1); - currentHRM = "CALC"; - HRMstate = true; - } else if(HRMstate){ - //console.log("Toggled HRM"); - //Turn off. - Bangle.buzz(); - Bangle.setHRMPower(0); - HRMstate = false; - currentHRM = []; - } - drawBPM(HRMstate); -}); - Bangle.on('touch', function(button) { if(button == 1 || button == 2){ Bangle.showLauncher(); diff --git a/apps/verticalface/metadata.json b/apps/verticalface/metadata.json index da41b3f0d..273070022 100644 --- a/apps/verticalface/metadata.json +++ b/apps/verticalface/metadata.json @@ -2,7 +2,7 @@ "id": "verticalface", "name": "Vertical watch face", "shortName": "Vertical Face", - "version": "0.09", + "version": "0.10", "description": "A simple vertical watch face with the date. Heart rate monitor is toggled with BTN1", "icon": "app.png", "type": "clock", diff --git a/apps/wclock/ChangeLog b/apps/wclock/ChangeLog index 9a2ebdd5f..e50ee6842 100644 --- a/apps/wclock/ChangeLog +++ b/apps/wclock/ChangeLog @@ -1,2 +1,3 @@ 0.02: Modified for use with new bootloader and firmware 0.03: setUI and support for different screens +0.04: Tell clock widgets to hide. diff --git a/apps/wclock/clock-word.js b/apps/wclock/clock-word.js index aff134273..7ddb7bc35 100644 --- a/apps/wclock/clock-word.js +++ b/apps/wclock/clock-word.js @@ -122,11 +122,11 @@ Bangle.on('lcdPower', function(on) { if (on) drawWordClock(); }); +// Show launcher when button pressed +Bangle.setUI("clock"); + g.clear(); Bangle.loadWidgets(); Bangle.drawWidgets(); setInterval(drawWordClock, 1E4); drawWordClock(); - -// Show launcher when button pressed -Bangle.setUI("clock"); diff --git a/apps/wclock/metadata.json b/apps/wclock/metadata.json index f22b53dc1..820af7ac0 100644 --- a/apps/wclock/metadata.json +++ b/apps/wclock/metadata.json @@ -1,7 +1,7 @@ { "id": "wclock", "name": "Word Clock", - "version": "0.03", + "version": "0.04", "description": "Display Time as Text", "icon": "clock-word.png", "screenshots": [{"url":"screenshot_word.png"}], From fcce87588035584cc4424e929c6524788f3f0ba9 Mon Sep 17 00:00:00 2001 From: thyttan <6uuxstm66@mozmail.com⁩> Date: Wed, 7 Sep 2022 01:12:33 +0200 Subject: [PATCH 27/32] small fix --- apps/simple_clock/app.js | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/apps/simple_clock/app.js b/apps/simple_clock/app.js index 9f679beb2..8ac51ed40 100644 --- a/apps/simple_clock/app.js +++ b/apps/simple_clock/app.js @@ -3,6 +3,8 @@ let outerRadius = Math.min(CenterX,CenterY) * 0.9; + Bangle.setUI('clock'); + Bangle.loadWidgets(); /**** updateClockFaceSize ****/ @@ -225,6 +227,3 @@ } }); - Bangle.setUI('clock'); - - Bangle.loadWidgets(); From 097730245aa08b4020309445c90cfb4178de956b Mon Sep 17 00:00:00 2001 From: Gordon Williams Date: Wed, 7 Sep 2022 09:20:58 +0100 Subject: [PATCH 28/32] minor readability tweak when checking for messages --- apps/7x7dotsclock/7x7dotsclock.app.js | 36 +++++++++++++-------------- apps/hcclock/hcclock.app.js | 14 +++++------ 2 files changed, 25 insertions(+), 25 deletions(-) diff --git a/apps/7x7dotsclock/7x7dotsclock.app.js b/apps/7x7dotsclock/7x7dotsclock.app.js index 1626634fb..aa6672a4f 100644 --- a/apps/7x7dotsclock/7x7dotsclock.app.js +++ b/apps/7x7dotsclock/7x7dotsclock.app.js @@ -149,11 +149,11 @@ function drawHSeg(x1,y1,x2,y2,Num,Color,Size) { if (Color == "fg") { g.setColor(g.theme.fg); } else { - g.setColor(mColor[0],mColor[1],mColor[2]); + g.setColor(mColor[0],mColor[1],mColor[2]); } g.fillCircle(x1+Dx+(i-1)*(x2-x1)/7,y1+Dy+(j-1)*(y2-y1)/7,Size); } else { - g.setColor(bColor[0],bColor[1],bColor[2]); + g.setColor(bColor[0],bColor[1],bColor[2]); g.fillCircle(x1+Dx+(i-1)*(x2-x1)/7,y1+Dy+(j-1)*(y2-y1)/7,1); } } @@ -166,7 +166,7 @@ function drawSSeg(x1,y1,x2,y2,Num,Color,Size) { for (let j = 1; j < 8; j++) { if (Font[Num][j-1][i-1] == 1) { if (Color == "fg") { - g.setColor(sColor[0],sColor[1],sColor[2]); + g.setColor(sColor[0],sColor[1],sColor[2]); } else { g.setColor(g.theme.fg); //g.setColor(0.7,0.7,0.7); @@ -253,8 +253,8 @@ function actions(v){ if(BTN1.read() === true) { print("BTN pressed"); Bangle.showLauncher(); - } - + } + if(v==-1){ print("up swipe event"); if(settings.swupApp != "") load(settings.swupApp); @@ -269,7 +269,7 @@ function actions(v){ } // Get Messages status -var messages_installed = require("Storage").list(/^messages$/).length > 0; +var messages_installed = require("Storage").read("messages") !== undefined; //var BTconnected = NRF.getSecurityStatus().connected; //NRF.on('connect',BTconnected = NRF.getSecurityStatus().connected); @@ -289,27 +289,27 @@ function drawWidgeds() { g.setColor((g.getBPP()>8) ? "#07f" : (g.theme.dark ? "#0ff" : "#00f")); else g.setColor(g.theme.dark ? "#666" : "#999"); - g.drawImage(atob("CxQBBgDgFgJgR4jZMawfAcA4D4NYybEYIwTAsBwDAA=="),x1Bt,y1Bt); + g.drawImage(atob("CxQBBgDgFgJgR4jZMawfAcA4D4NYybEYIwTAsBwDAA=="),x1Bt,y1Bt); + - //Battery //print(E.getBattery()); //print(Bangle.isCharging()); - + var x1B = 130; var y1B = 2; var x2B = x1B + 20; var y2B = y1B + 15; - + g.setColor(g.theme.bg); g.clearRect(x1B,y1B,x2B,y2B); - + g.setColor(g.theme.fg); g.drawRect(x1B,y1B,x2B,y2B); g.fillRect(x1B,y1B,x1B+(E.getBattery()*(x2B-x1B)/100),y2B); g.fillRect(x2B,y1B+(y2B-y1B)/2-3,x2B+4,y1B+(y2B-y1B)/2+3); - + //Messages @@ -325,18 +325,18 @@ function drawWidgeds() { g.drawLine(x1M,y1M,x1M+(x2M-x1M)/2,y1M+(y2M-y1M)/2); g.drawLine(x1M+(x2M-x1M)/2,y1M+(y2M-y1M)/2,x2M,y1M); } - + var strDow = ['Sun','Mon','Tue','Wed','Thu','Fri','Sat']; var d = new Date(); var dow = d.getDay(),day = d.getDate(), month = d.getMonth() + 1, year = d.getFullYear(); print(strDow[dow] + ' ' + day + '.' + month + ' ' + year); - + g.setColor(g.theme.fg); g.setFontAlign(-1, -1,0); g.setFont("Vector", 20); g.drawString(strDow[dow] + ' ' + day, 0, 0, true); - + } @@ -354,7 +354,7 @@ function SetFull(on) { } else { Ys = 30; Bangle.setUI("updown",actions); - Bangle.on('swipe', function(direction) { + Bangle.on('swipe', function(direction) { switch (direction) { case 1: print("swipe left event"); @@ -362,7 +362,7 @@ function SetFull(on) { print(settings.swleftApp); break; case -1: - print("swipe right event"); + print("swipe right event"); if(settings.swrightApp != "") load(settings.swrightApp); print(settings.swrightApp); break; @@ -374,7 +374,7 @@ function SetFull(on) { SegH = (Ye-Ys)/2; Dy = SegH/16; - + draw(); if (on != true) { diff --git a/apps/hcclock/hcclock.app.js b/apps/hcclock/hcclock.app.js index 3383f831b..9558c052b 100644 --- a/apps/hcclock/hcclock.app.js +++ b/apps/hcclock/hcclock.app.js @@ -3,7 +3,7 @@ // Numbers Rect order (left, top, right, bottom) // Each number defines a set of rects to draw -const numbers = +const numbers = [ [// Zero [0, 0, 1, 0.2], @@ -64,7 +64,7 @@ const numbers = [0, 0.8, 1, 1], [0, 0, 0.1, 0.6], [0.9, 0, 1, 1] - ] + ] ]; const months = [ "JAN", "FEB", "MAR", "APR", "MAY", "JUN", "JUL", "AUG", "SEP", "OCT", "NOV", "DEC" ]; @@ -103,7 +103,7 @@ function updateTime() let mo = now.getMonth(); let y = now.getFullYear(); let d = now.getDate(); - + if(h != hour) { hour = h; @@ -127,7 +127,7 @@ function updateTime() day = d; g.setFont("6x8", 2); g.setFontAlign(0, -1, 0); - g.drawString(fmtDate(d,mo,y,hour), 120, 120); + g.drawString(fmtDate(d,mo,y,hour), 120, 120); } drawMessages(); } @@ -136,7 +136,7 @@ function drawDigits(x, value) { if(!Bangle.isLCDOn()) // No need to draw when LCD Off return; - + drawChar(Math.floor(value/10), 15, x, 115, x+50); if(value%10 == 1) drawChar(value%10, 55, x, 155, x+50); @@ -228,7 +228,7 @@ function flipColors() // MESSAGE HANDLING() // -let messages_installed = require("Storage").list(/^messages$/).length > 0; +let messages_installed = require("Storage").read("messages") !== undefined; function handleMessages() { @@ -255,7 +255,7 @@ function drawMessages() g.setFont("6x8", 2); g.setFontAlign(0, -1, 0); g.drawString(">", 224, 216); - } + } else { g.setColor(0,0,0); From f952e17258afc90104f991f670cd183c3d8a5401 Mon Sep 17 00:00:00 2001 From: Gordon Williams Date: Wed, 7 Sep 2022 09:53:22 +0100 Subject: [PATCH 29/32] messages: Option to make message icons monochrome (not colored) (fix #2043) --- apps/messages/ChangeLog | 3 ++- apps/messages/lib.js | 10 +++++----- apps/messages/settings.js | 9 +++++++++ 3 files changed, 16 insertions(+), 6 deletions(-) diff --git a/apps/messages/ChangeLog b/apps/messages/ChangeLog index 74f8b0212..ac2ace30d 100644 --- a/apps/messages/ChangeLog +++ b/apps/messages/ChangeLog @@ -64,4 +64,5 @@ 0.48: When getting new message from the clock, only buzz once the messages app is loaded 0.49: Change messages icon (to fit within 24px) and ensure widget renders icons centrally 0.50: Add `getMessages` and `status` functions to library - Option to disable auto-open of messages \ No newline at end of file + Option to disable auto-open of messages + Option to make message icons monochrome (not colored) diff --git a/apps/messages/lib.js b/apps/messages/lib.js index 631099936..d8599c93d 100644 --- a/apps/messages/lib.js +++ b/apps/messages/lib.js @@ -144,7 +144,6 @@ exports.getMessageImage = function(msg) { if (s=="gmx") return atob("GBgBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHEJmfmd8Zuc85v847/88Z9s8fttmHIHiAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"); if (s=="google") return atob("GBiBAAAAAAD/AAP/wAf/4A/D4B8AwDwAADwAAHgAAHgAAHAAAHAH/nAH/nAH/ngH/ngAHjwAPDwAfB8A+A/D8Af/4AP/wAD/AAAAAA=="); if (s=="google home") return atob("GBiCAAAAAAAAAAAAAAAAAAAAAoAAAAAACqAAAAAAKqwAAAAAqroAAAACquqAAAAKq+qgAAAqr/qoAACqv/6qAAKq//+qgA6r///qsAqr///6sAqv///6sAqv///6sAqv///6sA6v///6sA6v///qsA6qqqqqsA6qqqqqsA6qqqqqsAP7///vwAAAAAAAAAAAAAAAAA=="); // 2 bit unpaletted - if (s=="hangouts") return atob("FBaBAAH4AH/gD/8B//g//8P//H5n58Y+fGPnxj5+d+fmfj//4//8H//B//gH/4A/8AA+AAHAABgAAAA="); if (s=="home assistant") return atob("FhaBAAAAAADAAAeAAD8AAf4AD/3AfP8D7fwft/D/P8ec572zbzbNsOEhw+AfD8D8P4fw/z/D/P8P8/w/z/AAAAA="); if (s=="instagram") return atob("GBiBAAAAAAAAAAAAAAAAAAP/wAYAYAwAMAgAkAh+EAjDEAiBEAiBEAiBEAiBEAjDEAh+EAgAEAwAMAYAYAP/wAAAAAAAAAAAAAAAAA=="); if (s=="kalender") return atob("GBgBBgBgBQCgff++RQCiRgBiQAACf//+QAACQAACR//iRJkiRIEiR//iRNsiRIEiRJkiR//iRIEiRIEiR//iQAACQAACf//+AAAA"); @@ -178,11 +177,14 @@ exports.getMessageImage = function(msg) { }; exports.getMessageImageCol = function(msg,def) { + let iconColorMode = (require('Storage').readJSON("messages.settings.json", 1) || {}).iconColorMode; + if (iconColorMode == 'mono') + return g.theme.fg; const s = (("string"=== typeof msg) ? msg : (msg.src || "")).toLowerCase(); return { // generic colors, using B2-safe colors + // DO NOT USE BLACK OR WHITE HERE, just leave the declaration out and then the theme's fg color will be used "airbnb": "#f00", - "alarm": "#fff", "mail": "#ff0", "music": "#f0f", "phone": "#0f0", @@ -198,8 +200,7 @@ exports.getMessageImageCol = function(msg,def) { "gmx": "#1c449b", "google": "#4285F4", "google home": "#fbbc05", - "hangouts": "#1ba261", - "home assistant": "#fff", // ha-blue is #41bdf5, but that's the background +// "home assistant": "#41bdf5", // ha-blue is #41bdf5, but that's the background "instagram": "#dd2a7b", "lieferando": "#ee5c00", "messenger": "#0078ff", @@ -220,7 +221,6 @@ exports.getMessageImageCol = function(msg,def) { "teams": "#464eb8", "telegram": "#0088cc", "telegram foss": "#0088cc", - "threema": "#000", "to do": "#3999e5", "twitch": "#6441A4", "twitter": "#1da1f2", diff --git a/apps/messages/settings.js b/apps/messages/settings.js index 7d90f6aea..0edb17797 100644 --- a/apps/messages/settings.js +++ b/apps/messages/settings.js @@ -1,4 +1,6 @@ (function(back) { + const iconColorModes = ['color', 'mono']; + function settings() { let settings = require('Storage').readJSON("messages.settings.json", true) || {}; if (settings.vibrate===undefined) settings.vibrate=":"; @@ -7,6 +9,7 @@ if (settings.vibrateTimeout===undefined) settings.vibrateTimeout=60; if (settings.unreadTimeout===undefined) settings.unreadTimeout=60; if (settings.maxMessages===undefined) settings.maxMessages=3; + if (settings.iconColorMode === undefined) settings.iconColorMode = iconColorModes[0]; settings.unlockWatch=!!settings.unlockWatch; settings.openMusic=!!settings.openMusic; settings.maxUnreadTimeout=240; @@ -72,6 +75,12 @@ value:0|settings().maxMessages, min: 1, max: 5, onchange: v => updateSetting("maxMessages", v) + }, + /*LANG*/'Icon color mode': { + value: Math.max(0,iconColorModes.indexOf(settings().iconColorMode)), + min: 0, max: iconColorModes.length - 1, + format: v => iconColorModes[v], + onchange: v => updateSetting("iconColorMode", iconColorModes[v]) } }; E.showMenu(mainmenu); From 67e8beea7cf79c0779f8a50e4832be8193f7c14b Mon Sep 17 00:00:00 2001 From: Gordon Williams Date: Wed, 7 Sep 2022 10:16:20 +0100 Subject: [PATCH 30/32] oops - merge error --- apps/messages/widget.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/messages/widget.js b/apps/messages/widget.js index 99d98ca77..a5e1f8b6c 100644 --- a/apps/messages/widget.js +++ b/apps/messages/widget.js @@ -57,7 +57,7 @@ WIDGETS["messages"]={area:"tl", width:0, draw:function(recall) { this.width = 24 * E.clip(this.msgs.length, 0, settings.maxMessages); Bangle.drawWidgets(); },buzz:function(msgSrc) { // return a promise - if ((require('Storage').readJSON('setting.json',1)||{}).quiet) return Promise.,resolve(); // never buzz during Quiet Mode + if ((require('Storage').readJSON('setting.json',1)||{}).quiet) return Promise.resolve(); // never buzz during Quiet Mode var pattern; if (msgSrc != undefined && msgSrc.toLowerCase() == "phone") { // special vibration pattern for incoming calls From 311d619e57d632b5357b2d89000e3b5aaa6fe633 Mon Sep 17 00:00:00 2001 From: Gabriele Monaco Date: Tue, 23 Aug 2022 11:17:43 +0200 Subject: [PATCH 31/32] agenda: displaying calendar colour and name --- apps/agenda/ChangeLog | 1 + apps/agenda/README.md | 19 ++++++++++++++++++- apps/agenda/agenda.js | 17 ++++++++++------- apps/agenda/metadata.json | 2 +- 4 files changed, 30 insertions(+), 9 deletions(-) diff --git a/apps/agenda/ChangeLog b/apps/agenda/ChangeLog index c7ef32839..2c59c3cc2 100644 --- a/apps/agenda/ChangeLog +++ b/apps/agenda/ChangeLog @@ -2,3 +2,4 @@ 0.02: Added settings page to force calendar sync 0.03: Disable past events display from settings 0.04: Added awareness of allDay field +0.05: Displaying calendar colour and name diff --git a/apps/agenda/README.md b/apps/agenda/README.md index a546e0a89..7063a70a2 100644 --- a/apps/agenda/README.md +++ b/apps/agenda/README.md @@ -1,3 +1,20 @@ # Agenda -Basic agenda reading the events synchronised from GadgetBridge +Basic agenda reading the events synchronised from GadgetBridge. + +### Functionalities + +* List all events in the next week (or whatever is synchronized) +* Optionally view past events (until GB removes them) +* Show start time and location of the events in the list +* Show the colour of the calendar in the list +* Display description, location and calendar name after tapping on events + +### Report a bug + +You can easily open an issue in the espruino repo, but I won't be notified and it might take time. +If you want a (hopefully) quicker response, just report [on my fork](https://github.com/glemco/BangleApps). + +### Known Problems + +Any all-day event lasts just one day: that is a GB limitation that we will likely fix in the future. diff --git a/apps/agenda/agenda.js b/apps/agenda/agenda.js index be618ae68..9cffe0265 100644 --- a/apps/agenda/agenda.js +++ b/apps/agenda/agenda.js @@ -6,6 +6,8 @@ title, description, location, + color:int, + calName, allDay: bool, } */ @@ -73,6 +75,8 @@ function showEvent(ev) { lines = lines.concat(/*LANG*/"Location"+": ", g.wrapString(ev.location, g.getWidth()-10)); if(ev.description) lines = lines.concat("",g.wrapString(ev.description, g.getWidth()-10)); + if(ev.calName) + lines = lines.concat(/*LANG*/"Calendar"+": ", g.wrapString(ev.calName, g.getWidth()-10)); lines = lines.concat(["",/*LANG*/"< Back"]); E.showScroller({ h : g.getFontHeight(), // height of each menu item in pixels @@ -116,17 +120,16 @@ function showList() { var body = formatDateShort(getDate(ev.timestamp),ev.allDay)+"\n"+(ev.location?ev.location:/*LANG*/"No location"); if(settings.pastEvents) isPast = ev.timestamp + ev.durationInSeconds < (new Date())/1000; if (title) g.setFontAlign(-1,-1).setFont(fontBig) - .setColor(isPast ? "#888" : g.theme.fg).drawString(title, x,r.y+2); + .setColor(isPast ? "#888" : g.theme.fg).drawString(title, x+4,r.y+2); if (body) { g.setFontAlign(-1,-1).setFont(fontMedium).setColor(isPast ? "#888" : g.theme.fg); - var l = g.wrapString(body, r.w-(x+14)); - if (l.length>3) { - l = l.slice(0,3); - l[l.length-1]+="..."; - } - g.drawString(l.join("\n"), x+10,r.y+20); + g.drawString(body, x+10,r.y+20); } g.setColor("#888").fillRect(r.x,r.y+r.h-1,r.x+r.w-1,r.y+r.h-1); // dividing line between items + if(ev.color) { + g.setColor("#"+(0x1000000+Number(ev.color)).toString(16).padStart(6,"0")); + g.fillRect(r.x,r.y+4,r.x+3, r.y+r.h-4); + } }, select : idx => showEvent(CALENDAR[idx]), back : () => load() diff --git a/apps/agenda/metadata.json b/apps/agenda/metadata.json index 50ea54c10..982870905 100644 --- a/apps/agenda/metadata.json +++ b/apps/agenda/metadata.json @@ -1,7 +1,7 @@ { "id": "agenda", "name": "Agenda", - "version": "0.04", + "version": "0.05", "description": "Simple agenda", "icon": "agenda.png", "screenshots": [{"url":"screenshot_agenda_overview.png"}, {"url":"screenshot_agenda_event1.png"}, {"url":"screenshot_agenda_event2.png"}], From ff9a5c4c20bc95fd0d628bd7041f71753a1edf6c Mon Sep 17 00:00:00 2001 From: Gordon Williams Date: Thu, 8 Sep 2022 10:40:03 +0100 Subject: [PATCH 32/32] Add wear de4tect library based on http://forum.espruino.com/conversations/379538/ and https://github.com/espruino/Espruino/pull/2264 --- modules/wear_detect.js | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) create mode 100644 modules/wear_detect.js diff --git a/modules/wear_detect.js b/modules/wear_detect.js new file mode 100644 index 000000000..62b1ae362 --- /dev/null +++ b/modules/wear_detect.js @@ -0,0 +1,20 @@ +/** Returns a promise that resolves with whether the Bangle +is worn or not. + +Usage: + +require("wear_detect").isWorn().then(worn => { + console.log(worn ? "is worn" : "not worn"); +}); +*/ +exports.isWorn = function() { + return new Promise(resolve => { + if (Bangle.isCharging()) + return resolve(false); + if (E.getTemperature() > 24.625) + return resolve(true); + if (Bangle.getAccel().mag > 1.045) + return resolve(true); + return resolve(false); + }); +};