From 502003123571ece628380c7f2a101d25b3bf039e Mon Sep 17 00:00:00 2001 From: Jonas Schwabe Date: Sat, 7 May 2016 22:21:07 +0200 Subject: [PATCH] Add tray icon for linux (Ubuntu ambiance style for now). --- src/browser/index.jsx | 19 ++++++++++++++++++ src/main.js | 8 +++++++- .../linux/light/MenuIconMentionTemplate.png | Bin 0 -> 1282 bytes .../linux/light/MenuIconTemplate.png | Bin 0 -> 836 bytes .../linux/light/MenuIconUnreadTemplate.png | Bin 0 -> 1376 bytes 5 files changed, 26 insertions(+), 1 deletion(-) create mode 100644 src/resources/linux/light/MenuIconMentionTemplate.png create mode 100644 src/resources/linux/light/MenuIconTemplate.png create mode 100644 src/resources/linux/light/MenuIconUnreadTemplate.png diff --git a/src/browser/index.jsx b/src/browser/index.jsx index f98c35bd..671c683b 100644 --- a/src/browser/index.jsx +++ b/src/browser/index.jsx @@ -486,6 +486,21 @@ var showUnreadBadgeOSX = function(unreadCount, mentionCount) { }); } +var showUnreadBadgeLinux = function(unreadCount, mentionCount) { + /*if (mentionCount > 0) { + remote.app.dock.setBadge(mentionCount.toString()); + } else if (unreadCount > 0) { + remote.app.dock.setBadge('•'); + } else { + remote.app.dock.setBadge(''); + }*/ + + electron.ipcRenderer.send('update-unread', { + unreadCount: unreadCount, + mentionCount: mentionCount + }); +} + var showUnreadBadge = function(unreadCount, mentionCount) { switch (process.platform) { case 'win32': @@ -494,6 +509,10 @@ var showUnreadBadge = function(unreadCount, mentionCount) { case 'darwin': showUnreadBadgeOSX(unreadCount, mentionCount); break; + case 'linux': + console.log(unreadCount); + showUnreadBadgeLinux(unreadCount, mentionCount); + break; default: } } diff --git a/src/main.js b/src/main.js index c0b33f19..e6e978b9 100644 --- a/src/main.js +++ b/src/main.js @@ -63,6 +63,12 @@ const trayImages = function() { unread: nativeImage.createFromPath(path.resolve(__dirname, 'resources/osx/MenuIconUnreadTemplate.png')), mention: nativeImage.createFromPath(path.resolve(__dirname, 'resources/osx/MenuIconMentionTemplate.png')) }; + case 'linux': + return { + normal: nativeImage.createFromPath(path.resolve(__dirname, 'resources/linux/light/MenuIconTemplate.png')), + unread: nativeImage.createFromPath(path.resolve(__dirname, 'resources/linux/light/MenuIconUnreadTemplate.png')), + mention: nativeImage.createFromPath(path.resolve(__dirname, 'resources/linux/light/MenuIconMentionTemplate.png')) + }; default: return {}; } @@ -73,7 +79,7 @@ function shouldShowTrayIcon() { if (process.platform === 'win32') { return true; } - if (process.platform === 'darwin' && config.showTrayIcon === true) { + if (['darwin', 'linux'].includes(process.platform) && config.showTrayIcon === true) { return true; } return false; diff --git a/src/resources/linux/light/MenuIconMentionTemplate.png b/src/resources/linux/light/MenuIconMentionTemplate.png new file mode 100644 index 0000000000000000000000000000000000000000..69706004af6b3e8d4e6802e66f887da3ccb7866b GIT binary patch literal 1282 zcmV+d1^xPoP)(FkU>ESi2ezoNTusm4c}oN=Yd# z-LHq4U8cj#bX)zNc7MO`d*AnaznS;m7&SuD9l$Q&Dc~_+J#Z7)Zf56d^|N3|S|{ma zN#mM}DM{Ny_&G_*|3i4Gq<1A<4+!6s)Gz7z5Swk1rX_9tuj1<@6#~LzlHQiII>M$! z(x}IMBCz+0q)e^i4@E#0cTT^ zmd1#0l~ne)Ba#kCS`rs3I%61RO3Fi>D+xz=y!&Ch3ANVt@fN+Z+?Xe&ACxBa_J-lhg^2X@s`B#pdO(s$KwG znlXO43VmZnajI(HGdw)}rX+w9CTYS;Nd=e8EVSNx4jeNpXEK={Nu6~DueFFh&BBSO z8nc4aW5!1##!WZ2?qaccL{d{&00P#V*`HBCq|@mR;AEY_@eLx|q$uhf3``h@2Hhac zY|qfpP~HKq1b7DQj&jo4+S(wg8{kk&?cxBNn#931Wx&0PY&Ki(0Ovxu2NY3;CnqO! zW|q!0Law=X@e1~?gw!$tY$%mV?GEr;2=5W#wt)lO)B&``+<6?97_>E4edQeBhY0R* zN%w@TZv@!Vv~ckXwk)q^Zj%Fi4~&QKRsknR;O6wnAs%oSp;_* z@U23op~cICZW)&=-S7ioDuTZQC`d|p|1SdkJ-vtrz{BO4>d#RJz8X67C=%TxaD^$&vL=bC%m%NsG7~uGbF)&ek5CaoN z??^TMU4=qnCe&KeI^Y!EJMY6^z(Zy>kxHey&8(}=;NY4vdsn(eCJeK3Pu?47M&Q={ zP^3u{QmOaNtP9-o+ScqAnbqEVJ~|EkSB*1cRMK7%e+wwb1`x`4%4~q6cK>+5S49Cd z0$)AQMc{T;z(74vvbvq#{#Bqk6hv*nS*xTeZ+X}l(;K?q^c@(N)L@tEJ^Lm}(~{bN zDc3&nvS%*_+IA z=l2Tqvih98N6zz&#C}*@DMg%j7YHDa#AD8LM`FKfuGB=Fzb+8K zr<~ruP=0s(w0Ix|!RWa1| zXY~r8);GFNT%H2mv5ElB0q=7BtPLc_8!W#_YA=}RV@WS1r6blJNnMh9BX*O$1E literal 0 HcmV?d00001 diff --git a/src/resources/linux/light/MenuIconUnreadTemplate.png b/src/resources/linux/light/MenuIconUnreadTemplate.png new file mode 100644 index 0000000000000000000000000000000000000000..ffc7de904ec8467374e64ed847543ebe90a13d24 GIT binary patch literal 1376 zcmV-m1)utfP)tQK~z|Ut(IGCRAm%}zkQ}Hy-+D&OABa+i4dy61QCfuL==Jo zLV*^EikBCH(S*v2V8HNT5DZUv4bfB+V$u}QXpl>QkO)oCs1X!`&Mv^}Et(8k! zJ{a+rB}Eg2TP4j)ld~a#|G95%p|^c+3`G1{pLo5bV49qANwI{S9lrHhUfk`s6W*RD zw*8W%P#W<`k|MsX+UetrlGNg@bxJBrRcybnP-PnN;a-RQ*pr0&l>UE;>g1mzNppQg zj;0Y0BrzPvp%ghgQr?`T!@eRFX$-udL^vv`Nzx}NawaBp;pceV)H`GiK)fy8zz8$z zN>OMIa3CRc45+5FZBP5F(}sbHW1_%Jt%_#U7k^#fnvi=Oc*OhrpqZV_02U^Q1N@ds z+`~HWw*h#weOc&?>uL?gyFfAVVlpfcBU~B$1yQ4%u8+LjeL$wCd(r_O^9eMiQkInA z@sD+#I6gC65uD@7{T*Yap!ihB4fZu(qvrfo4z+aA+8qP&5U|C%a?Z9@hDHLjfL34z zKn8HXPv?3+ckcj4FRfp;B6jAdS~GjJD<-y|?cj@s2+h}`HRTLtC-Ek2$B&nGM3#@sbv8K3@n z#V&M4lTp&5y8a61B0We<4Of=Va)47wc&jC4CkC_;2UsZJ%f`qpi33ChJL37G+yRmu zyJLa%iGlXhq5FW6(;YYZO#5JQ@M7;VW7rG__>SHo@nfxb>h(JBiH!khx_W!!08O3I zxZr5V%<6$3lJEk+Zb>r%Ea2n=T#XKH@RFg&71v_|80L7fEh)G|fdi73<0=eLm>oz# z9XN(%I%Ee7pv3_&v+se!Dfn5yHp{XmKxKDj;q>_`92_1f$O6Ei(MgD}1X7K6VbNC& z#TdU9=LDECV#sY7m^V5X0Kwk>40yBf3Xp1(7a?i@s>%v(S-dDazzgGs3KT`|&cqI2 zX1jscQkZx>Z$;IYz{T0cIV`#-Z_wffY@R%l+ziKn>QTEcG&p@oX4`>fK&Rh)-on+Z zOjZSG+rxKjdSSLdyYOfEn(na+lIJSiki06xQeZ+qwg=C)OaW(&O?b)}6b zE?af|6{5*b5)Y%Y1H3nRB=g7QBIuUc%#zy1ANw`nnJ{1xuojr+h1-EA+A7B_5NraR zbCDi)G)6dhv5WJaQEs>*Kht4SK^F7IFw4y+@nY~j~+jP^*?>3)k5LmdfbQYrAuo*xJFkB++81;g^ i1Y)~J)%;bTEdO7l_P-Y`BB(b20000