From 2d99d5f92c134548f1deaa7bd624ba9bf34cecc6 Mon Sep 17 00:00:00 2001 From: Gordon Williams Date: Mon, 25 Jul 2022 15:53:59 +0100 Subject: [PATCH] messages 0.49: Change messages icon (to fit within 24px) and ensure widget renders icons centrally if they're not 24px --- apps/messages/ChangeLog | 1 + apps/messages/lib.js | 4 ++-- apps/messages/metadata.json | 2 +- apps/messages/widget.js | 11 ++++++----- 4 files changed, 10 insertions(+), 8 deletions(-) diff --git a/apps/messages/ChangeLog b/apps/messages/ChangeLog index 447ba29ae..7f7f8d3d3 100644 --- a/apps/messages/ChangeLog +++ b/apps/messages/ChangeLog @@ -62,3 +62,4 @@ Fix message removal from widget bar (previously caused exception as .hide has been removed) 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 diff --git a/apps/messages/lib.js b/apps/messages/lib.js index b55819601..b51180d81 100644 --- a/apps/messages/lib.js +++ b/apps/messages/lib.js @@ -104,7 +104,7 @@ exports.clearAll = function(event) { exports.getMessageImage = function(msg) { /* - * icons should be 24x24px with 1bpp colors and 'Transparency to Color' + * icons should be 24x24px or less with 1bpp colors and 'Transparency to Color' * http://www.espruino.com/Image+Converter */ if (msg.img) return atob(msg.img); @@ -150,7 +150,7 @@ exports.getMessageImage = function(msg) { if (s=="youtube" || s=="newpipe") return atob("GBgBAAAAAAAAAAAAAAAAAf8AH//4P//4P//8P//8P5/8P4/8f4P8f4P8P4/8P5/8P//8P//8P//4H//4Af8AAAAAAAAAAAAAAAAA"); if (msg.id=="music") return atob("FhaBAH//+/////////////h/+AH/4Af/gB/+H3/7/f/v9/+/3/7+f/vB/w8H+Dwf4PD/x/////////////3//+A="); // if (s=="sms message" || s=="mail" || s=="gmail") // .. default icon (below) - return atob("HBKBAD///8H///iP//8cf//j4//8f5//j/x/8//j/H//H4//4PB//EYj/44HH/Hw+P4//8fH//44///xH///g////A=="); + return atob("FhKBAH//+P//yf/+c//z5/+fz/z/n+f/Pz/+ef/8D///////////////////////f//4///A"); }; exports.getMessageImageCol = function(msg,def) { diff --git a/apps/messages/metadata.json b/apps/messages/metadata.json index 90abceabc..408901bfc 100644 --- a/apps/messages/metadata.json +++ b/apps/messages/metadata.json @@ -1,7 +1,7 @@ { "id": "messages", "name": "Messages", - "version": "0.48", + "version": "0.49", "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 a1ab1f9d0..835626f5d 100644 --- a/apps/messages/widget.js +++ b/apps/messages/widget.js @@ -11,8 +11,7 @@ function filterMessages(msgs) { .filter((msg, i, arr) => arr.findIndex(nmsg => msg.src == nmsg.src) == i); } -WIDGETS["messages"]={area:"tl", width:0, iconwidth:24, -draw:function(recall) { +WIDGETS["messages"]={area:"tl", width:0, draw:function(recall) { // If we had a setTimeout queued from the last time we were called, remove it if (WIDGETS["messages"].i) { clearTimeout(WIDGETS["messages"].i); @@ -36,7 +35,9 @@ draw:function(recall) { } } g.setColor(colors[1]).setBgColor(colors[0]); - g.drawImage(i == (settings.maxMessages - 1) && this.msgs.length > settings.maxMessages ? atob("GBgBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH4H4H4H4H4H4H4H4H4H4H4H4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA") : require("messages").getMessageImage(msg), this.x + i * this.iconwidth, this.y - 1); + // draw the icon, or '...' if too many messages + g.drawImage(i == (settings.maxMessages - 1) && this.msgs.length > settings.maxMessages ? atob("EASBAGGG88/zz2GG") : require("messages").getMessageImage(msg), + this.x + 12 + i * 24, this.y + 12, {rotate:0/*force centering*/}); } } if (cw.x+w.width||c.yw.y+w.iconwidth) return; + if (!w||!w.width||c.xw.x+w.width||c.yw.y+24) return; load("messages.app.js"); }};