diff --git a/apps/widalarmeta/ChangeLog b/apps/widalarmeta/ChangeLog index cf82dfe437..2cac2f8875 100644 --- a/apps/widalarmeta/ChangeLog +++ b/apps/widalarmeta/ChangeLog @@ -14,3 +14,4 @@ 0.10: Change 4x5 font to 6x8, teletext is now default font 0.11: Bugfix: handle changes in alarms (e.g. done without a load, such as via fastload) 0.12: Redraw when screen turns on or watch is unlocked +0.13: Add option to only show when on clock diff --git a/apps/widalarmeta/metadata.json b/apps/widalarmeta/metadata.json index 8ffe4ea623..f9e58acdf1 100644 --- a/apps/widalarmeta/metadata.json +++ b/apps/widalarmeta/metadata.json @@ -2,7 +2,7 @@ "id": "widalarmeta", "name": "Alarm & Timer ETA", "shortName": "Alarm ETA", - "version": "0.12", + "version": "0.13", "description": "A widget that displays the time to the next Alarm or Timer in hours and minutes, maximum 24h (configurable).", "icon": "widget.png", "type": "widget", diff --git a/apps/widalarmeta/settings.js b/apps/widalarmeta/settings.js index 5e83c6f3ab..93b92a0d2c 100644 --- a/apps/widalarmeta/settings.js +++ b/apps/widalarmeta/settings.js @@ -7,6 +7,7 @@ padHours: true, showSeconds: 0, // 0=never, 1=only when display is unlocked, 2=for less than a minute font: 1, // 0=segment style font, 1=teletext font, 2=6x8:1x2 + whenToShow: 0, // 0=always, 1=on clock only }, require("Storage").readJSON(CONFIGFILE,1) || {}); function writeSettings() { @@ -59,5 +60,14 @@ writeSettings(); } }, + /*LANG*/'When To Show': { + value: settings.whenToShow, + min: 0, max: 1, + format: v => [/*LANG*/"Always", /*LANG*/"On Clock Only"][v === undefined ? 0 : v], + onchange: v => { + settings.whenToShow = v; + writeSettings(); + } + }, }); }) diff --git a/apps/widalarmeta/widget.js b/apps/widalarmeta/widget.js index ffe95db1ba..21097add85 100644 --- a/apps/widalarmeta/widget.js +++ b/apps/widalarmeta/widget.js @@ -8,6 +8,7 @@ padHours: true, showSeconds: 0, // 0=never, 1=only when display is unlocked, 2=for less than a minute font: 1, // 0=segment style font, 1=teletext font, 2=6x8:1x2 + whenToShow: 0, // 0=always, 1=on clock only }, require("Storage").readJSON("widalarmeta.json",1) || {}); if (config.font == 0) { @@ -38,6 +39,13 @@ } // getNextAlarm function draw(_w, fromInterval) { + + // If only show on clock and not on clock + if (config.whenToShow === 1 && !Bangle.CLOCK) { + this.nextAlarm = undefined; // make sure to reload later + return; + } + if (this.nextAlarm === undefined) { let alarm = getNextAlarm(); if (alarm === undefined) { @@ -55,6 +63,7 @@ let calcWidth = 0; let drawSeconds = false; + // Determine text and width if (next > 0 && next <= config.maxhours*60*60*1000) { const hours = Math.floor((next-1) / 3600000).toString(); const minutes = Math.floor(((next-1) % 3600000) / 60000).toString();