From 9726ad73061ed36bd4b3a1231b5ad46650b073e1 Mon Sep 17 00:00:00 2001 From: bebub123 <88442713+bebub123@users.noreply.github.com> Date: Wed, 16 Apr 2025 09:52:23 +0200 Subject: [PATCH 01/53] Create app.js --- apps/timer/app.js | 1 + 1 file changed, 1 insertion(+) create mode 100644 apps/timer/app.js diff --git a/apps/timer/app.js b/apps/timer/app.js new file mode 100644 index 0000000000..fd538074ff --- /dev/null +++ b/apps/timer/app.js @@ -0,0 +1 @@ +E.showMessage("My\nSimple\nApp","My App") From 13ea7fa27bfcd87fb337a3f003701ecc8f2be932 Mon Sep 17 00:00:00 2001 From: bebub123 <88442713+bebub123@users.noreply.github.com> Date: Wed, 16 Apr 2025 10:03:26 +0200 Subject: [PATCH 02/53] Create app.js --- apps/Abelwatch/app.js | 1 + 1 file changed, 1 insertion(+) create mode 100644 apps/Abelwatch/app.js diff --git a/apps/Abelwatch/app.js b/apps/Abelwatch/app.js new file mode 100644 index 0000000000..fd538074ff --- /dev/null +++ b/apps/Abelwatch/app.js @@ -0,0 +1 @@ +E.showMessage("My\nSimple\nApp","My App") From 625b7c767a1b8955ab5b021290dedb6df28d5ae4 Mon Sep 17 00:00:00 2001 From: bebub123 <88442713+bebub123@users.noreply.github.com> Date: Wed, 16 Apr 2025 10:04:14 +0200 Subject: [PATCH 03/53] Create app-icon.js --- apps/Abelwatch/app-icon.js | 1 + 1 file changed, 1 insertion(+) create mode 100644 apps/Abelwatch/app-icon.js diff --git a/apps/Abelwatch/app-icon.js b/apps/Abelwatch/app-icon.js new file mode 100644 index 0000000000..e4404167f1 --- /dev/null +++ b/apps/Abelwatch/app-icon.js @@ -0,0 +1 @@ +require("heatshrink").decompress(atob("2Gw4f/AoP/AYQA/AH4APhMkyVJARARRDqBB/ACUCExoRRDpxB/IMWQCII+XDopB/IKYjRILWSoBB/IMo+ZIP5B/IP5B/IP5B/IP5BkgRBrDoJB/IKkAhJBqIChB/AAZBpICxB/AA0CIMdAIP5BvBAIAtIP5B/IP5B/IP5B/IP5BfASZB/IP4CEIP5B/DopB/IP4CCoBB/IP5B/IP5B/INsAIP5B/IIYLIIP5B6gEJIP5B/BoZB/IP4gdIP5B/IP5B/IP5B/IP5B/IP5B4hILGASRBENChB/IJoLIIKpfGIP5BdHzBBEFI5B/IP4CEIP5BbHzJB/IP5BIBZBB/Yv5B/IKkAhJBIU5JB/IN68HBIRBaL4RBHICBB/AAYXIU5ACRd5RB/IKg4DoAJEEYwCRd5LOCIP5BTAH4A/AH4ABkGChACVDwoICwAzQgQgCBhEBgkQoICUDwoLDOqIgDBhCAWPQ4LEIKAgEBg6AVPQ6hFIB4UEoDRKAS6hJIJwgGaJICXUJBuHAAyYFoLRLQcBuGAAwUMQDKDLNw4AGChqDbfwMCQfz+BBY6D/Qf6D/Qf6D/Qf6D/Qf6D/Qf6D/Qf6D8wBiQQd5iQQeAhKQeogKgKD1ERiDzNwIAKQegiNQaICUNxhAMQaICUQf6D/Qf6D/Qf6D/Qf6D/Qf6D/Qf6D/Qf6D/Qf4JBQf4KBQf4KCQf8AgKD/BZSD3BZCD6gSD/gCD/ACiDuACSD/Qf6D/Qf6DcNxhiGQdpuLgKD1KApiMQdpQHMRSDwASaDsASaD/Qf6D/Qf6D/Qf6D/Qf6D/Qf6D/Qf6D/QbJAWAAKDoIC8BQZkCQea5GBYqDzXIwNHQbOAQbwMHQbJAZEAlABxCDYILMAgQgCBhEBQa5AagAgDD7YA/AH4AtA=")) From cf8290abfd4be9c329ba775a909dec528f007bf8 Mon Sep 17 00:00:00 2001 From: bebub123 <88442713+bebub123@users.noreply.github.com> Date: Wed, 16 Apr 2025 10:07:48 +0200 Subject: [PATCH 04/53] Create metadata.json --- apps/Abelwatch/metadata.json | 13 +++++++++++++ 1 file changed, 13 insertions(+) create mode 100644 apps/Abelwatch/metadata.json diff --git a/apps/Abelwatch/metadata.json b/apps/Abelwatch/metadata.json new file mode 100644 index 0000000000..0725f0e129 --- /dev/null +++ b/apps/Abelwatch/metadata.json @@ -0,0 +1,13 @@ +{ "id": "abelwatch", + "name": "abelwatch", + "shortName":"abelwatch", + "icon": "app.png", + "version":"0.01", + "description": "Multiple fonts and colors", + "tags": "", + "supports": ["BANGLEJS2"], + "storage": [ + {"name":"abbelWatch.app.js","url":"app.js"}, + {"name":"abbelWatch.img","url":"app-icon.js","evaluate":true} + ] +} From f07579e50bd5c46e6484348a25346a334ec98fae Mon Sep 17 00:00:00 2001 From: bebub123 <88442713+bebub123@users.noreply.github.com> Date: Wed, 16 Apr 2025 10:09:44 +0200 Subject: [PATCH 05/53] Add files via upload --- apps/Abelwatch/abbelWatch.js | 658 +++++++++++++++++++++++++++++++++++ 1 file changed, 658 insertions(+) create mode 100644 apps/Abelwatch/abbelWatch.js diff --git a/apps/Abelwatch/abbelWatch.js b/apps/Abelwatch/abbelWatch.js new file mode 100644 index 0000000000..ef9394a518 --- /dev/null +++ b/apps/Abelwatch/abbelWatch.js @@ -0,0 +1,658 @@ +/** + * Optimized Bangle.js Numerals Clock + * + * + Original Author: Raik M. https://github.com/ps-igel + * + Optimized: April 2025 + */ + +// Configuration constants +const REFRESH_RATE = 1000; // Refresh every second +const LONG_PRESS_DURATION = 1000; // 1 second for long press +const DEFAULT_BRIGHTNESS = 0.5; +const MAX_BRIGHTNESS = 1.0; + +var currentFont = "NummeralByLucaEggerRegular"; + +// App state +let state = { + wischfunktion: 0, // Main display mode (0=date, 1=time, 2=seconds, 3=steps, 4=heart rate) + wischfunktionZ: 1, // Secondary display mode (0=battery, 1=normal, 2=light) + window: 1, // Current horizontal swipe position + windowZ: 1, // Current vertical swipe position + swipeDone: false, // Flag to prevent multiple swipes + loongpress: false, // Flag for long press detection + touchStartTime: 0, // For long press detection + bluetoothConnection: false, + bcon: false, + frequenz: "WAITING\n FOR\n", + zeitanzeigen: true, + interval: null, + drawInterval: null + +}; + +// Load persistent settings +let settings = require('Storage').readJSON('numerals.json', 1) || { + color: 0, + drawMode: "fill", + showDate: 0 +}; + +// Load theme settings +let theme = require("Storage").readJSON("theme.json", 1) || {}; +let colors = { + bg: theme.bg || "#000000", + fg: theme.fg || "#FFFFFF", + fg2: theme.fg2 || "#757575" +}; + + +function setupFonts() { + +Graphics.prototype.setFontNummeralByLucaEggerRegular = function() { + // Actual height 43 (47 - 5) + // 1 BPP + return this.setFontCustom( + E.toString(require('heatshrink').decompress(atob('ABUCAwv+AokP/AGEv/gAocH/4MEn4TEgP/4AgEE4t/+ATFGhcfKpcHAokBJww6Ej4MEg5AEHIOAM5IYLgBmFn5fEh/8MpYYEgFwZLP/AAQ3Bh4GDFYIFDHAIMEIoN/AwfggYTFj4FDOQIME4DjBAAR5Bn47ENIIWBGIOAAQQQBGgSWCGgYMBEgI0BRQU/GgSwBEgI0CRwQ0CEAV/GgRsBEgQPCEgYPBGkwTBCAJpEv6eqAAY0CaYgTEc4oMBDQhLBAH4A/ACN8AokP+AGEVwQACaYIMEn7jBAAS4BCYkPcYIADv4nEgbJFj7TFAoYdBGgIACGIL0E8DtEDQMPfYt/CYg0BAAY0FE4IgFCYgMBE4hSEABMHKIRzCAQI9BIIMP/BeCPQJEBJQXABQIMCC4KeBNYXwNIPBNIn+IYRpC+AgCNIWDNIn8j/4v5pC8H/4Y0E/0fGgnwGgoiBGgYiBGggiBGgj4CGgb4CGgQiBGgj4CGgYkBGl6cCGgYABGgacCGgacCGgYABGgb5CGgYABGgggBGgQTC4E/8DyEfYQAMnEAmEAuEAg/wgfAh4gCEoI4BwA0BgY0DT2o0wj40FaoI0Dw40Fn40E8I0FcgI0Ev40E4Y0WdwTcCcAIACGgQADegYABGgQADGgQACGgQGD+ATFgAnEBgIAMJ4JMBAwQnBFYIABEAQ/BBgZTBDIgaDNIRnBAAJpCCYRBDBgQTCE43AAwRnDAAZaFPAJPDDYI0DIYQ0CF4YgEaIRkEGgatBGn40FUoYbCfYgMFEQIMEGwL0E4AlBCYirCfYQgEGwITEEAInEPAgAJOoKDBjhID+EDEAnAn/gGgZ/BwD0C/kfDgN/AwPgAIIPBAAJFBEAf4n5pE4JpE/0PNIX8n/wv5pC8P/wY0Dh40E/F/GgnDGgn+j40E+A0Fw40/GiwABGgbnDGgTICGgSgCGgbcCGgJGBfYUH/i0Cc4XAE4WAgF8bgQMBABruCJwMAEoRBCBghVBBghpCAwfwNIIADwA/CCYYME8AgEE4JnCLgRpBHYieEPoKeEGgTTDGgLTDGgTTDGgTTCGgTTDGgTTDGn40GTwY0BTwg0BTwmHTwg0BTwg0BTwZGC/40BIwITCdwIcBBgcDbgYMBACc8AYUcEAQFBgIDBn/AAwMf4EDGAIQBHAKcBAwM/AYJRBBgXAg4TCn5VDBgXwNIOABIIDBTgMAQAIDBTgICBEAIwCBgItBGgQMBDoIwCBgQ0CBgY0BSIIMBGgS+CgA0BBgJsCaIQwBJYQMEGgIMDGgPfBgY4BWARsCWAg0BBgjRCXoZMBBgbKGj56CGgafCGgYMEGgIMDGgIMEGgJtBGgbGCGgYMEh4MEE4IMEgBtCDQYFEAChwBAALGCAoRyCBgZFBBgiGBTwQAB+CeCCYaeCAAJzBEAngTwQACTwQ7EB4N/CAPAGgMD/EfGgQEB4A0D4H+CAI0BAgPwn40CAgOBGgeB/hFBGgIEBF4I0/GgienAAY0CaYgTEc4oMBDQnAAwIASLgIeBv0AJAX4g5BBNIR4B8BpDCAJpD/ieDAwPhNIqeDE4SeDAAPDNIn+aYk/+CeD4P/w7TDh40E+F/GgmDGgn8j40E8A0Fg40/GgzTDTwi0CTwYABegqeEdwSeCfYbTCAAI0CAAeACYggBE4mADQnwgAAbgQCB4AGCnkAh4FCgYrBN4IABj5FB8AGCBQM/AoQKBgJOBAAMeBAJOBAANAHJIA=='))), + 46, + atob("DhAqKykpKSkpKyoqDA=="), + 53|65536 + ); +}; + + Graphics.prototype.setFontNewRockerRegular = function() { + // Actual height 45 (44 - 0) + // 1 BPP + return this.setFontCustom( + E.toString(require('heatshrink').decompress(atob('ABUBAwsPAws/Awv/AokDAwsH/whF/gGF8AGFwAGEhwvFjBZTiAGFsBmF4A2Lv4TFLBl//BzF+AGDj//FAn/CYkH/48En6OEgITFh4TGIQgTBGggTBGgl/J4hIBVAhIBBgpIGCYgnBOAkfCYhCBTIt+VopIEVo8DCYsEbqYANLIIABLYRZBAwh0BAwl/AwRICAoQGCUYIGERIIACUwIoDAwQoDAwV8UIYGBR4RHBwEDAwghBRIUPboMfAwYRBfYJSEAwgoBAwb4CAwYsCMwYlCNpQhBNoYhCNof8TorYFbggeBbhUOAws8AwpOCZoYsFn7DCAARVDGoSSBAwpLEYwgGIL4adCAwzbEGYLbGVZpBDKoqFNgidIAA0CAwsMAYV+AQMcAQJVBAYN4RgRLCOAZLBgZHBKgIKCNIJtEwCLCNoQnCEIQCBDQL3BgYCB//3FAMP/AaBx4oBh/wh/8n4oC8Ef+F/FAIvBv/AKIUfEILYDFoUDUggqBGYMAv7EBg4GCKwQ6BAwYlBAwIlBD4I4BeAQYBIgQGBCIIvCQwPggLUE4CMCAAcHWpIATjDvCLAU4FAQ2CZoRfCgJUBLAnwgxYBZoSdBAwJLBj/AegN/b4XAvgGDVwIYBVoKBBFQV/FAP+NYQdBIAMPAwI9Bg/wZ4IWCegKrBHQIGDBAQ9BAwZVC//fWgTUC360CHIP+boTNC/jdBF4JLB+AhBF4IGB8AGBwBSBAQLJBUxUCAwr8DAASVCAAQqBK4LgDFwQTDFwgTBLwQTDLwQTDF4YTBLwQ7C//nLwJ0C/8PGwUDEAMfGwSPB8E/HYq+BAwQtBGwYhBAAJFCAwYOCXAYGGDwJKCAwY9BAARTBMoLbEcQhMBAwZ8EgfwvCDE8FgWQngTwkP4LNKABEDAwsOLAJGBhEAvhYDLoJYE+EDVgJRC8EHDAKkBAwMfAwnAn5LBVYKsBv4GBToJrBOgSbCSYI9B+fzF4IPBPAJzBgarBAgMPwEHIgLmBbQJ8BGwOAZAQ9Bn66DNIN+MISkC/hhCFAMB/BhCZoXwMIY2B4BhDF4JoDLAM8NAkAYQUfaggAWD4QeCGwReDGwRXCAwZXCHoZJCNoZJCAwaHCOgYaDAwKHCPYYoC4EHAwLeBbIKrCa4ImBWwJOBwIRBXYIoBYgQPBgP+IoSkC/hFCB4KrBAwSrC8AGCMwXAKYRmCLQRfCjwGCLAMAnA/BF4SZBgIfBF4IAHgYGFEQIADgIlCAAV/EoQMCJwQGEFwInDOAYGCEIJ1BAwKZCL4cP+CtCMwXgRITNCOgt/wbiEv7BCGAX+R4Q6C/iABj7bC/bUBn6kCCIV/GwS2CNIQgBbAJpCv4sCBAJWBCIMBOgYKCNoRHCAAUPSwpmBAwk/R4kAvzCIADBmBQIZLB/r9DJYJ8BAwR7B+4GDWARpCPYQGEW4R3DAoQGCaQQGDh+ANAN/AwMfwE+DwIGBv+AngDBP4KPBvgDBwAoBgIRBagQvKZIIGEWoJfBfogGDPYUPNoRfCNoPvEIRtC5//YYQGBx5DBAwNgXjsBHoYnBgyrEgEcVYkAvCrD/x9CPYX+gZ0E/0HKQJtC/0fAwIvC/k/QQIoC+F/AwN+B4PAVYTsBn+BHAIrCvwKCh/wHYMDagSkDF4IGEF4iyDAwayCAwYoBMwTbDdgLbEdIgoBcQi5Bg4JBToYAWmEAggGDGgM8AoUDMgJLCOwPggYGDn/gh4GDPIMfLIQGBwE/EgIABOQM/KQJPBCIM+egYvBnAGDCINgJotAKw4'))), + 46, + atob("DSEcFx4aHhsbHRwbDw=="), + 55|65536 + ); + }; + + Graphics.prototype.setFontBodoniModaVariableFontopszwght = function() { + // Actual height 48 (47 - 0) + // 1 BPP + return this.setFontCustom( + E.toString(require('heatshrink').decompress(atob('ABMCAokB+AGEv4FEh/gCQn8Bgk/wAFDgYSEgE4I7NwEBUcAokOAokHAokDIokB4AMEAopRFG0Y8MGzsDTajJEgf/AwYFB/7qCgIFB/5UCv4FB/DhCBgRbBh4FCEAIYDDIV/FAQZBj6HDwB9EN4J9DgUAiBJDsAHBAAUEgFAAweAhAFDiEBAoYXBmDfEXggKBUgaWBh45CIoMAMQUfPIJlFBgIACAoIMDDgQFCSQUHRYiMCVggFFACp4BkB4EA4J4DA4KYJoCYESALXCL4ReD//gaIhNBcgbYBMgRsDAof+D4rWDGQYADYYgABLohlCAAhdDABsBGQMHV4V4gEDYQUfBwPHBgMH8EAsBPBgJlBhEfDgNvwECgYSBjICBoE+gEGAQMYgYYBw/ATAdgb4NANQQyBNoQiBTAJdDvkAmAFBmEPwEGAoMMgIyBI4MHgAyBjxjCg/AIgIQCGQK4BKwIyBXARvBDoLYBL4IyBBgIYBGQIMBDAIhCg54BGQQmBAQTLEg4yBAB5LBAYI7BgIoCvwlCQYMfMwXkgEFHwMA/lAgMfJAMfSAMjD4XBQQM8FoUQTAQjBWAMgU4dAggXBWYSoBBwQIBiAhBYwTQCKAIIBuEAvCSBwCHBnobBHgKeB3kAHgMf//n+F/wEBWIKnBCQK4Bh//RYMDWIK6CDIPwBgKFCVwK6CUipiCAAc4AokNAokGOYIACgOEBgnAD4kwQQIACjCdBDwamCAAKNBUwQeCUwSbCUwQeCgC1BAAMOKQQNBDwK1BYYR7BGQJABDwIyBIAMwaAQNBR4IAC4CeBAASMBV4IACCQvgXwIAC/jLCAARzEGQQACGQSMDOYhlEAAJlDAB8+AokPfwf8gP+dAJOBBIItBJwNAg/mKQOAJIP8oED+B8CWYN+eAeAh/ALgUQgP4LgQCBn5cDFAPgaAQCBHoIfBHYIyBVoVgGQMHBgLVBGQKpBg47B4Ef8ADBGQKnCBwIyBM4JlDY4WAgZlBBgJ4Bv4IBDAQACj4PBAAc8UqQADg7wBVIbqCBYY4CgBECCYYFC+AFBJQIMDj4XBv4ZBg/84B8CSQKLBgIIBn0MBIKLBh6bBBgJpB4DbBXwMAuEEXwccaIbeBB4S+CA4RPBE4VwAwPgd4QFBnDcCUAQaCKYP/XwI8BXwY9BXwZ5EHYS+EKwR+DSYQLDABavEEYIWEDgzhFj47DIYI1EU4bWDU4IDCgJhBXYR0CMAXAGQRZBCAIyCbAQyCnEf8AyCjgjCGQMOgEeFwUHPgf4gaJEdARlDMwn8YgRlC3BlEOQplGTAp+EACBRBAAJXBj6CCh/4g5+BJgP/wP/HgKCCv4MCAYOfRYUf//7fAT8CvkBRIP4gIdBF4McKgdggYDBEYMMgFAgEILoQDBgIFBiADCkEAgQDCggIBoEGCQJ0BjEAToN4SAJFBVoOAVwJYB/+8IYIKB//3bwRSB/gFBIIIMBh5lCBgPg//+aQXwBgKpCNAIYCZAbaEABUHbIilBC4ZMCBgYFBFoL4CBgR9BDAIZCkAYBgZKBQIM8HwJwBwCtBBAQSBKgICBCQKYBgEwA4ajCuCzBUYTJBiAFBhEHwAPBD4MBHQNgawStBGQUIn6EDgU/QoMf4ED34JBNYStBTwQGCSoQFCHgQMCQwQZCP4a2BAoYGBWB5qDMYcBDwMPGYV/HgLrBEoYIBCQJQBFwc/wAICdIcfFgU4CoL4EAAYA=='))), + 46, + atob("ChofFRwaHxodGxwcCg=="), + 51|65536 + ); + }; + + Graphics.prototype.setFontTeko = function() { + // Actual height 44 (47 - 4) + // 1 BPP + return this.setFontCustom( + E.toString(require('heatshrink').decompress(atob('AEcD8AHFh4HGj/AA4s/wAHFv4nG/wHG/AHGFwwAIIw4+G/4+Fh42G/4eFBx//MY3wAwkHB1ZDBAwsBBw0DdMH/SYp0BPot/A4I6DgYGB/7TDCwQHEn4HC/gtEA4geBaAM/C4UPGYUDA4UfOQYHCvBCDH4RKEAgMBewYECQokBM4MGWIgCBhwHDAgUcA4c8AQM+A4Y+CA4cDHYV/G4QDENwaUFPogHDToYHDLQaVC/w6Dj4WFVobMEgLLFAH0YAgdAAQMwXgrUEZIQKDZIbHCAAMMOgQPDnCEEQwi0EFYQGDUoUDA4gjBg4HEUYi1GAAUcNRYACNQYADsAHGcgYADaogARPoRCEPoUB/AHCPoUHAYUDPoU/BwUPHwX8A4U/HwMBCwSRBDwQSCgZ9CWgcPDYU+CwU+HQV8A4X5EYQKCgfDHwIuDh4rCJId8FYQKCCQMfKIgKBGYUfA4JgBGYU/4EBIgIzCA4MP+AzDfYXAGYYHBMYJqDBwIcBNQYWCGYKBDQQV+A4V/GYSZGga4DVgwADZ4YAbdYUAmADCvDzCNIT3Dg5hCgZ9CjwWCg4TCDQSxFKwZhCBQNgA4IKEBIIjCRAMBBIJmCY4MDA4JOCY4IcCuD7DbIT7EUQMBfYTRBUQMDJIX4h4HBhw+CXgIHBngHGLQUf//v/xtDA4OPCIKBCj/+DIL1BA4XwA4LTDNwIHBDwQJDeoQADg6QDABS3DAAcfA4wmGgZFDCwZmBAAl+JobpC/I+Fh/DKos/cQQWDTwI+ERQLXBCwmAYoQACHgLXBJgY0BHwhjBa4RMDCII+DgYUBHwkPAgI+En7CBAAL7CAwf/fYQHEDAMHA4jzEAAKWCdYIACSwp9FcwatGagx9FAAJ9EAAS8FADMBH40HA4YMCVAJUDY4atEgF/VoZyCBQQbBJgQKCUoLKCBQSVBZQQKCv/PXIQKC/kfXIQCBgP4HYROCfQIHCJIUH8BDCjzrDZIU4IoWAA4Q2Cn5HBFYLFCvwHCPof8A4QmCHwL9BwBdCHwIHBMAY+BA4QeCHwIHB/zoEE4LUDJIQWDgFAcDyfCIoTUDGwgOC/7DCL4RVBJwZPBA4wWBA4hcBA4sHFoMPNwhkBgIvDv/OfYv+jgEBvAeC+EwAgNwDwXALgQCCnzJDAQS8BSYMBAQXgg5hCEwWAh4EBhx7CWwUAHIQCBn4+EHIN/KwI5EcQJCBGIZ2CGIgGBMoUGQwfwA4MMA4ZVCjAHCRgcgD4QWCAAZHCADJHCAAk+AwsBfAqDBOIQ7ENwIAEvwmGb4YmKgYmGg55CRQS8BFwd8HwQTDEYRVDv6GCCQUHXwLzCBwSdCgISBBwg+CBwY+CBwg+CBwg+BBwo+BBwokBBwrxCPorZGgYOFHwLoGh7obABqoEcgV/LAZOBKIKNDA4MPA4YEB+E/A4YEB+B4Ev1/+P8j7gCCoP3U4IHBgfAj53Bg4/Bg4/BZwIEBgEOI4YEBgEYA4cMA4MwHAIHBBgMAsAHDBgMAGIJkCBgMB4BkBBQI+CwEH3/AAgJBCj4XBHwUH4P8A4McOol/+BQBA4XAOogHBewR1Ch/8A4SxDcgN/BQKlCTAS0DAAR0CADKcCAAZ0BGgR9BMwIHDJwTUBA4MBfgX/A4RKCeYIHCgweD/4vBQoUfM4IHBnAHBngRBN4NweYQhB8C5BXgT2CeYS3FCwIxDgF8AgLuCh0BNAQ5CjkHSoQ5CnEfLoV4AQPg/x9CDQMB460DAYMHbgKMDbwYHDAAScEPwYHFaYYHDHoQHDCwalDdQt/Jgb8FAGbDBO4JXDh57Bn4HDj4HBv4XDBgRYEBgMBN4gMBgbMCWwYxCAAQEBeAQAIA=='))), + 46, + atob("DRMfGh4cHx0fHh4fDg=="), + 63|65536 + ); + }; + + fonts = { + current: "Vector", + Bondoni: "Bondoni", // Custom font + Vector: "Vector", // Standard font + Teko: "Teko" // Custom font + }; + +} + +// Initialize the display parameters +const display = { + width: g.getWidth(), + height: g.getHeight(), + centerX: g.getWidth() / 2, + centerY: g.getHeight() / 2, + quadraticScaler: 205, + get scaleX() { return this.width / this.quadraticScaler; }, + get scaleY() { return this.height / this.quadraticScaler; }, + get scale() { return Math.min(this.scaleX, this.scaleY); } +}; + +// Color palettes +const colorPalettes = { + hours: process.env.HWVERSION == 1 + ? ["#ff5555", "#ffff00", "#FF9901", "#2F00FF", "#7ac5cd"] + : ["#ff0000", "#00ff00", "#ff0000", "#ff00ff", "#7ac5cd"], + minutes: process.env.HWVERSION == 1 + ? ["#55ff55", "#ffffff", "#00EFEF", "#FFBF00", "#7ac5cd"] + : ["#00ff00", "#0000ff", "#00ffff", "#00ff00", "#7ac5cd"] +}; + +// Set up the 12/24 hour format +const _12hour = (require("Storage").readJSON("setting.json", 1) || {})["12hour"] || false; + +// System compatibility +var WIDGETS = {}; // For development only + + + +// Setup the UI colors and state +function setupUI() { + // Set color scheme based on settings + if (settings.color === 0) { + colorPalettes.hours = [colors.fg]; + colorPalettes.minutes = [colors.fg2]; + } + + g.setTheme({bg: colors.bg, fg: colors.fg}); + + // Configure display mode + state.zeitanzeigen = (state.wischfunktion <= 2 && state.wischfunktion >= 0) || state.wischfunktionZ === 1; +} + +// Setup and start the update interval +function setUpdateInterval(set) { + if (!state.zeitanzeigen) return; + + if (state.interval) clearInterval(state.interval); + if (set) state.interval = setInterval(draw, REFRESH_RATE); +} + +// Draw date display +function drawDate() { + g.clear(); + setupUI(); + + // Prepare the date strings + const date = new Date(); + const dateStr = ("0" + date.getDate()).slice(-2) + "."; + const monthStr = ("0" + (date.getMonth() + 1)).slice(-2); + + // Draw background + g.setColor(colors.bg); + g.fillRect(0, 0, display.width, display.height); + + // Setup font and positioning + g.setFontAlign(0, 0).setFont(currentFont,2); + let x = display.centerX - 20; + let y = display.centerY - 35; + if(currentFont == "NummeralByLucaEggerRegular"){ + y-=8; + x-=10; + } + // Draw date + g.setColor(colors.fg); + g.drawString(dateStr, x, y); + // Draw month + if(currentFont == "NummeralByLucaEggerRegular"){x-=10;} + y += 87; + x += 40; + g.setColor(colors.fg2); + g.drawString(monthStr, x, y); +} + +// Draw time display +function drawTime() { + g.clear(); + setupUI(); +setUpdateInterval(1); + // Prepare the time strings + const date = new Date(); + const hStr = ("0" + date.getHours()).substr(-2); + const mStr = ("0" + date.getMinutes()).substr(-2); + + // Draw background + g.setColor(colors.bg); + g.fillRect(0, 0, display.width, display.height); + + // Setup font and position + g.setFontAlign(0, 0).setFont(currentFont,2); + let x = display.centerX; + let y = display.centerY - 35; + //fontcorrection + if(currentFont == "NummeralByLucaEggerRegular"){y-=8;} + // Draw hours + g.setColor(colors.fg); + g.drawString(hStr, x, y); + + // Draw minutes + y += 87; + g.setColor(colors.fg2); + g.drawString(mStr, x, y); +} + +// Draw seconds display +function drawSeconds() { + g.clear(); + setupUI(); + setUpdateInterval(1); + + // Prepare the time strings + const date = new Date(); + const mStr = ("0" + date.getMinutes()).substr(-2); + const sStr = ("0" + date.getSeconds()).substr(-2); + + // Draw background + g.setColor(colors.bg); + g.fillRect(0, 0, display.width, display.height); + + // Setup font and position + g.setFontAlign(0, 0).setFont(currentFont,2); + let x = display.centerX; + let y = display.centerY - 35; + //fontcorrection + if(currentFont == "NummeralByLucaEggerRegular"){y-=8;} + // Draw minutes + g.setColor(colors.fg); + g.drawString(mStr, x, y); + + // Draw seconds + y += 87; + g.setColor(colors.fg2); + g.drawString(sStr, x, y); +} + +// Draw steps display +function drawSteps() { + setupUI(); + g.clear(); + g.reset(); + + // Draw background + g.setColor(colors.bg); + g.fillRect(0, 0, display.width, display.height); + + // Setup font and draw steps + g.setFontAlign(0, 0).setFont("Vector", 50); + const stepCount = Bangle.getStepCount(); + const centerX = display.centerX + 5; + const centerY = display.centerY - 15; + + g.setColor(1, 1, 1); // White + g.drawString(stepCount, centerX, centerY); + + // Draw label + g.setFont("Vector", 32); + g.drawString("SCHRITTE", display.centerX, display.centerY + 35); + + setUpdateInterval(1); + +} + +// Draw heart rate display +function drawHeartRate() { + setupUI(); + g.clear(); + + // Activate heart rate monitor + Bangle.setHRMPower(true); + Bangle.removeAllListeners("HRM"); + + // Draw background + g.reset(); + g.setColor(1, 0, 0); // Red + g.fillRect(0, 0, display.width, display.height); + + // Setup font and display heart rate + g.setFontAlign(0, 0).setFont("Vector", 30); + g.setColor(1, 1, 1); // White + g.drawString(state.frequenz + " BPM", display.centerX, display.centerY); + + // Setup heart rate monitor + Bangle.on("HRM", function(hrm) { + state.frequenz = hrm.bpm || "WAITING\n FOR\n"; + if (state.frequenz === 0) { + state.frequenz = "WAITING\n FOR\n"; + } + }); + + // Setup Bluetooth if needed + if (!state.bluetoothConnection) { + NRF.setServices(undefined, { uart: true }); + Bangle.on('HRM', function(hrm) { + Bluetooth.println("HRM:" + hrm.bpm); + state.bcon = true; + }); + state.bluetoothConnection = true; + } +} +// Draw flashlight +function drawFlashlight() { + g.clear(); + setUpdateInterval(0); + Bangle.setLCDTimeout(0); + // Full white screen + g.setColor(100, 100, 100); // White + g.fillRect(0, 0, display.width, display.height); + Bangle.setLCDBrightness(MAX_BRIGHTNESS); +} + + +// Draw battery status +function drawBattery() { + g.setColor(colors.bg); + g.fillRect(0, 0, display.width, display.height); + + // Draw battery widget + g.reset(); + g.setFontAlign(0, 0); + + // Battery icon - simplified for brevity + const img = atob("ZGSBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH///////////gAAAB////////////gAAAf////////////gAAD/////////////AAAP////////////8AAB/////////////4AAH/////////////gAA//////////////AAD/////////////8AAP/////////////wAA//////////////AAD/////////////8AAP/////////////wAA//////////////AAD/////////////8AAP/////////////wAA//////////////+AD//////////////8AP//////7///////wA//////+P///////AD//////g///////8AP/////wD///////wA/////8AP///////AD/////AA///////8AP////wAD//P////wA////8AAPgB/////AD///+ADwAAf////8AP///j//AAP/////wA//////8AD//////AD//////wA//////8AP//////AP//////wA//////8D///////AD//////x///////8AP//////f///////wA///////////////AD//////////////4AP/////////////wAA//////////////AAD/////////////8AAP/////////////wAA//////////////AAD/////////////8AAP/////////////wAA//////////////AAD/////////////8AAH/////////////gAAf////////////+AAA/////////////wAAD/////////////AAAH////////////4AAAH///////////+AAAAH///////////gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"); // Shortened placeholder + g.drawImage(img, 35, 15); + + // Draw battery percentage + g.setFontAlign(0, 0).setFont("Vector", 48); + g.drawString(E.getBattery() + "%", display.centerX, display.centerY + 30); + + Bangle.setLCDBrightness(DEFAULT_BRIGHTNESS); + + // Auto-return to normal mode after 3 seconds + if (state.wischfunktionZ !== 2) { + setTimeout(function() { + Bangle.setLCDBrightness(DEFAULT_BRIGHTNESS); + state.wischfunktionZ = 1; + state.windowZ = state.wischfunktionZ; + setupUI(); + }, 3000); + } +} + + +// Main draw function - handles different display modes +function draw() { + + // Handle primary display modes + switch (state.wischfunktion) { + case 0: drawDate(); break; + case 1: drawTime(); break; + case 2: drawSeconds(); break; + case 3: drawSteps(); break; + case 4: drawHeartRate(); break; + case 99: break; // Menu mode + } + + // Handle secondary display modes + switch (state.wischfunktionZ) { + case 0: drawBattery(); break; + case 2: drawFlashlight(); break; + // case 1 is normal mode, handled by primary display + } +} + + +// Start the draw loop +function startDrawLoop() { + if (state.drawInterval) clearInterval(state.drawInterval); + state.drawInterval = setInterval(() => { + if (Bangle.isLCDOn()) draw(); + }, REFRESH_RATE); +} + +// Declare menu variables globally +let mainMenu, colorSettingsMenu, fontMenu; + +// Create the main menu system +function createMenuSystem() { + // Color settings menu + colorSettingsMenu = { + "": { "title": "Farbe wählen" }, + "Hintergrund": () => { + E.showMenu(createColorMenu("Hintergrundfarbe", (color) => colors.bg = color, colorSettingsMenu)); + }, + "Ziffern Oben": () => { + E.showMenu(createColorMenu("Obere Zeichen", (color) => colors.fg = color, colorSettingsMenu)); + }, + "Ziffern Unten": () => { + E.showMenu(createColorMenu("Untere Zeichen", (color) => colors.fg2 = color, colorSettingsMenu)); + }, + "< Zurück": () => { + E.showMenu(mainMenu); + } + }; + + // Font menu + fontMenu = { + "": { "title": "Font Wählen" }, + "Bodoni": () => { + currentFont = "BodoniModaVariableFontopszwght"; // Make sure this font is available + E.showMenu(mainMenu); + }, + "NumeraLE": () => { + currentFont = "NummeralByLucaEggerRegular"; + g.setFont("Vector"); // Make sure this font is available + E.showMenu(mainMenu); + }, + "NewRocker": () => { + currentFont = "NewRockerRegular"; // This should match what's in your fonts object + E.showMenu(mainMenu); + }, + "Teko": () => { + currentFont = "Teko"; + g.setFont("Vector"); // Make sure this font is available + E.showMenu(mainMenu); + }, + "< Zurück": () => { + E.showMenu(mainMenu); + } +}; + + // Main menu + mainMenu = { + "": { "title": "Abbel Menu" }, + "Farbwahl": () => { + E.showMenu(colorSettingsMenu); + }, + "Fonts": () => { + E.showMenu(fontMenu); + },/* + "Auto Anzeige3": { + value: true, + onchange: v => { + console.log("Toggle changed to", v); + } + },*/ + "< Back": () => { + E.showMenu(); // Closes menu + state.wischfunktion = 1; + state.wischfunktionZ = 1; + state.windowZ = 1; + draw(); // Redraw the display + } + }; +} + +// Handle long press +function onLongPress() { + state.loongpress = true; + state.wischfunktionZ = 99; + state.wischfunktion = 99; + state.zeitanzeigen = false; + + g.clear(); + showMenu(); + + // Optional vibration feedback + Bangle.buzz(); +} + + +// Create a color picker menu +function createColorMenu(title, colorSetter, returnMenu) { + colorOptions = { + "Weiss": "#FFFFFF", + "Schwarz": "#000000", + "Orange": "#FFFF00", + "Türkis": "#00FFFF", + "Blau": "#0000FF", + "Grün": "#00FF00", + "Rot": "#FF0000", + "Azzuro": "#88b3f7", + "Hell-Rot": "#f09b7f", + "Grau": "#757575" + }; + + const menu = { "": { "title": title } }; + + // Add color options - revised to avoid destructuring + Object.keys(colorOptions).forEach(function(colorName) { + const colorValue = colorOptions[colorName]; + menu[colorName] = function() { + // Apply the color + colorSetter(colorValue); + g.setBgColor(colorValue); + g.clear(); + g.setColor("#FFFFFF"); + g.drawString("Farbe: " + colorValue + "\n Gesetzt", 10, 50); + + // Return to previous menu after delay + setTimeout(function() { + E.showMenu(returnMenu); + }, 1000); + setupUI(); + }; + }); + + // Add back option + menu["< Zurück"] = function() { + E.showMenu(returnMenu); + }; + + return menu; +} + +// Show the menu +function showMenu() { + E.showMenu(mainMenu); +} + +// Handle touch events +let touchStartX = 0; +let touchStartY = 0; +const MOVEMENT_THRESHOLD = 30; // How many pixels movement is allowed before canceling long press + +// Handle touch events +Bangle.on('touch', (button, xy) => { + if (state.touchStartTime === 0) { + // First touch - record the time and position + state.touchStartTime = getTime(); + touchStartX = xy.x; + touchStartY = xy.y; + } else { + // Calculate how long the touch has been held + const duration = (getTime() - state.touchStartTime) * 2000; + + // Calculate how far the finger has moved + const moveX = Math.abs(xy.x - touchStartX); + const moveY = Math.abs(xy.y - touchStartY); + const totalMovement = moveX + moveY; + + // Only trigger long press if finger hasn't moved much AND held long enough + if (duration >= LONG_PRESS_DURATION && totalMovement < MOVEMENT_THRESHOLD) { + onLongPress(); + } + + // Don't reset timer here - let it continue until finger is lifted + } +}); + +// Add a separate touch_end event to reset the timer +Bangle.on('touch_end', () => { + state.touchStartTime = 0; // Reset timer when finger is lifted +}); + +// Handle drag events (vertical swipes) +Bangle.on('drag', function(e) { + if (e.b === 1 && !state.swipeDone) { + if (e.dy < -60 && Math.abs(e.dy) > Math.abs(e.dx)) { + // Swipe up + state.windowZ++; + Bangle.buzz(60); + state.swipeDone = true; + } else if (e.dy > 60 && Math.abs(e.dy) > Math.abs(e.dx)) { + // Swipe down + state.windowZ--; + Bangle.buzz(60); + state.swipeDone = true; + } + + // Constrain within range + if (state.wischfunktionZ !== 99) { + state.windowZ = Math.max(0, Math.min(3, state.windowZ)); + state.wischfunktionZ = state.windowZ; + draw(); + } + } + + // Reset flag when finger is lifted + if (e.b === 0) { + state.swipeDone = false; + } +}); + +// Handle swipe events (horizontal swipes) +Bangle.on('swipe', function(dir) { + if (dir === -1) { + // Swipe left + state.window++; + Bangle.buzz(60); + } else if (dir === 1) { + // Swipe right + state.window--; + Bangle.buzz(60); + } + + // Constrain within range + if (state.wischfunktion !== 99) { + state.window = Math.max(0, Math.min(4, state.window)); + state.wischfunktion = state.window; + draw(); + } +}); + +// Handle button press +setWatch(function() { + showMenu(); +}, BTN1, { repeat: false, edge: 'rising' }); + +// LCD power management +Bangle.on('lcdPower', on => { + if (on) { + draw(); + startDrawLoop(); + } else { + //g.clear(); + if (state.drawInterval) clearInterval(state.drawInterval); + state.drawInterval = undefined; + } +}); + +function drawLockIndicator() { + const radius = 5; + const margin = 10; + const x = display.width - margin - radius; + const y = margin + radius; + // Draw the indicator ball + g.setColor("#00FF00"); // Green if unlocked + g.fillCircle(x, y, radius); + startDrawLoop(); + +} +// Initialize the app +function init() { + setupFonts(); + setupUI(); + + // Create the menu system early + createMenuSystem(); + + g.clear(1); + Bangle.setUI("clock"); + + if (settings.color > 0) { + _rCol = settings.color - 1; + } + + setUpdateInterval(1); + draw(); +} + +// Start the app +init(); +Bangle.setLCDTimeout(10); // Bildschirm soll nach 10 Sekunden aus From a1cf844e8d86e980615b54f9723516e0e977940b Mon Sep 17 00:00:00 2001 From: bebub123 <88442713+bebub123@users.noreply.github.com> Date: Wed, 16 Apr 2025 10:11:15 +0200 Subject: [PATCH 06/53] Rename abbelWatch.js to abbelWatch.app.js --- apps/Abelwatch/{abbelWatch.js => abbelWatch.app.js} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename apps/Abelwatch/{abbelWatch.js => abbelWatch.app.js} (100%) diff --git a/apps/Abelwatch/abbelWatch.js b/apps/Abelwatch/abbelWatch.app.js similarity index 100% rename from apps/Abelwatch/abbelWatch.js rename to apps/Abelwatch/abbelWatch.app.js From 3cc6c2fc8250e406a386e3c9b854dd3c9224173f Mon Sep 17 00:00:00 2001 From: bebub123 <88442713+bebub123@users.noreply.github.com> Date: Wed, 16 Apr 2025 10:15:16 +0200 Subject: [PATCH 07/53] Add files via upload --- apps/Abelwatch/app.png | Bin 0 -> 2191 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 apps/Abelwatch/app.png diff --git a/apps/Abelwatch/app.png b/apps/Abelwatch/app.png new file mode 100644 index 0000000000000000000000000000000000000000..b587ed7c2a1875f7d78cd0168ebb32f5f1aedafa GIT binary patch literal 2191 zcma)8do+~&7XH2SnnvT^F-945Q*sh2W*R1!BT`2hmvNut&=(0~2-6@leVnM!MJY*Y zy0~RX7iFg2zR#r#p~y8}B$qG~4Wi+j)>-TPeg4>cuf5h@Ywu_8XYaK$+zvRa;n&~+ z0BSCK9o-eS;+H6|P-x+k&rF4ZV%?n`K>0h;7y!yHE{^t|9OmTp*7#m4RmaKY<*>Pk z?nrV^*vfOTW?>X_dhIH3$~z?8JzpXe3U8P#720`VpF`DS@948;*lp0#kK%tf_V;J6 zlBblkNrVB`Aq?9{0=pGZ4)m-#&%#A}jXa2QY+p$D5Yf&`xZd}3ITkGeKIFo1d0!?y z`^osdcY69lHRRyBaw|-9WKsT#?Vx8?eudtE>8*Pi9n>T~hJUq8H3vtL(N$O;d9tlW z8W<&VjS0MqMP02i$eIDjM>dDGiFYn?<#>mNd zp7?a#SsdyTSOX{JX5Q%Si}~>R#Z?^d?c}#sEF|rj9Yn+&To9PrGqHH0IOVCKspCV3gD4k-(oPVd8kFDJU<2Ta>?^?n zsM;8zR8Ag%g23bR?#HwN5vRL(DQN_l1EP%K?+bdBf_ma-SKpyZRs?}Q2O3!3mbmEs z+TXbQiZ&18Y&h|?SOKkLOSdlc|GD#-1Ek#Q)@z*8T zrjmQ)sge^7Py~VNRXsK1Tv&XJH0;~1#q%aaP*aq204{RklGNno?{Bsdt@byxW!cB64tkDk zp-k(eqc;wHN0#l*nI_rKZZ!Jst1<$%LUXHAbx!Iy;63Bbfq}6>yT@-TH`Ex6=Mnln z4>gFsWExb^$%Iz|YoALE)n$+Wd=N((_9wV6ZJH9VCHQPu=Xsogy}#Smzk&YT zOZ*4KjNBr^fax3OJMRd{LSh)0HTif0O93OVYb^5OzqN5ivK-KU*0iYjyoWH#Vw%ps!{jqZ|yy*|dpX7zk zCCR9{;IU5ZLbaE1*+SWuE}Cud^$)=R%+nr<*~Y2`&dh{?;iGq3c%f%@B^MAc_|inj zhs|kF64oFJ{zSs>m^schgtKeG1udUt%WFh zPj>c_%dDTRI_amSzGlN?txdf4gtovzh_zMp9a$NP)ogG$3*#JAMU~P)gfC^%g7!Q* z*s5{3Z+<*327exWUA#MhP@)%E<~)i{Fc-B8U7<+0e-`Ou9*q}0bFMj!tF6?`jX`~N z#WTE)(km>HU;n`_R}h+{GH`J(+0WEUBPKDTf8o+g!)e7DYk;TRYw+?oziNOqe5U($+3dQKB@;Fq z)p`jXY@$@$ozqW#$f7!V^k=Lna6eVlffMbLM$yvt8nvBMO@GullBG-=pZn5E3~sOw#3Kr{%_?#A;_+ z=R_QH^UMiKBde!W2KtpxRCEWpS!b z@bk32KXoviM^eQ=Ciwg=+zwjwO#@wyrJ~Vkq$@a4v)d4ormxExLF@P`)QSP*cAci| zxTSh8!uLOS#CW?3Q&F82N+EAl34X^X7r@Oo=_w2y5yf1c6i+^6|Et=V^eXhzI3keP z43{vKJkQ7t%#P}}PZ!0R#^E7Rd-R8o7qP6BxIS!^-ysPrr**xDS)O121$9-C4Ds;H z!LqjC7-rA**u126 zHPcrCYqQ;_RvN)F)IK77U0YqRQ2{13%c5;@zeYa#@S#>>w=#*MIh8e4T(laep1RL; z%D4cNo@L?mj3bQ2R}S1ARW7)7*eqZ0?K`4}ev;({K!xk;mG?>FNF2BpuSuQ(v(wc1c@f$1}{g&Sqj#^`5_7YEUw_nYWXnAsP0^8acdwhS>>Cy zr&rq;`v7oz`k!_=lbQyY{cuLi(7|*9R+0n5Ge6C4Swr<*mW>WJZ$iiU{l7OVmR@we zGeNw&MxrCW3r?un`1c-}*&4i~e#tDc%+C}`T9aD!weocG9Gj6$qnbh!F10?|>283x n!PDq)9tPxZvdmboJ+GoC-bH%Y7(Jo*Fo4UR1CHemK_~wLZ_ literal 0 HcmV?d00001 From 0f35ccb1b23a1df1fe4cdffbbd8b67dd98617582 Mon Sep 17 00:00:00 2001 From: bebub123 <88442713+bebub123@users.noreply.github.com> Date: Wed, 16 Apr 2025 10:17:17 +0200 Subject: [PATCH 08/53] Update metadata.json --- apps/Abelwatch/metadata.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/apps/Abelwatch/metadata.json b/apps/Abelwatch/metadata.json index 0725f0e129..4f61c5c852 100644 --- a/apps/Abelwatch/metadata.json +++ b/apps/Abelwatch/metadata.json @@ -1,6 +1,6 @@ -{ "id": "abelwatch", - "name": "abelwatch", - "shortName":"abelwatch", +{ "id": "abbelWatch", + "name": "abbelwatch", + "shortName":"abbelWatch", "icon": "app.png", "version":"0.01", "description": "Multiple fonts and colors", From 7a25ce99120a85a6067942fd8cb157bd2b19fa3b Mon Sep 17 00:00:00 2001 From: bebub123 <88442713+bebub123@users.noreply.github.com> Date: Wed, 16 Apr 2025 10:18:48 +0200 Subject: [PATCH 09/53] Update metadata.json --- apps/Abelwatch/metadata.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/Abelwatch/metadata.json b/apps/Abelwatch/metadata.json index 4f61c5c852..7e78b96930 100644 --- a/apps/Abelwatch/metadata.json +++ b/apps/Abelwatch/metadata.json @@ -4,7 +4,7 @@ "icon": "app.png", "version":"0.01", "description": "Multiple fonts and colors", - "tags": "", + "tags": "abbelwatch", "supports": ["BANGLEJS2"], "storage": [ {"name":"abbelWatch.app.js","url":"app.js"}, From 672e740d77c5e6b91fdf4a6861de3273884ebf3b Mon Sep 17 00:00:00 2001 From: bebub123 <88442713+bebub123@users.noreply.github.com> Date: Wed, 16 Apr 2025 10:22:20 +0200 Subject: [PATCH 10/53] Delete apps/Abelwatch/app.js --- apps/Abelwatch/app.js | 1 - 1 file changed, 1 deletion(-) delete mode 100644 apps/Abelwatch/app.js diff --git a/apps/Abelwatch/app.js b/apps/Abelwatch/app.js deleted file mode 100644 index fd538074ff..0000000000 --- a/apps/Abelwatch/app.js +++ /dev/null @@ -1 +0,0 @@ -E.showMessage("My\nSimple\nApp","My App") From fb2e4084bb41ee15182451a75a7060f14555ccad Mon Sep 17 00:00:00 2001 From: bebub123 <88442713+bebub123@users.noreply.github.com> Date: Wed, 16 Apr 2025 10:22:33 +0200 Subject: [PATCH 11/53] Rename abbelWatch.app.js to app.js --- apps/Abelwatch/{abbelWatch.app.js => app.js} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename apps/Abelwatch/{abbelWatch.app.js => app.js} (100%) diff --git a/apps/Abelwatch/abbelWatch.app.js b/apps/Abelwatch/app.js similarity index 100% rename from apps/Abelwatch/abbelWatch.app.js rename to apps/Abelwatch/app.js From 9bb57b2d3dd62efd0b496ce22e090e8b077d6db4 Mon Sep 17 00:00:00 2001 From: bebub123 <88442713+bebub123@users.noreply.github.com> Date: Wed, 16 Apr 2025 10:34:03 +0200 Subject: [PATCH 12/53] Update metadata.json --- apps/Abelwatch/metadata.json | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/apps/Abelwatch/metadata.json b/apps/Abelwatch/metadata.json index 7e78b96930..45e0d43101 100644 --- a/apps/Abelwatch/metadata.json +++ b/apps/Abelwatch/metadata.json @@ -6,8 +6,8 @@ "description": "Multiple fonts and colors", "tags": "abbelwatch", "supports": ["BANGLEJS2"], - "storage": [ - {"name":"abbelWatch.app.js","url":"app.js"}, - {"name":"abbelWatch.img","url":"app-icon.js","evaluate":true} - ] +"storage": [ + {"name":"app.js","url":"app.js"}, + {"name":"abbelWatch.img","url":"app-icon.js","evaluate":true} +] } From d47759798e1bfc01ddcf158d324402b94eecf5c3 Mon Sep 17 00:00:00 2001 From: bebub123 <88442713+bebub123@users.noreply.github.com> Date: Wed, 16 Apr 2025 10:40:17 +0200 Subject: [PATCH 13/53] Rename app.js to abbelWatch.js --- apps/Abelwatch/{app.js => abbelWatch.js} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename apps/Abelwatch/{app.js => abbelWatch.js} (100%) diff --git a/apps/Abelwatch/app.js b/apps/Abelwatch/abbelWatch.js similarity index 100% rename from apps/Abelwatch/app.js rename to apps/Abelwatch/abbelWatch.js From 7fe2ea5402de5c96a9ac2363facd2ab3ee16301a Mon Sep 17 00:00:00 2001 From: bebub123 <88442713+bebub123@users.noreply.github.com> Date: Wed, 16 Apr 2025 10:40:32 +0200 Subject: [PATCH 14/53] Update metadata.json --- apps/Abelwatch/metadata.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/Abelwatch/metadata.json b/apps/Abelwatch/metadata.json index 45e0d43101..d18650cb15 100644 --- a/apps/Abelwatch/metadata.json +++ b/apps/Abelwatch/metadata.json @@ -7,7 +7,7 @@ "tags": "abbelwatch", "supports": ["BANGLEJS2"], "storage": [ - {"name":"app.js","url":"app.js"}, + {"name":"abbelWatch.js","url":"app.js"}, {"name":"abbelWatch.img","url":"app-icon.js","evaluate":true} ] } From e334dc73bcca2fe04234c5a36812c3ccf9ab6569 Mon Sep 17 00:00:00 2001 From: bebub123 <88442713+bebub123@users.noreply.github.com> Date: Wed, 16 Apr 2025 10:45:16 +0200 Subject: [PATCH 15/53] Rename metadata.json to metadata.json --- apps/{Abelwatch => abbelWatch}/metadata.json | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename apps/{Abelwatch => abbelWatch}/metadata.json (100%) diff --git a/apps/Abelwatch/metadata.json b/apps/abbelWatch/metadata.json similarity index 100% rename from apps/Abelwatch/metadata.json rename to apps/abbelWatch/metadata.json From 980858afe8b611d31826004518b9c6005c0ab8f8 Mon Sep 17 00:00:00 2001 From: bebub123 <88442713+bebub123@users.noreply.github.com> Date: Wed, 16 Apr 2025 10:46:20 +0200 Subject: [PATCH 16/53] Rename abbelWatch.js to abbelWatch.js --- apps/{Abelwatch => abbelWatch}/abbelWatch.js | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename apps/{Abelwatch => abbelWatch}/abbelWatch.js (100%) diff --git a/apps/Abelwatch/abbelWatch.js b/apps/abbelWatch/abbelWatch.js similarity index 100% rename from apps/Abelwatch/abbelWatch.js rename to apps/abbelWatch/abbelWatch.js From 64b6f042cd45b09f4e6aa47f57c0dd9d3479a90a Mon Sep 17 00:00:00 2001 From: bebub123 <88442713+bebub123@users.noreply.github.com> Date: Wed, 16 Apr 2025 10:46:46 +0200 Subject: [PATCH 17/53] Rename app-icon.js to app-icon.js --- apps/{Abelwatch => abbelWatch}/app-icon.js | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename apps/{Abelwatch => abbelWatch}/app-icon.js (100%) diff --git a/apps/Abelwatch/app-icon.js b/apps/abbelWatch/app-icon.js similarity index 100% rename from apps/Abelwatch/app-icon.js rename to apps/abbelWatch/app-icon.js From 50c2b0eefa8e598c8a6529260b50045fd39ce0c5 Mon Sep 17 00:00:00 2001 From: bebub123 <88442713+bebub123@users.noreply.github.com> Date: Wed, 16 Apr 2025 10:47:19 +0200 Subject: [PATCH 18/53] Rename app.png to app.png --- apps/{Abelwatch => abbelWatch}/app.png | Bin 1 file changed, 0 insertions(+), 0 deletions(-) rename apps/{Abelwatch => abbelWatch}/app.png (100%) diff --git a/apps/Abelwatch/app.png b/apps/abbelWatch/app.png similarity index 100% rename from apps/Abelwatch/app.png rename to apps/abbelWatch/app.png From 7dee3f58ac332ae8fdcd7fe6b95f8414b8be74c0 Mon Sep 17 00:00:00 2001 From: bebub123 <88442713+bebub123@users.noreply.github.com> Date: Wed, 16 Apr 2025 10:50:09 +0200 Subject: [PATCH 19/53] Update metadata.json --- apps/abbelWatch/metadata.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/abbelWatch/metadata.json b/apps/abbelWatch/metadata.json index d18650cb15..4f48d1c6c8 100644 --- a/apps/abbelWatch/metadata.json +++ b/apps/abbelWatch/metadata.json @@ -7,7 +7,7 @@ "tags": "abbelwatch", "supports": ["BANGLEJS2"], "storage": [ - {"name":"abbelWatch.js","url":"app.js"}, + {"name":"abbelWatch.app.js","url":"app.js"}, {"name":"abbelWatch.img","url":"app-icon.js","evaluate":true} ] } From 873a7edb5d791087faa9fff43e3f664b3eb56146 Mon Sep 17 00:00:00 2001 From: bebub123 <88442713+bebub123@users.noreply.github.com> Date: Wed, 16 Apr 2025 10:51:47 +0200 Subject: [PATCH 20/53] Rename abbelWatch.js to abbelWatch.app.js --- apps/abbelWatch/{abbelWatch.js => abbelWatch.app.js} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename apps/abbelWatch/{abbelWatch.js => abbelWatch.app.js} (100%) diff --git a/apps/abbelWatch/abbelWatch.js b/apps/abbelWatch/abbelWatch.app.js similarity index 100% rename from apps/abbelWatch/abbelWatch.js rename to apps/abbelWatch/abbelWatch.app.js From 7ceabe7cb8fc51dc1a51dc0fc27807f818e8f64a Mon Sep 17 00:00:00 2001 From: bebub123 <88442713+bebub123@users.noreply.github.com> Date: Wed, 16 Apr 2025 10:54:32 +0200 Subject: [PATCH 21/53] Update metadata.json --- apps/abbelWatch/metadata.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/abbelWatch/metadata.json b/apps/abbelWatch/metadata.json index 4f48d1c6c8..f68b9564a3 100644 --- a/apps/abbelWatch/metadata.json +++ b/apps/abbelWatch/metadata.json @@ -7,7 +7,7 @@ "tags": "abbelwatch", "supports": ["BANGLEJS2"], "storage": [ - {"name":"abbelWatch.app.js","url":"app.js"}, + {"name":"abbelWatch.app.js","url":"abbelWatch.app.js"}, {"name":"abbelWatch.img","url":"app-icon.js","evaluate":true} ] } From f2c275e150590f3f9f8c2a47b5116f1266c6c7ac Mon Sep 17 00:00:00 2001 From: bebub123 <88442713+bebub123@users.noreply.github.com> Date: Wed, 16 Apr 2025 11:06:13 +0200 Subject: [PATCH 22/53] Update metadata.json --- apps/abbelWatch/metadata.json | 1 + 1 file changed, 1 insertion(+) diff --git a/apps/abbelWatch/metadata.json b/apps/abbelWatch/metadata.json index f68b9564a3..0bee9e76c8 100644 --- a/apps/abbelWatch/metadata.json +++ b/apps/abbelWatch/metadata.json @@ -2,6 +2,7 @@ "name": "abbelwatch", "shortName":"abbelWatch", "icon": "app.png", + "type": "clock", "version":"0.01", "description": "Multiple fonts and colors", "tags": "abbelwatch", From a855489bed70cb41ace4b80c3e0eadc6ee49257e Mon Sep 17 00:00:00 2001 From: bebub123 <88442713+bebub123@users.noreply.github.com> Date: Wed, 16 Apr 2025 11:09:20 +0200 Subject: [PATCH 23/53] Update metadata.json --- apps/abbelWatch/metadata.json | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/apps/abbelWatch/metadata.json b/apps/abbelWatch/metadata.json index 0bee9e76c8..04bf8f4368 100644 --- a/apps/abbelWatch/metadata.json +++ b/apps/abbelWatch/metadata.json @@ -4,8 +4,10 @@ "icon": "app.png", "type": "clock", "version":"0.01", - "description": "Multiple fonts and colors", - "tags": "abbelwatch", + "description": "A clock that Includes a selection of fonts to personalize your watch face" + "tags": "abbelwatch, clock, steps", + "allow_emulator": true, + "readme": "README.md", "supports": ["BANGLEJS2"], "storage": [ {"name":"abbelWatch.app.js","url":"abbelWatch.app.js"}, From ddddd2a41c85c3feb11a8b73f5b4bad0b9f5cacc Mon Sep 17 00:00:00 2001 From: bebub123 <88442713+bebub123@users.noreply.github.com> Date: Wed, 16 Apr 2025 11:09:43 +0200 Subject: [PATCH 24/53] Add files via upload --- apps/abbelWatch/README.md | 44 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 44 insertions(+) create mode 100644 apps/abbelWatch/README.md diff --git a/apps/abbelWatch/README.md b/apps/abbelWatch/README.md new file mode 100644 index 0000000000..c0ad481597 --- /dev/null +++ b/apps/abbelWatch/README.md @@ -0,0 +1,44 @@ +# AbbelWatch +--- + +**AbbelWatch** is a custom watch face project based on the **Numeral App** for the **Bangle.js 2** smartwatch. +It features a stylish design, multiple fonts, and intuitive gesture controls to enhance your daily smartwatch experience. + +--- + +## ✨ Features + +### 🔠 Custom Fonts +Includes a selection of fonts to personalize your watch face: +- **Bodoni** +- **NumeraLE** +- **NewRocker** +- **Teko** + +### 👆 Gesture Controls + +#### ➡️ Swipe Gestures +- **Swipe Left** → Displays: + - Seconds + - Step count + - Heart rate (BPM) +- **Swipe Right** → Displays: + - Current date + +#### ⬆️⬇️ Drag Gestures +- **Swipe Up** → Shows battery percentage 🔋 +- **Swipe Down** → Activates flashlight mode 💡 + +### 📲 Long Press (on screen) +Opens an interactive **settings menu** with two submenus: + +#### 🎨 Color Customization +Customize the colors of: +- Background +- Upper digits +- Lower digits + +#### 🔤 Font Selection +Choose your preferred font from the list above for a truly personal style. + +--- \ No newline at end of file From 4d705b7e9e408886048fc3d94ea66f1bcc7d507d Mon Sep 17 00:00:00 2001 From: bebub123 <88442713+bebub123@users.noreply.github.com> Date: Wed, 16 Apr 2025 11:15:00 +0200 Subject: [PATCH 25/53] Update metadata.json --- apps/abbelWatch/metadata.json | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/apps/abbelWatch/metadata.json b/apps/abbelWatch/metadata.json index 04bf8f4368..faf3c890ad 100644 --- a/apps/abbelWatch/metadata.json +++ b/apps/abbelWatch/metadata.json @@ -2,14 +2,13 @@ "name": "abbelwatch", "shortName":"abbelWatch", "icon": "app.png", + "description": "A clock that Includes a selection of fonts to personalize your watch face" "type": "clock", "version":"0.01", - "description": "A clock that Includes a selection of fonts to personalize your watch face" "tags": "abbelwatch, clock, steps", - "allow_emulator": true, "readme": "README.md", "supports": ["BANGLEJS2"], -"storage": [ + "storage": [ {"name":"abbelWatch.app.js","url":"abbelWatch.app.js"}, {"name":"abbelWatch.img","url":"app-icon.js","evaluate":true} ] From 38ae96fe7464106430d6e495ad7f93e6b15ead0d Mon Sep 17 00:00:00 2001 From: bebub123 <88442713+bebub123@users.noreply.github.com> Date: Wed, 16 Apr 2025 11:15:34 +0200 Subject: [PATCH 26/53] Update metadata.json --- apps/abbelWatch/metadata.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/abbelWatch/metadata.json b/apps/abbelWatch/metadata.json index faf3c890ad..7edbe699d8 100644 --- a/apps/abbelWatch/metadata.json +++ b/apps/abbelWatch/metadata.json @@ -5,7 +5,7 @@ "description": "A clock that Includes a selection of fonts to personalize your watch face" "type": "clock", "version":"0.01", - "tags": "abbelwatch, clock, steps", + "tags": "abbelwatch,clock", "readme": "README.md", "supports": ["BANGLEJS2"], "storage": [ From d0f65975aa5c4dcc390073eb478e8320fa5ad965 Mon Sep 17 00:00:00 2001 From: bebub123 <88442713+bebub123@users.noreply.github.com> Date: Wed, 16 Apr 2025 11:21:24 +0200 Subject: [PATCH 27/53] Update README.md --- apps/abbelWatch/README.md | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/apps/abbelWatch/README.md b/apps/abbelWatch/README.md index c0ad481597..6059000098 100644 --- a/apps/abbelWatch/README.md +++ b/apps/abbelWatch/README.md @@ -6,18 +6,18 @@ It features a stylish design, multiple fonts, and intuitive gesture controls to --- -## ✨ Features +## Features -### 🔠 Custom Fonts +### Custom Fonts Includes a selection of fonts to personalize your watch face: - **Bodoni** - **NumeraLE** - **NewRocker** - **Teko** -### 👆 Gesture Controls +### Gesture Controls -#### ➡️ Swipe Gestures +#### Swipe Gestures - **Swipe Left** → Displays: - Seconds - Step count @@ -25,20 +25,20 @@ Includes a selection of fonts to personalize your watch face: - **Swipe Right** → Displays: - Current date -#### ⬆️⬇️ Drag Gestures -- **Swipe Up** → Shows battery percentage 🔋 -- **Swipe Down** → Activates flashlight mode 💡 +#### Drag Gestures +- **Swipe Up** → Shows battery percentage +- **Swipe Down** → Activates flashlight mode -### 📲 Long Press (on screen) +### Long Press (on screen) Opens an interactive **settings menu** with two submenus: -#### 🎨 Color Customization +#### Color Customization Customize the colors of: - Background - Upper digits - Lower digits -#### 🔤 Font Selection +#### Font Selection Choose your preferred font from the list above for a truly personal style. ---- \ No newline at end of file +--- From 3bd862aa56bcfe77715a8736870367cf3c1cf618 Mon Sep 17 00:00:00 2001 From: bebub123 <88442713+bebub123@users.noreply.github.com> Date: Wed, 16 Apr 2025 11:21:58 +0200 Subject: [PATCH 28/53] Update metadata.json --- apps/abbelWatch/metadata.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/abbelWatch/metadata.json b/apps/abbelWatch/metadata.json index 7edbe699d8..54046e77b6 100644 --- a/apps/abbelWatch/metadata.json +++ b/apps/abbelWatch/metadata.json @@ -5,7 +5,7 @@ "description": "A clock that Includes a selection of fonts to personalize your watch face" "type": "clock", "version":"0.01", - "tags": "abbelwatch,clock", + "tags": "abbelwatch", "readme": "README.md", "supports": ["BANGLEJS2"], "storage": [ From 29c13738a510caf3537c60b92061aa5c5bf32ace Mon Sep 17 00:00:00 2001 From: bebub123 <88442713+bebub123@users.noreply.github.com> Date: Wed, 16 Apr 2025 11:23:45 +0200 Subject: [PATCH 29/53] Update metadata.json --- apps/abbelWatch/metadata.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/abbelWatch/metadata.json b/apps/abbelWatch/metadata.json index 54046e77b6..475aae58b2 100644 --- a/apps/abbelWatch/metadata.json +++ b/apps/abbelWatch/metadata.json @@ -2,7 +2,7 @@ "name": "abbelwatch", "shortName":"abbelWatch", "icon": "app.png", - "description": "A clock that Includes a selection of fonts to personalize your watch face" + "description": "A clock that Includes a selection of fonts to personalize your watch face", "type": "clock", "version":"0.01", "tags": "abbelwatch", From 308770851d843df0c9091ccc2502d55e3d0dab3d Mon Sep 17 00:00:00 2001 From: bebub123 <88442713+bebub123@users.noreply.github.com> Date: Wed, 16 Apr 2025 11:25:51 +0200 Subject: [PATCH 30/53] Update metadata.json --- apps/abbelWatch/metadata.json | 1 - 1 file changed, 1 deletion(-) diff --git a/apps/abbelWatch/metadata.json b/apps/abbelWatch/metadata.json index 475aae58b2..658a0d09bf 100644 --- a/apps/abbelWatch/metadata.json +++ b/apps/abbelWatch/metadata.json @@ -6,7 +6,6 @@ "type": "clock", "version":"0.01", "tags": "abbelwatch", - "readme": "README.md", "supports": ["BANGLEJS2"], "storage": [ {"name":"abbelWatch.app.js","url":"abbelWatch.app.js"}, From 80ecbd7d5e992651d1e52bfb4dfaa722ed0425a8 Mon Sep 17 00:00:00 2001 From: bebub123 <88442713+bebub123@users.noreply.github.com> Date: Wed, 16 Apr 2025 11:28:34 +0200 Subject: [PATCH 31/53] Update metadata.json --- apps/abbelWatch/metadata.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/abbelWatch/metadata.json b/apps/abbelWatch/metadata.json index 658a0d09bf..a42cfca391 100644 --- a/apps/abbelWatch/metadata.json +++ b/apps/abbelWatch/metadata.json @@ -1,4 +1,4 @@ -{ "id": "abbelWatch", +{ "id": "abbelwatch", "name": "abbelwatch", "shortName":"abbelWatch", "icon": "app.png", From 5ddb92e85a8b5c5a24a9eeb36f766724646e3d1c Mon Sep 17 00:00:00 2001 From: bebub123 <88442713+bebub123@users.noreply.github.com> Date: Wed, 16 Apr 2025 11:29:52 +0200 Subject: [PATCH 32/53] Delete apps/abbelWatch/README.md --- apps/abbelWatch/README.md | 44 --------------------------------------- 1 file changed, 44 deletions(-) delete mode 100644 apps/abbelWatch/README.md diff --git a/apps/abbelWatch/README.md b/apps/abbelWatch/README.md deleted file mode 100644 index 6059000098..0000000000 --- a/apps/abbelWatch/README.md +++ /dev/null @@ -1,44 +0,0 @@ -# AbbelWatch ---- - -**AbbelWatch** is a custom watch face project based on the **Numeral App** for the **Bangle.js 2** smartwatch. -It features a stylish design, multiple fonts, and intuitive gesture controls to enhance your daily smartwatch experience. - ---- - -## Features - -### Custom Fonts -Includes a selection of fonts to personalize your watch face: -- **Bodoni** -- **NumeraLE** -- **NewRocker** -- **Teko** - -### Gesture Controls - -#### Swipe Gestures -- **Swipe Left** → Displays: - - Seconds - - Step count - - Heart rate (BPM) -- **Swipe Right** → Displays: - - Current date - -#### Drag Gestures -- **Swipe Up** → Shows battery percentage -- **Swipe Down** → Activates flashlight mode - -### Long Press (on screen) -Opens an interactive **settings menu** with two submenus: - -#### Color Customization -Customize the colors of: -- Background -- Upper digits -- Lower digits - -#### Font Selection -Choose your preferred font from the list above for a truly personal style. - ---- From 79d21aecaafeb4c268380cabad6df449b2a0b597 Mon Sep 17 00:00:00 2001 From: bebub123 <88442713+bebub123@users.noreply.github.com> Date: Wed, 16 Apr 2025 12:21:49 +0200 Subject: [PATCH 33/53] Rename abbelWatch.app.js to abbelwatch.app.js --- .../abbelWatch.app.js => abbelwatch/abbelwatch.app.js} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename apps/{abbelWatch/abbelWatch.app.js => abbelwatch/abbelwatch.app.js} (100%) diff --git a/apps/abbelWatch/abbelWatch.app.js b/apps/abbelwatch/abbelwatch.app.js similarity index 100% rename from apps/abbelWatch/abbelWatch.app.js rename to apps/abbelwatch/abbelwatch.app.js From 643c0db14418eb198e0df32d98b15e29dc5c4cb5 Mon Sep 17 00:00:00 2001 From: bebub123 <88442713+bebub123@users.noreply.github.com> Date: Wed, 16 Apr 2025 12:22:20 +0200 Subject: [PATCH 34/53] Rename app-icon.js to app-icon.js --- apps/{abbelWatch => abbelwatch}/app-icon.js | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename apps/{abbelWatch => abbelwatch}/app-icon.js (100%) diff --git a/apps/abbelWatch/app-icon.js b/apps/abbelwatch/app-icon.js similarity index 100% rename from apps/abbelWatch/app-icon.js rename to apps/abbelwatch/app-icon.js From 24be958c4e91eed7d99b621e04b0c30a3139f529 Mon Sep 17 00:00:00 2001 From: bebub123 <88442713+bebub123@users.noreply.github.com> Date: Wed, 16 Apr 2025 12:22:41 +0200 Subject: [PATCH 35/53] Rename app.png to app.png --- apps/{abbelWatch => abbelwatch}/app.png | Bin 1 file changed, 0 insertions(+), 0 deletions(-) rename apps/{abbelWatch => abbelwatch}/app.png (100%) diff --git a/apps/abbelWatch/app.png b/apps/abbelwatch/app.png similarity index 100% rename from apps/abbelWatch/app.png rename to apps/abbelwatch/app.png From c23bd5e6dd55ff6849f5cabb139466be59ca9359 Mon Sep 17 00:00:00 2001 From: bebub123 <88442713+bebub123@users.noreply.github.com> Date: Wed, 16 Apr 2025 12:23:00 +0200 Subject: [PATCH 36/53] Rename metadata.json to metadata.json --- apps/{abbelWatch => abbelwatch}/metadata.json | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename apps/{abbelWatch => abbelwatch}/metadata.json (100%) diff --git a/apps/abbelWatch/metadata.json b/apps/abbelwatch/metadata.json similarity index 100% rename from apps/abbelWatch/metadata.json rename to apps/abbelwatch/metadata.json From c466e5dc7c2b8b42e87d983186ead0d26ba0a0fd Mon Sep 17 00:00:00 2001 From: bebub123 <88442713+bebub123@users.noreply.github.com> Date: Wed, 16 Apr 2025 12:23:19 +0200 Subject: [PATCH 37/53] Update metadata.json --- apps/abbelwatch/metadata.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/abbelwatch/metadata.json b/apps/abbelwatch/metadata.json index a42cfca391..cfd9ee9003 100644 --- a/apps/abbelwatch/metadata.json +++ b/apps/abbelwatch/metadata.json @@ -1,6 +1,6 @@ { "id": "abbelwatch", "name": "abbelwatch", - "shortName":"abbelWatch", + "shortName":"abbelwatch", "icon": "app.png", "description": "A clock that Includes a selection of fonts to personalize your watch face", "type": "clock", From 1f35430eae07302cc51b74c66ffd24e0a3e92988 Mon Sep 17 00:00:00 2001 From: bebub123 <88442713+bebub123@users.noreply.github.com> Date: Wed, 16 Apr 2025 12:27:19 +0200 Subject: [PATCH 38/53] Update metadata.json --- apps/abbelwatch/metadata.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/apps/abbelwatch/metadata.json b/apps/abbelwatch/metadata.json index cfd9ee9003..9a7740864e 100644 --- a/apps/abbelwatch/metadata.json +++ b/apps/abbelwatch/metadata.json @@ -8,7 +8,7 @@ "tags": "abbelwatch", "supports": ["BANGLEJS2"], "storage": [ - {"name":"abbelWatch.app.js","url":"abbelWatch.app.js"}, - {"name":"abbelWatch.img","url":"app-icon.js","evaluate":true} + {"name":"abbelwatch.app.js","url":"abbelwatch.app.js"}, + {"name":"abbelwatch.img","url":"app-icon.js","evaluate":true} ] } From 30d92cb308a31d8ad3d6a98ff3f232f7566ad9a3 Mon Sep 17 00:00:00 2001 From: bebub123 <88442713+bebub123@users.noreply.github.com> Date: Wed, 16 Apr 2025 12:32:53 +0200 Subject: [PATCH 39/53] Update metadata.json --- apps/abbelwatch/metadata.json | 1 + 1 file changed, 1 insertion(+) diff --git a/apps/abbelwatch/metadata.json b/apps/abbelwatch/metadata.json index 9a7740864e..706b62daf7 100644 --- a/apps/abbelwatch/metadata.json +++ b/apps/abbelwatch/metadata.json @@ -6,6 +6,7 @@ "type": "clock", "version":"0.01", "tags": "abbelwatch", + "readme": "README.md", "supports": ["BANGLEJS2"], "storage": [ {"name":"abbelwatch.app.js","url":"abbelwatch.app.js"}, From 7ee68b1280517602f1075ddd1a838d24330c2263 Mon Sep 17 00:00:00 2001 From: bebub123 <88442713+bebub123@users.noreply.github.com> Date: Wed, 16 Apr 2025 12:33:04 +0200 Subject: [PATCH 40/53] Add files via upload --- apps/abbelwatch/README.md | 44 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 44 insertions(+) create mode 100644 apps/abbelwatch/README.md diff --git a/apps/abbelwatch/README.md b/apps/abbelwatch/README.md new file mode 100644 index 0000000000..c0ad481597 --- /dev/null +++ b/apps/abbelwatch/README.md @@ -0,0 +1,44 @@ +# AbbelWatch +--- + +**AbbelWatch** is a custom watch face project based on the **Numeral App** for the **Bangle.js 2** smartwatch. +It features a stylish design, multiple fonts, and intuitive gesture controls to enhance your daily smartwatch experience. + +--- + +## ✨ Features + +### 🔠 Custom Fonts +Includes a selection of fonts to personalize your watch face: +- **Bodoni** +- **NumeraLE** +- **NewRocker** +- **Teko** + +### 👆 Gesture Controls + +#### ➡️ Swipe Gestures +- **Swipe Left** → Displays: + - Seconds + - Step count + - Heart rate (BPM) +- **Swipe Right** → Displays: + - Current date + +#### ⬆️⬇️ Drag Gestures +- **Swipe Up** → Shows battery percentage 🔋 +- **Swipe Down** → Activates flashlight mode 💡 + +### 📲 Long Press (on screen) +Opens an interactive **settings menu** with two submenus: + +#### 🎨 Color Customization +Customize the colors of: +- Background +- Upper digits +- Lower digits + +#### 🔤 Font Selection +Choose your preferred font from the list above for a truly personal style. + +--- \ No newline at end of file From 4b34195cf2331b23fb35825f824089c05e768040 Mon Sep 17 00:00:00 2001 From: bebub123 <88442713+bebub123@users.noreply.github.com> Date: Wed, 16 Apr 2025 13:17:42 +0200 Subject: [PATCH 41/53] Update abbelwatch.app.js New Font --- apps/abbelwatch/abbelwatch.app.js | 56 +++++++++++++++++++++++++------ 1 file changed, 45 insertions(+), 11 deletions(-) diff --git a/apps/abbelwatch/abbelwatch.app.js b/apps/abbelwatch/abbelwatch.app.js index ef9394a518..1a53c8ec0e 100644 --- a/apps/abbelwatch/abbelwatch.app.js +++ b/apps/abbelwatch/abbelwatch.app.js @@ -11,11 +11,11 @@ const LONG_PRESS_DURATION = 1000; // 1 second for long press const DEFAULT_BRIGHTNESS = 0.5; const MAX_BRIGHTNESS = 1.0; -var currentFont = "NummeralByLucaEggerRegular"; +var currentFont = "NummeralByLERegular"; // App state let state = { - wischfunktion: 0, // Main display mode (0=date, 1=time, 2=seconds, 3=steps, 4=heart rate) + wischfunktion: 1, // Main display mode (0=date, 1=time, 2=seconds, 3=steps, 4=heart rate) wischfunktionZ: 1, // Secondary display mode (0=battery, 1=normal, 2=light) window: 1, // Current horizontal swipe position windowZ: 1, // Current vertical swipe position @@ -49,11 +49,34 @@ let colors = { function setupFonts() { -Graphics.prototype.setFontNummeralByLucaEggerRegular = function() { - // Actual height 43 (47 - 5) + + + + + + + Graphics.prototype.setFontNunitoBlack = function() { + +// Actual height ///58//// (54 - 2) // 1 BPP return this.setFontCustom( - E.toString(require('heatshrink').decompress(atob('ABUCAwv+AokP/AGEv/gAocH/4MEn4TEgP/4AgEE4t/+ATFGhcfKpcHAokBJww6Ej4MEg5AEHIOAM5IYLgBmFn5fEh/8MpYYEgFwZLP/AAQ3Bh4GDFYIFDHAIMEIoN/AwfggYTFj4FDOQIME4DjBAAR5Bn47ENIIWBGIOAAQQQBGgSWCGgYMBEgI0BRQU/GgSwBEgI0CRwQ0CEAV/GgRsBEgQPCEgYPBGkwTBCAJpEv6eqAAY0CaYgTEc4oMBDQhLBAH4A/ACN8AokP+AGEVwQACaYIMEn7jBAAS4BCYkPcYIADv4nEgbJFj7TFAoYdBGgIACGIL0E8DtEDQMPfYt/CYg0BAAY0FE4IgFCYgMBE4hSEABMHKIRzCAQI9BIIMP/BeCPQJEBJQXABQIMCC4KeBNYXwNIPBNIn+IYRpC+AgCNIWDNIn8j/4v5pC8H/4Y0E/0fGgnwGgoiBGgYiBGggiBGgj4CGgb4CGgQiBGgj4CGgYkBGl6cCGgYABGgacCGgacCGgYABGgb5CGgYABGgggBGgQTC4E/8DyEfYQAMnEAmEAuEAg/wgfAh4gCEoI4BwA0BgY0DT2o0wj40FaoI0Dw40Fn40E8I0FcgI0Ev40E4Y0WdwTcCcAIACGgQADegYABGgQADGgQACGgQGD+ATFgAnEBgIAMJ4JMBAwQnBFYIABEAQ/BBgZTBDIgaDNIRnBAAJpCCYRBDBgQTCE43AAwRnDAAZaFPAJPDDYI0DIYQ0CF4YgEaIRkEGgatBGn40FUoYbCfYgMFEQIMEGwL0E4AlBCYirCfYQgEGwITEEAInEPAgAJOoKDBjhID+EDEAnAn/gGgZ/BwD0C/kfDgN/AwPgAIIPBAAJFBEAf4n5pE4JpE/0PNIX8n/wv5pC8P/wY0Dh40E/F/GgnDGgn+j40E+A0Fw40/GiwABGgbnDGgTICGgSgCGgbcCGgJGBfYUH/i0Cc4XAE4WAgF8bgQMBABruCJwMAEoRBCBghVBBghpCAwfwNIIADwA/CCYYME8AgEE4JnCLgRpBHYieEPoKeEGgTTDGgLTDGgTTDGgTTCGgTTDGgTTDGn40GTwY0BTwg0BTwmHTwg0BTwg0BTwZGC/40BIwITCdwIcBBgcDbgYMBACc8AYUcEAQFBgIDBn/AAwMf4EDGAIQBHAKcBAwM/AYJRBBgXAg4TCn5VDBgXwNIOABIIDBTgMAQAIDBTgICBEAIwCBgItBGgQMBDoIwCBgQ0CBgY0BSIIMBGgS+CgA0BBgJsCaIQwBJYQMEGgIMDGgPfBgY4BWARsCWAg0BBgjRCXoZMBBgbKGj56CGgafCGgYMEGgIMDGgIMEGgJtBGgbGCGgYMEh4MEE4IMEgBtCDQYFEAChwBAALGCAoRyCBgZFBBgiGBTwQAB+CeCCYaeCAAJzBEAngTwQACTwQ7EB4N/CAPAGgMD/EfGgQEB4A0D4H+CAI0BAgPwn40CAgOBGgeB/hFBGgIEBF4I0/GgienAAY0CaYgTEc4oMBDQnAAwIASLgIeBv0AJAX4g5BBNIR4B8BpDCAJpD/ieDAwPhNIqeDE4SeDAAPDNIn+aYk/+CeD4P/w7TDh40E+F/GgmDGgn8j40E8A0Fg40/GgzTDTwi0CTwYABegqeEdwSeCfYbTCAAI0CAAeACYggBE4mADQnwgAAbgQCB4AGCnkAh4FCgYrBN4IABj5FB8AGCBQM/AoQKBgJOBAAMeBAJOBAANAHJIA=='))), +E.toString(require('heatshrink').decompress(atob('ACUIAwsf4AGEh/4AwkD/wGEgP/wAHEv/gEYocFg4cFgAcGn45Fg4jFAA8BAwsDDgsD+AjF/hkF/4GGDgkf/4cEn//DggGBDgl/AwoFBNYgGFRoIiEgYGBQ4YGGg4GBHwYbCP4g3BAwhTBLQgcBUQjGISYseVBgAJv4zESoJCEIIIABGoSOCMwYNDSAQbCDoZzCRQZzCCogGECoIqDFYUPFwUDVwMDTgc/IIK4Dh4cCJYQSCDg4yECQI5GLojFBKwwVEGwRzGFYiQGT4YbEKgbFWAAcQAwsOAwsHa4iRFAAK1BCov/Cot/dgapCPwIADj4jFh6FCGIf+c5l/AwY1BVpoccAC1gQoQcCniFDOYWARgkPQIV/HITdCv5WDSYQDC/4cBKQIcBn5ZDDgIjCh5WCZIQGBDgQqBM4PfDgWAAwPnDgYGB8IcCQAd/HIQAB/EfDgSHCg6QE/hzCVoQ0BDgQVBAwIcCCoQDBO4QGCSAcPPYaUCiCUCDgIAOuCtFjwGCRoUPD4RWDRII5BGoICCBAKGBVoU/DIPgD4QeBUYfggYhBDIIJCLYIcCPAYcDwBbBDgg7CDgX8gYXCHIXDcoM/DgS1CWwLdDV4StD77nDv//+4GBEYIVB/IGBEYLgB/gmBWgV//y+BPwUHH4IqCAAM8WYIGDVIwAJVgQGEGIQGDEYpABAwwcEJwgGDDgiDCAwvfDgYGB44cDAwPBDgYwCYgKQD4DEBAwMfAwMHDgSGBVo4ACDgYACDoIcBAAQdBDjgACgK0GKwYACKwYACKwYcDb4QAXgZ7BDoRFDKwn+dAZWCCoZzC8EBCAJzCBYM/wAcEh/gDgeAgYcFgAcDBYQcDBYQcD4ALBHIfwh/wgYcC/kD/+DFoIcCUwQcEZQnwHYTKC/hYCEYIcCCoSxDCoQqBWITYDYQYGFD4IUBACKkCbwYqFh5HETAZkCBoZdCAwhPDAwZTBNQQVEAwaQD/DMBSAf4VoMPVoICBPgK+Cgf8PgTKC/6ZBZQYJBPILKCBIJXCDgX4JIYcB/xJDFoIcCKwYcBMwQjBDgIVCLoQmBZQKJDOoQGEM4IGFgFgYSQAENQQoFAwqHCHwhZBAAMcDgs/Dgt/DIIcDOYQcCNoIZBDgUDOgIcDTAQcDRIQcDVoQcDRAKQDv6lCTwIcBWYTQBFAYpCHoTIDDgQ+DDgayGRQgcBF4QcDQQaQIACMDDAZ7Bh47DFYJ7BLwRPBIYh5B8ZfDCQP9SAhsCSAYGDCoQGEFYKdDh5oBh/gn4aBIIMD/EHAgM/DgILBEIMHDgWAKAISBDgPwn4VBDgQwDHJLKDKwpuBNgQGBx7FDJ4PDLoYVB8AVBTAQ/BBISjCAYN/AwStDd4YAVewpICdIgGBPALSCIoJUBSASmC8CjBOYf8SATKDSA3ADgSHDDgU/4EDDgYJCv8BZQYtB4F/DgIJBg6+BDgXgCAM/VoMP/+H/l/M4I5D/5dFWgbKEOoIVEUwQVDAwRlDWgYGGBwSYEg5YBADMQAQMIAwSUCPgJXCOAQtCg5wCNgUB/+AAQReCUARQCj6gCDgsHDghoCDgTEBAQYSBAYMHOgYAFA=='))), + 46, + atob("DhgbFhoaHBobGhsbDg=="), + 58|65536 + ); +}; + + + + + + +Graphics.prototype.setFontNummeralByLERegular = function() { + // Actual height 43 (47 - 5) + // 1 BPP + + return this.setFontCustom( E.toString(require('heatshrink').decompress(atob('ABUCAwv+AokP/AGEv/gAocH/4MEn4TEgP/4AgEE4t/+ATFGhcfKpcHAokBJww6Ej4MEg5AEHIOAM5IYLgBmFn5fEh/8MpYYEgFwZLP/AAQ3Bh4GDFYIFDHAIMEIoN/AwfggYTFj4FDOQIME4DjBAAR5Bn47ENIIWBGIOAAQQQBGgSWCGgYMBEgI0BRQU/GgSwBEgI0CRwQ0CEAV/GgRsBEgQPCEgYPBGkwTBCAJpEv6eqAAY0CaYgTEc4oMBDQhLBAH4A/ACN8AokP+AGEVwQACaYIMEn7jBAAS4BCYkPcYIADv4nEgbJFj7TFAoYdBGgIACGIL0E8DtEDQMPfYt/CYg0BAAY0FE4IgFCYgMBE4hSEABMHKIRzCAQI9BIIMP/BeCPQJEBJQXABQIMCC4KeBNYXwNIPBNIn+IYRpC+AgCNIWDNIn8j/4v5pC8H/4Y0E/0fGgnwGgoiBGgYiBGggiBGgj4CGgb4CGgQiBGgj4CGgYkBGl6cCGgYABGgacCGgacCGgYABGgb5CGgYABGgggBGgQTC4E/8DyEfYQAMnEAmEAuEAg/wgfAh4gCEoI4BwA0BgY0DT2o0wj40FaoI0Dw40Fn40E8I0FcgI0Ev40E4Y0WdwTcCcAIACGgQADegYABGgQADGgQACGgQGD+ATFgAnEBgIAMJ4JMBAwQnBFYIABEAQ/BBgZTBDIgaDNIRnBAAJpCCYRBDBgQTCE43AAwRnDAAZaFPAJPDDYI0DIYQ0CF4YgEaIRkEGgatBGn40FUoYbCfYgMFEQIMEGwL0E4AlBCYirCfYQgEGwITEEAInEPAgAJOoKDBjhID+EDEAnAn/gGgZ/BwD0C/kfDgN/AwPgAIIPBAAJFBEAf4n5pE4JpE/0PNIX8n/wv5pC8P/wY0Dh40E/F/GgnDGgn+j40E+A0Fw40/GiwABGgbnDGgTICGgSgCGgbcCGgJGBfYUH/i0Cc4XAE4WAgF8bgQMBABruCJwMAEoRBCBghVBBghpCAwfwNIIADwA/CCYYME8AgEE4JnCLgRpBHYieEPoKeEGgTTDGgLTDGgTTDGgTTCGgTTDGgTTDGn40GTwY0BTwg0BTwmHTwg0BTwg0BTwZGC/40BIwITCdwIcBBgcDbgYMBACc8AYUcEAQFBgIDBn/AAwMf4EDGAIQBHAKcBAwM/AYJRBBgXAg4TCn5VDBgXwNIOABIIDBTgMAQAIDBTgICBEAIwCBgItBGgQMBDoIwCBgQ0CBgY0BSIIMBGgS+CgA0BBgJsCaIQwBJYQMEGgIMDGgPfBgY4BWARsCWAg0BBgjRCXoZMBBgbKGj56CGgafCGgYMEGgIMDGgIMEGgJtBGgbGCGgYMEh4MEE4IMEgBtCDQYFEAChwBAALGCAoRyCBgZFBBgiGBTwQAB+CeCCYaeCAAJzBEAngTwQACTwQ7EB4N/CAPAGgMD/EfGgQEB4A0D4H+CAI0BAgPwn40CAgOBGgeB/hFBGgIEBF4I0/GgienAAY0CaYgTEc4oMBDQnAAwIASLgIeBv0AJAX4g5BBNIR4B8BpDCAJpD/ieDAwPhNIqeDE4SeDAAPDNIn+aYk/+CeD4P/w7TDh40E+F/GgmDGgn8j40E8A0Fg40/GgzTDTwi0CTwYABegqeEdwSeCfYbTCAAI0CAAeACYggBE4mADQnwgAAbgQCB4AGCnkAh4FCgYrBN4IABj5FB8AGCBQM/AoQKBgJOBAAMeBAJOBAANAHJIA=='))), 46, atob("DhAqKykpKSkpKyoqDA=="), 53|65536 @@ -172,7 +195,8 @@ function drawDate() { g.setFontAlign(0, 0).setFont(currentFont,2); let x = display.centerX - 20; let y = display.centerY - 35; - if(currentFont == "NummeralByLucaEggerRegular"){ + if(currentFont == "NunitoBlack"){y+=3;} + if(currentFont == "NummeralByLERegular"){ y-=8; x-=10; } @@ -180,7 +204,7 @@ function drawDate() { g.setColor(colors.fg); g.drawString(dateStr, x, y); // Draw month - if(currentFont == "NummeralByLucaEggerRegular"){x-=10;} + if(currentFont == "NummeralByLERegular"){x-=10;} y += 87; x += 40; g.setColor(colors.fg2); @@ -206,7 +230,8 @@ setUpdateInterval(1); let x = display.centerX; let y = display.centerY - 35; //fontcorrection - if(currentFont == "NummeralByLucaEggerRegular"){y-=8;} + if(currentFont == "NummeralByLERegular"){y-=8;} + if(currentFont == "NunitoBlack"){y+=3;} // Draw hours g.setColor(colors.fg); g.drawString(hStr, x, y); @@ -237,7 +262,8 @@ function drawSeconds() { let x = display.centerX; let y = display.centerY - 35; //fontcorrection - if(currentFont == "NummeralByLucaEggerRegular"){y-=8;} + if(currentFont == "NummeralByLERegular"){y-=8;} + if(currentFont == "NunitoBlack"){y+=3;} // Draw minutes g.setColor(colors.fg); g.drawString(mStr, x, y); @@ -415,7 +441,7 @@ function createMenuSystem() { E.showMenu(mainMenu); }, "NumeraLE": () => { - currentFont = "NummeralByLucaEggerRegular"; + currentFont = "NummeralByLERegular"; g.setFont("Vector"); // Make sure this font is available E.showMenu(mainMenu); }, @@ -423,6 +449,10 @@ function createMenuSystem() { currentFont = "NewRockerRegular"; // This should match what's in your fonts object E.showMenu(mainMenu); }, + "NunitoBlack": () => { + currentFont = "NunitoBlack"; // This should match what's in your fonts object + E.showMenu(mainMenu); + }, "Teko": () => { currentFont = "Teko"; g.setFont("Vector"); // Make sure this font is available @@ -478,11 +508,15 @@ function createColorMenu(title, colorSetter, returnMenu) { colorOptions = { "Weiss": "#FFFFFF", "Schwarz": "#000000", - "Orange": "#FFFF00", + "Gelb": "#FFFF00", + "Orange": "#ff8000", "Türkis": "#00FFFF", "Blau": "#0000FF", "Grün": "#00FF00", + "Cyan": "#00fff7", "Rot": "#FF0000", + "Pink": "#ff0084", + "Magenta": "#ff00ff", "Azzuro": "#88b3f7", "Hell-Rot": "#f09b7f", "Grau": "#757575" From 2fc8f0d9ef07c6a6745ddb09b49d9da17dcc0295 Mon Sep 17 00:00:00 2001 From: bebub123 <88442713+bebub123@users.noreply.github.com> Date: Wed, 16 Apr 2025 13:42:45 +0200 Subject: [PATCH 42/53] Update abbelwatch.app.js heartmonitor bug fixed --- apps/abbelwatch/abbelwatch.app.js | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/apps/abbelwatch/abbelwatch.app.js b/apps/abbelwatch/abbelwatch.app.js index 1a53c8ec0e..502d4162a5 100644 --- a/apps/abbelwatch/abbelwatch.app.js +++ b/apps/abbelwatch/abbelwatch.app.js @@ -509,16 +509,16 @@ function createColorMenu(title, colorSetter, returnMenu) { "Weiss": "#FFFFFF", "Schwarz": "#000000", "Gelb": "#FFFF00", - "Orange": "#ff8000", + "Orange": "#ff8000", "Türkis": "#00FFFF", "Blau": "#0000FF", "Grün": "#00FF00", - "Cyan": "#00fff7", + "Cyan": "#00fff7", "Rot": "#FF0000", - "Pink": "#ff0084", - "Magenta": "#ff00ff", + "Pink": "#ff0084", + "Magenta": "#ff00ff", "Azzuro": "#88b3f7", - "Hell-Rot": "#f09b7f", + "Hell-Rot": "#f09b7f", "Grau": "#757575" }; @@ -640,10 +640,6 @@ Bangle.on('swipe', function(dir) { } }); -// Handle button press -setWatch(function() { - showMenu(); -}, BTN1, { repeat: false, edge: 'rising' }); // LCD power management Bangle.on('lcdPower', on => { @@ -682,6 +678,10 @@ function init() { if (settings.color > 0) { _rCol = settings.color - 1; } + if (state.wischfunktion !== 4) { + Bangle.setHRMPower(false); + Bangle.removeAllListeners("HRM"); + } setUpdateInterval(1); draw(); @@ -689,4 +689,4 @@ function init() { // Start the app init(); -Bangle.setLCDTimeout(10); // Bildschirm soll nach 10 Sekunden aus +Bangle.setLCDTimeout(10); // screen turns off after 10 sec From ecc2deb9c347d5fdcd94ac72ddde7f482d0993f4 Mon Sep 17 00:00:00 2001 From: bebub123 <88442713+bebub123@users.noreply.github.com> Date: Wed, 16 Apr 2025 13:44:14 +0200 Subject: [PATCH 43/53] Update README.md --- apps/abbelwatch/README.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/apps/abbelwatch/README.md b/apps/abbelwatch/README.md index c0ad481597..ee811dc365 100644 --- a/apps/abbelwatch/README.md +++ b/apps/abbelwatch/README.md @@ -13,6 +13,7 @@ Includes a selection of fonts to personalize your watch face: - **Bodoni** - **NumeraLE** - **NewRocker** +- **Nunito** - **Teko** ### 👆 Gesture Controls @@ -41,4 +42,4 @@ Customize the colors of: #### 🔤 Font Selection Choose your preferred font from the list above for a truly personal style. ---- \ No newline at end of file +--- From b3f8feae26281e2024fd4ea9adf4a961beffa685 Mon Sep 17 00:00:00 2001 From: bebub123 <88442713+bebub123@users.noreply.github.com> Date: Wed, 16 Apr 2025 14:05:52 +0200 Subject: [PATCH 44/53] Update abbelwatch.app.js Buzz problem in menu fixed --- apps/abbelwatch/abbelwatch.app.js | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/apps/abbelwatch/abbelwatch.app.js b/apps/abbelwatch/abbelwatch.app.js index 502d4162a5..7cb32e5018 100644 --- a/apps/abbelwatch/abbelwatch.app.js +++ b/apps/abbelwatch/abbelwatch.app.js @@ -480,6 +480,7 @@ function createMenuSystem() { },*/ "< Back": () => { E.showMenu(); // Closes menu + state.menuOpen = false; state.wischfunktion = 1; state.wischfunktionZ = 1; state.windowZ = 1; @@ -488,6 +489,11 @@ function createMenuSystem() { }; } +function conditionalBuzz(duration) { + if (!state.menuOpen) { + Bangle.buzz(duration || 60); + } +} // Handle long press function onLongPress() { state.loongpress = true; @@ -499,7 +505,7 @@ function onLongPress() { showMenu(); // Optional vibration feedback - Bangle.buzz(); + conditionalBuzz(); } @@ -553,6 +559,7 @@ function createColorMenu(title, colorSetter, returnMenu) { // Show the menu function showMenu() { + state.menuOpen = true; E.showMenu(mainMenu); } @@ -597,12 +604,12 @@ Bangle.on('drag', function(e) { if (e.dy < -60 && Math.abs(e.dy) > Math.abs(e.dx)) { // Swipe up state.windowZ++; - Bangle.buzz(60); + conditionalBuzz(); state.swipeDone = true; } else if (e.dy > 60 && Math.abs(e.dy) > Math.abs(e.dx)) { // Swipe down state.windowZ--; - Bangle.buzz(60); + conditionalBuzz(); state.swipeDone = true; } @@ -625,11 +632,11 @@ Bangle.on('swipe', function(dir) { if (dir === -1) { // Swipe left state.window++; - Bangle.buzz(60); + conditionalBuzz(); } else if (dir === 1) { // Swipe right state.window--; - Bangle.buzz(60); + conditionalBuzz(); } // Constrain within range From 22fd7a87bdb453a6d4c1606f84488448a47d1064 Mon Sep 17 00:00:00 2001 From: bebub123 <88442713+bebub123@users.noreply.github.com> Date: Wed, 16 Apr 2025 14:15:34 +0200 Subject: [PATCH 45/53] Delete apps/abbelwatch/app.png --- apps/abbelwatch/app.png | Bin 2191 -> 0 bytes 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 apps/abbelwatch/app.png diff --git a/apps/abbelwatch/app.png b/apps/abbelwatch/app.png deleted file mode 100644 index b587ed7c2a1875f7d78cd0168ebb32f5f1aedafa..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2191 zcma)8do+~&7XH2SnnvT^F-945Q*sh2W*R1!BT`2hmvNut&=(0~2-6@leVnM!MJY*Y zy0~RX7iFg2zR#r#p~y8}B$qG~4Wi+j)>-TPeg4>cuf5h@Ywu_8XYaK$+zvRa;n&~+ z0BSCK9o-eS;+H6|P-x+k&rF4ZV%?n`K>0h;7y!yHE{^t|9OmTp*7#m4RmaKY<*>Pk z?nrV^*vfOTW?>X_dhIH3$~z?8JzpXe3U8P#720`VpF`DS@948;*lp0#kK%tf_V;J6 zlBblkNrVB`Aq?9{0=pGZ4)m-#&%#A}jXa2QY+p$D5Yf&`xZd}3ITkGeKIFo1d0!?y z`^osdcY69lHRRyBaw|-9WKsT#?Vx8?eudtE>8*Pi9n>T~hJUq8H3vtL(N$O;d9tlW z8W<&VjS0MqMP02i$eIDjM>dDGiFYn?<#>mNd zp7?a#SsdyTSOX{JX5Q%Si}~>R#Z?^d?c}#sEF|rj9Yn+&To9PrGqHH0IOVCKspCV3gD4k-(oPVd8kFDJU<2Ta>?^?n zsM;8zR8Ag%g23bR?#HwN5vRL(DQN_l1EP%K?+bdBf_ma-SKpyZRs?}Q2O3!3mbmEs z+TXbQiZ&18Y&h|?SOKkLOSdlc|GD#-1Ek#Q)@z*8T zrjmQ)sge^7Py~VNRXsK1Tv&XJH0;~1#q%aaP*aq204{RklGNno?{Bsdt@byxW!cB64tkDk zp-k(eqc;wHN0#l*nI_rKZZ!Jst1<$%LUXHAbx!Iy;63Bbfq}6>yT@-TH`Ex6=Mnln z4>gFsWExb^$%Iz|YoALE)n$+Wd=N((_9wV6ZJH9VCHQPu=Xsogy}#Smzk&YT zOZ*4KjNBr^fax3OJMRd{LSh)0HTif0O93OVYb^5OzqN5ivK-KU*0iYjyoWH#Vw%ps!{jqZ|yy*|dpX7zk zCCR9{;IU5ZLbaE1*+SWuE}Cud^$)=R%+nr<*~Y2`&dh{?;iGq3c%f%@B^MAc_|inj zhs|kF64oFJ{zSs>m^schgtKeG1udUt%WFh zPj>c_%dDTRI_amSzGlN?txdf4gtovzh_zMp9a$NP)ogG$3*#JAMU~P)gfC^%g7!Q* z*s5{3Z+<*327exWUA#MhP@)%E<~)i{Fc-B8U7<+0e-`Ou9*q}0bFMj!tF6?`jX`~N z#WTE)(km>HU;n`_R}h+{GH`J(+0WEUBPKDTf8o+g!)e7DYk;TRYw+?oziNOqe5U($+3dQKB@;Fq z)p`jXY@$@$ozqW#$f7!V^k=Lna6eVlffMbLM$yvt8nvBMO@GullBG-=pZn5E3~sOw#3Kr{%_?#A;_+ z=R_QH^UMiKBde!W2KtpxRCEWpS!b z@bk32KXoviM^eQ=Ciwg=+zwjwO#@wyrJ~Vkq$@a4v)d4ormxExLF@P`)QSP*cAci| zxTSh8!uLOS#CW?3Q&F82N+EAl34X^X7r@Oo=_w2y5yf1c6i+^6|Et=V^eXhzI3keP z43{vKJkQ7t%#P}}PZ!0R#^E7Rd-R8o7qP6BxIS!^-ysPrr**xDS)O121$9-C4Ds;H z!LqjC7-rA**u126 zHPcrCYqQ;_RvN)F)IK77U0YqRQ2{13%c5;@zeYa#@S#>>w=#*MIh8e4T(laep1RL; z%D4cNo@L?mj3bQ2R}S1ARW7)7*eqZ0?K`4}ev;({K!xk;mG?>FNF2BpuSuQ(v(wc1c@f$1}{g&Sqj#^`5_7YEUw_nYWXnAsP0^8acdwhS>>Cy zr&rq;`v7oz`k!_=lbQyY{cuLi(7|*9R+0n5Ge6C4Swr<*mW>WJZ$iiU{l7OVmR@we zGeNw&MxrCW3r?un`1c-}*&4i~e#tDc%+C}`T9aD!weocG9Gj6$qnbh!F10?|>283x n!PDq)9tPxZvdmboJ+GoC-bH%Y7(Jo*Fo4UR1CHemK_~wLZ_ From d5d66b85423d564e6d45eef88549a437ea073031 Mon Sep 17 00:00:00 2001 From: bebub123 <88442713+bebub123@users.noreply.github.com> Date: Wed, 16 Apr 2025 14:15:43 +0200 Subject: [PATCH 46/53] Add files via upload --- apps/abbelwatch/app.png | Bin 0 -> 1070 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 apps/abbelwatch/app.png diff --git a/apps/abbelwatch/app.png b/apps/abbelwatch/app.png new file mode 100644 index 0000000000000000000000000000000000000000..b6636f02081376846ca91ad6b6f22fc9cf30f3e2 GIT binary patch literal 1070 zcmeAS@N?(olHy`uVBq!ia0vp^1|ZA;_2(k{*pz2htF`HM@JwgH{j{m=IH^uigd^_5zS1k@>Jn~(dduGF{tkM#jiqyDZPuU66 z*UWu;gKxoCNB)LQ+gLXgel;|jIjuS3Rot4;a}!^$y3BmQX?y?NiC3#F7q5{Cb~j96 znq_sxd2;SIR(^H-~19D1tG&G7%H z5$guwrA>$Dd0l(T>=3w(=}Rx;fh%9Q``>17jt^%{C<^v2n^O6Op{%|jbwk<76MKb| z=j}{*ufm`(sW-R6Rww0fV6l&#zZQL%&-v-Wb6v(v=EiHXI=Vtk6NDIo-#iw% z5RuyZCrl($w`txda{ zYVEwm%+>QZ&f1$(=*h>D(BSBD=FOIU0UIV9d?V7tsJ00T$m5P5IT;;Q81&2N?8H9q;!5PMoUBiKgb=(M{N8Lu)sa5sOvHT|-e zM@*I3Mbpp*N28yqTn!e1llIxLUz>dIo`iy`_(VYu!$j|ypMsdq_Iozf&6=a95+&~t z;c#)f>C`VX7#qyu&T8y;mRxl`RB3+Elx<$whhJ5HGs*BQ-k^Hk#P_m^SJa+T1r0d{ zvv2RWFf{ya6_TviU`bnSB$)fDC+4K))|BU`7#bri)yh4X6uw&(s+8(w1v1Tu5>-%g z$W)FGYW(Q0FiEWDz#TWs$X%}OZo!Q=ZmnBWpRYcH;fGV&t5;KgFIv9o&Wj~S>RpPv zEc_TPCId5!YKdz^NlIc#s#S7PDv)9@GB7gLH89aNGz&2_vNANWGB(sUFt9Q(NN Date: Wed, 16 Apr 2025 14:23:51 +0200 Subject: [PATCH 47/53] Update app-icon.js --- apps/abbelwatch/app-icon.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/abbelwatch/app-icon.js b/apps/abbelwatch/app-icon.js index e4404167f1..c9b150dba7 100644 --- a/apps/abbelwatch/app-icon.js +++ b/apps/abbelwatch/app-icon.js @@ -1 +1 @@ -require("heatshrink").decompress(atob("2Gw4f/AoP/AYQA/AH4APhMkyVJARARRDqBB/ACUCExoRRDpxB/IMWQCII+XDopB/IKYjRILWSoBB/IMo+ZIP5B/IP5B/IP5B/IP5BkgRBrDoJB/IKkAhJBqIChB/AAZBpICxB/AA0CIMdAIP5BvBAIAtIP5B/IP5B/IP5B/IP5BfASZB/IP4CEIP5B/DopB/IP4CCoBB/IP5B/IP5B/INsAIP5B/IIYLIIP5B6gEJIP5B/BoZB/IP4gdIP5B/IP5B/IP5B/IP5B/IP5B4hILGASRBENChB/IJoLIIKpfGIP5BdHzBBEFI5B/IP4CEIP5BbHzJB/IP5BIBZBB/Yv5B/IKkAhJBIU5JB/IN68HBIRBaL4RBHICBB/AAYXIU5ACRd5RB/IKg4DoAJEEYwCRd5LOCIP5BTAH4A/AH4ABkGChACVDwoICwAzQgQgCBhEBgkQoICUDwoLDOqIgDBhCAWPQ4LEIKAgEBg6AVPQ6hFIB4UEoDRKAS6hJIJwgGaJICXUJBuHAAyYFoLRLQcBuGAAwUMQDKDLNw4AGChqDbfwMCQfz+BBY6D/Qf6D/Qf6D/Qf6D/Qf6D/Qf6D/Qf6D8wBiQQd5iQQeAhKQeogKgKD1ERiDzNwIAKQegiNQaICUNxhAMQaICUQf6D/Qf6D/Qf6D/Qf6D/Qf6D/Qf6D/Qf6D/Qf4JBQf4KBQf4KCQf8AgKD/BZSD3BZCD6gSD/gCD/ACiDuACSD/Qf6D/Qf6DcNxhiGQdpuLgKD1KApiMQdpQHMRSDwASaDsASaD/Qf6D/Qf6D/Qf6D/Qf6D/Qf6D/Qf6D/QbJAWAAKDoIC8BQZkCQea5GBYqDzXIwNHQbOAQbwMHQbJAZEAlABxCDYILMAgQgCBhEBQa5AagAgDD7YA/AH4AtA=")) +require("heatshrink").decompress(atob("mEwgUa1Wog2qAAWABwU///+j//AAXgBYW/AwMvBYf0BYt/BYf4BZQXDEAQLEF4cKDAILEI4YYCv/5qoABMYgLCG4YLHEZY7HBY5TDBYVvNY4LChYLKgQLKAogLSZYe//EaoALDZYn035hCKY30//wNZH1BYYhBcYoLDg/9fYovDgOkI4eqoEqI4THCqtQgoICAYMBCgeojWkBYMa0AgE1MqBYVqBY+oBbuVqtqBZBOBjQLIJoQLBFIYLqjQLKMogLGgKsCKY4DBNY8qBZCPDBebvBfYjtCAAMKyEAipmCKwIACgMAA==")) From 59000ee686a51dc6487b978ff56c4807e8d34f3f Mon Sep 17 00:00:00 2001 From: bebub123 <88442713+bebub123@users.noreply.github.com> Date: Wed, 16 Apr 2025 14:42:15 +0200 Subject: [PATCH 48/53] Update metadata.json --- apps/abbelwatch/metadata.json | 1 + 1 file changed, 1 insertion(+) diff --git a/apps/abbelwatch/metadata.json b/apps/abbelwatch/metadata.json index 706b62daf7..8d5e2f0241 100644 --- a/apps/abbelwatch/metadata.json +++ b/apps/abbelwatch/metadata.json @@ -5,6 +5,7 @@ "description": "A clock that Includes a selection of fonts to personalize your watch face", "type": "clock", "version":"0.01", + "screenshots": [{"url":"screenshot.png"}], "tags": "abbelwatch", "readme": "README.md", "supports": ["BANGLEJS2"], From 2d0805e475fcd855455e7482ee4a0f41f8ea6ad4 Mon Sep 17 00:00:00 2001 From: bebub123 <88442713+bebub123@users.noreply.github.com> Date: Wed, 16 Apr 2025 14:42:39 +0200 Subject: [PATCH 49/53] Add files via upload --- apps/abbelwatch/screenshot.png | Bin 0 -> 2160 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 apps/abbelwatch/screenshot.png diff --git a/apps/abbelwatch/screenshot.png b/apps/abbelwatch/screenshot.png new file mode 100644 index 0000000000000000000000000000000000000000..0d86fbb86bc7f0a0360ba68e9b09ee1c16fc913a GIT binary patch literal 2160 zcmYjTdpOkF8eTKwIvBa;GRVP6L<+kxiV~)2?}I6KVGiY~N$|J@^WjjS%CP0+uXbhmy?_-#XAgtqhHE79+y=02wFVyi$?Q}!MI%E;U} zy0GPEMx%XnaIC>2+5R+^Xf_-n-n!;biBnA+?FrKNvZpO48({VitI?kiXHDYNH^)_= z)f5@NDV@po+kvX{6k8e~#vhcY+k-Z<^tOLG(%W!403`~N1^y`aLUWv`%%k|y=P!J# zUxi=%LCA<2;3}v>dImfa7`M`$>WVgf zz8G~z8TNn!J`CcOy{K7*TCSFSyZ~D0ndLh;Tfp_mSh%tMfj|MiN zw{I6mi4Nn}9@)W%!#`-gm4(1b8Mjcqa;90-Rv|v~?0Oqs5-6OYFRm;tkj^**Rs63i znxNM(TdkSkjTK8AE7?igf&L}D6^dLQk7JV_5?|Kv1rSXW@QJ7Nml~Fj#7`eC~8Z7Mw#mTcR9y^WGvytq*5|IjKEa+6AaX zhS+AiPFns&QJMo64HAXlry;lz zwOamPHCilZ`!*5%@&A6tKs4LG0daAq{knt%7gBNfZq~*=@Y547S#6*%yWbkF0DM>T zK9j`3XxG7{f;Xu@jt=&A8i}hLNNo2DDE8+7y?I5bEMdvrh51f9lkA?<))7Cd0jFX* z15R?ROe=hWyszc4_9`?GdAB(HQcKt8mnQs_^)dhT)`Dwful{ISyOU%6;z|uAvc7>k zFDKr~wm%oE?lX3vi97uVxM~lh0Y6Yx@6|c`FtHS z2MJ}zlN;Hj;&zGCH<|)_mCgFrVEnaY^(MYPg)~~KHEZ$N7)ra_bVq~Lwd!=hhs#Y$s5p_n>`2(4jAv58U)wA3EH^*8{r^xK%sLYp zz^ASrgD)AU;$R!>59>yz?FGY%^9*N`qZn%A5IgyMV?+>H$&{y}+ zOiV0qvGGLxQOe&d0-S0B3E1)1XB)-28kWvG-^pKDTl#9f`D_%*%G z!cvj#1dX*B9Tr(;nm3ljSKQVcI7J%^#t|g&MkIh*N@KE7p7iFz3Z&4y4?o}m7?VtpN9N*_E|J+xYnuFd|m1@9ktlZtzb+321!NUgWf7l z!uQaD4PMk+x4K*-DfYHCSt*bI*zX@gW_Zm7t!*< zNWnaPJR6lC+nM zq_C+$u@ugb?Ru`Ovr{hQrELRpa@wlPNAUJVDl;KkoEyuLq{hniWS{Y9Hz_K(?F;Fr zk|P9zHbHtFGq<(2wMFuI7yWWN?l^JJkKjvYi1EfX-6=s2v^#?~sxwCMfjfE_-Oe7q zPlv1q(A0!Mi04{DVR3S-C-J_AuEUQ;h{sf2C}Iz0{ef1@vYD%$av3*IcN{PRQ=aDq zS(AiOjP0-%DpcQ~uik=XW45iHE_IlR3=jWBpnla4%7Ka0sY&Fj>mB5nSy6GvU`%7~ zgbQxmE9W!rJgXwcz-pT<$`skGOwCJbe1%cEMzFm6*JNtx zMY=`0{>WuC%!lxMt|#;7}HmIhlGSk0g?83K2+O($HB1!+EtAzro>wYa5qGaEBHgVQJnzB6wk z`1{d3Et=`tiI7ef%m}n^sChDmgCaG Date: Wed, 16 Apr 2025 14:48:36 +0200 Subject: [PATCH 50/53] Update README.md --- apps/abbelwatch/README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/apps/abbelwatch/README.md b/apps/abbelwatch/README.md index ee811dc365..c78cec714c 100644 --- a/apps/abbelwatch/README.md +++ b/apps/abbelwatch/README.md @@ -5,6 +5,7 @@ It features a stylish design, multiple fonts, and intuitive gesture controls to enhance your daily smartwatch experience. --- +![Screenshot of the app](screenshot.png) ## ✨ Features From 8d7adc5ebc4cd8724468fdd551c1cf3465e23df9 Mon Sep 17 00:00:00 2001 From: bebub123 <88442713+bebub123@users.noreply.github.com> Date: Wed, 16 Apr 2025 14:50:25 +0200 Subject: [PATCH 51/53] Update README.md --- apps/abbelwatch/README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/apps/abbelwatch/README.md b/apps/abbelwatch/README.md index c78cec714c..c2f1474049 100644 --- a/apps/abbelwatch/README.md +++ b/apps/abbelwatch/README.md @@ -44,3 +44,5 @@ Customize the colors of: Choose your preferred font from the list above for a truly personal style. --- +## Creator +Luca Egger From ef882798dcd540503583af02fd62483eca8357e6 Mon Sep 17 00:00:00 2001 From: bebub123 <88442713+bebub123@users.noreply.github.com> Date: Thu, 17 Apr 2025 09:35:54 +0200 Subject: [PATCH 52/53] Update abbelwatch.app.js addet english --- apps/abbelwatch/abbelwatch.app.js | 36 +++++++++++++++---------------- 1 file changed, 18 insertions(+), 18 deletions(-) diff --git a/apps/abbelwatch/abbelwatch.app.js b/apps/abbelwatch/abbelwatch.app.js index 7cb32e5018..2b67e920c2 100644 --- a/apps/abbelwatch/abbelwatch.app.js +++ b/apps/abbelwatch/abbelwatch.app.js @@ -418,24 +418,24 @@ let mainMenu, colorSettingsMenu, fontMenu; function createMenuSystem() { // Color settings menu colorSettingsMenu = { - "": { "title": "Farbe wählen" }, - "Hintergrund": () => { + "": { "title": "Choose Color" }, + "Background": () => { E.showMenu(createColorMenu("Hintergrundfarbe", (color) => colors.bg = color, colorSettingsMenu)); }, - "Ziffern Oben": () => { + "Upper digits": () => { E.showMenu(createColorMenu("Obere Zeichen", (color) => colors.fg = color, colorSettingsMenu)); }, - "Ziffern Unten": () => { + "Lower digits": () => { E.showMenu(createColorMenu("Untere Zeichen", (color) => colors.fg2 = color, colorSettingsMenu)); }, - "< Zurück": () => { + "< back": () => { E.showMenu(mainMenu); } }; // Font menu fontMenu = { - "": { "title": "Font Wählen" }, + "": { "title": "Choose Font" }, "Bodoni": () => { currentFont = "BodoniModaVariableFontopszwght"; // Make sure this font is available E.showMenu(mainMenu); @@ -458,7 +458,7 @@ function createMenuSystem() { g.setFont("Vector"); // Make sure this font is available E.showMenu(mainMenu); }, - "< Zurück": () => { + "< back": () => { E.showMenu(mainMenu); } }; @@ -466,7 +466,7 @@ function createMenuSystem() { // Main menu mainMenu = { "": { "title": "Abbel Menu" }, - "Farbwahl": () => { + "Color": () => { E.showMenu(colorSettingsMenu); }, "Fonts": () => { @@ -512,20 +512,20 @@ function onLongPress() { // Create a color picker menu function createColorMenu(title, colorSetter, returnMenu) { colorOptions = { - "Weiss": "#FFFFFF", - "Schwarz": "#000000", - "Gelb": "#FFFF00", + "White": "#FFFFFF", + "Black": "#000000", + "Yellow": "#FFFF00", "Orange": "#ff8000", - "Türkis": "#00FFFF", - "Blau": "#0000FF", - "Grün": "#00FF00", + "Turquoise": "#00FFFF", + "Blue": "#0000FF", + "Green": "#00FF00", "Cyan": "#00fff7", - "Rot": "#FF0000", + "Red": "#FF0000", "Pink": "#ff0084", "Magenta": "#ff00ff", - "Azzuro": "#88b3f7", - "Hell-Rot": "#f09b7f", - "Grau": "#757575" + "Azure": "#88b3f7", + "Light-Red": "#f09b7f", + "Gray": "#757575" }; const menu = { "": { "title": title } }; From 99e72909eb59c93e7182c8403c867ef9a89d18b4 Mon Sep 17 00:00:00 2001 From: bebub123 <88442713+bebub123@users.noreply.github.com> Date: Thu, 17 Apr 2025 09:37:03 +0200 Subject: [PATCH 53/53] Update README.md --- apps/abbelwatch/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/abbelwatch/README.md b/apps/abbelwatch/README.md index c2f1474049..fc862c7329 100644 --- a/apps/abbelwatch/README.md +++ b/apps/abbelwatch/README.md @@ -45,4 +45,4 @@ Choose your preferred font from the list above for a truly personal style. --- ## Creator -Luca Egger +bebub123