From 6db51d648be372bb200c5597d06708bcd810a1cb Mon Sep 17 00:00:00 2001 From: Elian Doran Date: Sat, 1 Feb 2025 12:49:01 +0200 Subject: [PATCH] feat(tray): black icon for macOS --- bin/tray-icons/build-icons.sh | 1 + images/app-icons/tray/icon-black.png | Bin 0 -> 390 bytes images/app-icons/tray/icon-black@1.25x.png | Bin 0 -> 490 bytes images/app-icons/tray/icon-black@1.5x.png | Bin 0 -> 589 bytes images/app-icons/tray/icon-black@2x.png | Bin 0 -> 728 bytes src/services/tray.ts | 24 ++++++++------------- 6 files changed, 10 insertions(+), 15 deletions(-) create mode 100644 images/app-icons/tray/icon-black.png create mode 100644 images/app-icons/tray/icon-black@1.25x.png create mode 100644 images/app-icons/tray/icon-black@1.5x.png create mode 100644 images/app-icons/tray/icon-black@2x.png diff --git a/bin/tray-icons/build-icons.sh b/bin/tray-icons/build-icons.sh index 517c533ea..9703c2982 100644 --- a/bin/tray-icons/build-icons.sh +++ b/bin/tray-icons/build-icons.sh @@ -23,6 +23,7 @@ function generateDpiScaledIcons { inkscape -w 32 -h 32 "$file" -o "$output_dir/$name@2x.png" } +generateDpiScaledIcons "$images_dir/icon-black.svg" generateDpiScaledIcons "$images_dir/icon-color.svg" generateDpiScaledIcons "$images_dir/icon-purple.svg" diff --git a/images/app-icons/tray/icon-black.png b/images/app-icons/tray/icon-black.png new file mode 100644 index 0000000000000000000000000000000000000000..dcfda8e633c05e6cfa15bebda063e41c36fd1663 GIT binary patch literal 390 zcmV;10eSw3P)PzNp9xm&N*jh&fF;?!hc40r-Y&?1~7(U+>3}m1N~UW2|f`i_F*d( zA5g;vrZe&&su}4$%NJlVD>UK*3rS!#tDR>8XXu3jJNUvQE)(DdqqxNd4zdkiF&Po^ zJ07ORx0LT;1r;3qBF{Ch*aZ>sj55}7hjBb%6W6J>i#1F{MCIpM+Bn~X(-ccBacu<3 z>B!aO&rCC1SIds6Hwz3UqvxA}+6mOsJfhwwrH%w5;uzcLOXRCoz;-^2;6~kx*^W%i kM5fdmt<-G2`0scA24mtCgfQedtN;K207*qoM6N<$g5Uj}AOHXW literal 0 HcmV?d00001 diff --git a/images/app-icons/tray/icon-black@1.25x.png b/images/app-icons/tray/icon-black@1.25x.png new file mode 100644 index 0000000000000000000000000000000000000000..25a76c6d512b6fbfc828ee4157183d7047db59fa GIT binary patch literal 490 zcmV3<&uMsl-ab%1S{5BlxE> zMnO=pu#iBCfRH9?)Ffk(xv;t9JumSM48zVndv@mR>@5*tkalRGY#2Jorc%lXrf~`9 za2m(4Jd_{LV-)N75)m6ch>l_&vl!V2@)i~mmG9sqZsJHpNSzPkQ49OCweKQaZGmcE z!e|m+tMc3UjLjlwb*WFx(g4fp9LhdX{nFe+i!^(YtCA&h)}}dCS`wC-4Kq zt&7=XT?k)g9Jf0{@T(`fL(3=Zj!rY9fyo1Fn537p^}t#`Y^VQWL@eTVE+793+}Uv* gQ~fY|UdkZsFZR5zLXop1v;Y7A07*qoM6N<$g5g!wasU7T literal 0 HcmV?d00001 diff --git a/images/app-icons/tray/icon-black@1.5x.png b/images/app-icons/tray/icon-black@1.5x.png new file mode 100644 index 0000000000000000000000000000000000000000..6bd033e16c4e2c64d742777a5b4026db98f434a5 GIT binary patch literal 589 zcmV-T0RSvCX^|~K$*+?3mC|MpiB%!3`8Lz zWne z6!u@?Y6bo#28sehcv1ko#63(F_AbdXqq%n(S1KZ&#L{087eZetd*CAYE>7c7eid8r z2}kk+l$|%Q^^f-|J>D8TuOQyQQS8D&ys5xUV0}3uQn^*6lF6(@^@fb_F?dmf{vqDx zocCg8j8PfnU;)>Csq{p0eU_#N7n1dP7`uP-Cy=%j^D@Ce%7ZsG0G^^P@m|b)yNPot zY15fLbaoqa z)A|uMqq~mq_gMHx0_SA(TKQQU@e=!SI9am>C$ObXyd$1tL2d=rD68ek>Uw}{F%bvq z#Je9SF}YU%2(_-`5JEe4CPCBFaZk#J%P9m)unhMT&16i%J3PUy7-L_qfU=xs-vc3p zg=C3)FBwCSdUUF$I3CQQJ`iOxR=>?WcELXT7k2f{cL=! z*w?N7s?oyp>xSyMmmefQFri_b78K}|e`j?6i#{O6_zZ_~KHV=0)QT4Z&SyNZu@FWp z3M3^)8+;XgM0*kbmVZoQjNd{C>#+}?V~o8;_?x~B|JE4xpVMD4Jj?Bb>1h)H0000< KMNUMnLSTZYlTq6M literal 0 HcmV?d00001 diff --git a/src/services/tray.ts b/src/services/tray.ts index ebfda0eea..424bde013 100644 --- a/src/services/tray.ts +++ b/src/services/tray.ts @@ -11,7 +11,7 @@ import becca_service from "../becca/becca_service.js"; import type BRecentNote from "../becca/entities/brecent_note.js"; import { ipcMain, nativeTheme } from "electron/main"; import { default as i18next, t } from "i18next"; -import { isDev } from "./utils.js"; +import { isDev, isMac } from "./utils.js"; import cls from "./cls.js"; let tray: Tray; @@ -19,21 +19,15 @@ let tray: Tray; // is minimized let isVisible = true; -// Inspired by https://github.com/signalapp/Signal-Desktop/blob/dcb5bb672635c4b29a51adec8a5658e3834ec8fc/app/tray_icon.ts#L20 -function getIconSize() { - switch (process.platform) { - case "darwin": - return 16; - case "win32": - return 32; - default: - return 256; - } -} - function getTrayIconPath() { - const iconSize = getIconSize(); - const name = isDev ? "icon-purple" : "icon-color"; + let name: string; + if (isMac) { + name = "icon-black"; + } else if (isDev) { + name = "icon-purple"; + } else { + name = "icon-color"; + } return path.join(path.dirname(fileURLToPath(import.meta.url)), "../..", "images", "app-icons", "tray", `${name}.png`); }