From 25d266f8f91ca791c2f016fecb4800a78b029127 Mon Sep 17 00:00:00 2001 From: Przemek Pawlas <3606072+Destroy666x@users.noreply.github.com> Date: Fri, 5 Jan 2024 12:56:47 +0100 Subject: [PATCH] feat(tray): Add song info and paused icon (#1592) --- assets/youtube-music-tray-paused.png | Bin 0 -> 1990 bytes src/i18n/resources/en.json | 4 ++++ src/tray.ts | 28 +++++++++++++++++++++++---- 3 files changed, 28 insertions(+), 4 deletions(-) create mode 100644 assets/youtube-music-tray-paused.png diff --git a/assets/youtube-music-tray-paused.png b/assets/youtube-music-tray-paused.png new file mode 100644 index 0000000000000000000000000000000000000000..9aebbabdfdbd82ae015e95f7d59236a12e939900 GIT binary patch literal 1990 zcmV;%2RZnOP) zi*egH5QYIYAf*EPDu}KE>ngBPf#nW#9k>K{5UGMF6~w9_as_8ra8?Dl0d}dQ9+U`z zj|K66Gn~mx><9wC?BWe=j8Vy;^+YK(RZ89SWB)wi=c{Kmyep+X`PnI@KKR)wV?L9q z(m@NP^-L)>V^QpL*U=|uER}uUlre7|eQxIrOCYVSBy*PLK|qO$Y@JL>ZIm%PImHSi zet}4u1&h;Fgb5{cA}O_sU8Xn%(%QCPmXS$QMlREkk&Tp{7ATK z-Uee=r&PC{(p?Ipl(ng`Yy$Z4?gm~vN@?8)L=&EGh&r9IcPkP)n5b<(h0&nkZ^+Xr zV^`-?_pQ>dK=cK^ORCw#_};ce?WHhk&^@*Dj{{HE%9vI}Y9|6g9%($a)kAAuAjl(? zRwQaxAjl(~#wBV_AZn~Z9{D^q*|2U#AoR9kqp{vucrT0w34g~|hd?RyXXs#KSOlW! ziNS7~OMth~bw!~mY=aTzs2TG+tWAA^s5Os?(fIiq(le{q2BNhmKZabZ3G%JZel&l9 zC}-}Fx(3JI9YEo^45Us9TS1;dGUj*dg`YsQh#SjLhs%TSLjCF~45=#>yi%D@1bT%$ zNigPjU5RQDh<1$rO1)+i>yCGWZa-GJzC~g1X@C#q`6}UN-2*(6n#F>^Gcq*J5#$P3SEmpa}n}b!P|U>R<7n5 zvkMow7J+2+yxOizt?T`s)N-{$X^-r31ftn?w0%I%UD@d$Wht!pgNuMTE;@0Z!f4Lx zA2Fpz3X{Yir*mYNA`qevDC5kHOA$!cv;`uNB+eSsqmx2+c_k8vk2`kcz-bC={X7{E zJx7ilr!a}L?nq(MI7(xqLV=OKKoySCSTTk5a!f3Ul7lNnfo6D@pdtrX{%-?mE%V+d zw1H$|j4R-X3ybIj{9tGD6b6BSFGm7RQGLJ@=L`e_b#czvma|>D`mfk(L?c=WE<7Li)<)9lcn*Q&N2T=ooKoAfJ z1Ob6S5D*9i0f9ge5C{YTfj|%t2m}FvKoAfJ1YrewM-_sayjy`v50M7o2A>cJgx~}U zx;Gpo&2Ge}(F0J24+sQ8_`t?OtVj&u%ZM-0$YLlh5QRPJ?lT`qL_-?*;+%m%pe{!O z-Mm~CfD@cEIN}bC=z1I-aYt-rmlz1*;7U;-q%lyHgDXXWHmE*Ok%KF^>HuvZUrMez zAP|MXEsh*H6=;R(12;Hw1Q*UBh52yf!Z`wI43u%^1}@!21oEN6rMvV47*qtOY)|D; zSGM)MqWZuI7o9jyVTZpF(wIgHlfYTyIp^BO!WT*30Q5?!3)dphgx5=t@$Qml?+&A< zm8)lzMi_@>ShEw{FK01 zdeAndJ+C5Fk9S$%btOlocV0~(W9$mFpQ+bqLj2@+ev@h`OdaOPcIeg*o;^35D{XnN zenJ`jgJ@6>pO>ogD6a@~_zi7C+e7NLJW%X}>CES=)e#7(Y?yeZt{neEHt7Ss%KZO<1+NQFvsn>qwyengBU%VW8PV}5}Cy0|hzr)&u z2}C*5tJMxfF{{(=DH48Cy)ib8J;RIWc;&EM7oiKNoFJgT+po* zSD+jcY0kT1Q%P+Zf8UK%adPAfR7C4JN2HVOr~6#RabLXZ4tjfMM$POZ#9yZ=C-^dVH3MFMTRBNDKxG$<7ty= zhY>2{11NS*8ev`UCK>drl;$NqW3kM9<3yKKVtknCecvF#W8?4 { const { playPause, next, previous } = getSongControls(win); - const trayIcon = nativeImage.createFromPath(youtubeMusicTrayIcon).resize({ + const defaultTrayIcon = nativeImage.createFromPath(defaultTrayIconAsset).resize({ + width: 16, + height: 16, + }); + const pausedTrayIcon = nativeImage.createFromPath(pausedTrayIconAsset).resize({ width: 16, height: 16, }); - tray = new Tray(trayIcon); + tray = new Tray(defaultTrayIcon); - tray.setToolTip('YouTube Music'); + tray.setToolTip(t('main.tray.tooltip.default')); // MacOS only tray.setIgnoreDoubleClickEvents(true); @@ -110,4 +116,18 @@ export const setUpTray = (app: Electron.App, win: Electron.BrowserWindow) => { const trayMenu = Menu.buildFromTemplate(template); tray.setContextMenu(trayMenu); + + registerCallback(songInfo => { + if (typeof songInfo.isPaused === 'undefined') { + tray.setImage(defaultTrayIcon); + return; + } + + tray.setToolTip(t('main.tray.tooltip.with-song-info', { + artist: songInfo.artist, + title: songInfo.title, + })); + + tray.setImage(songInfo.isPaused ? pausedTrayIcon : defaultTrayIcon); + }) };