From 502003123571ece628380c7f2a101d25b3bf039e Mon Sep 17 00:00:00 2001 From: Jonas Schwabe Date: Sat, 7 May 2016 22:21:07 +0200 Subject: [PATCH 1/4] 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 Date: Sat, 7 May 2016 22:39:14 +0200 Subject: [PATCH 2/4] add config option to select an icon theme --- src/main.js | 11 ++++++----- .../linux/dark/MenuIconMentionTemplate.png | Bin 0 -> 2426 bytes src/resources/linux/dark/MenuIconTemplate.png | Bin 0 -> 2386 bytes .../linux/dark/MenuIconUnreadTemplate.png | Bin 0 -> 2287 bytes 4 files changed, 6 insertions(+), 5 deletions(-) create mode 100644 src/resources/linux/dark/MenuIconMentionTemplate.png create mode 100644 src/resources/linux/dark/MenuIconTemplate.png create mode 100644 src/resources/linux/dark/MenuIconUnreadTemplate.png diff --git a/src/main.js b/src/main.js index e6e978b9..608318b4 100644 --- a/src/main.js +++ b/src/main.js @@ -64,11 +64,12 @@ const trayImages = function() { 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')) - }; + var resourcesDir = 'resources/linux/' + (config.trayIconTheme||'light') + '/'; + return { + normal: nativeImage.createFromPath(path.resolve(__dirname, resourcesDir + 'MenuIconTemplate.png')), + unread: nativeImage.createFromPath(path.resolve(__dirname, resourcesDir + 'MenuIconUnreadTemplate.png')), + mention: nativeImage.createFromPath(path.resolve(__dirname, resourcesDir + 'MenuIconMentionTemplate.png')) + }; default: return {}; } diff --git a/src/resources/linux/dark/MenuIconMentionTemplate.png b/src/resources/linux/dark/MenuIconMentionTemplate.png new file mode 100644 index 0000000000000000000000000000000000000000..0f1a6134dcc6d2a2682c1175df442fcfe63fe2fb GIT binary patch literal 2426 zcmZvedpy(oAIHB7$=p(IbEz5Sc5E(1X67#aU>ZVtON!CK=P1- ztvi2*3f8u*{5vH+euck*DDDTXfm;JA^ZbKYgo6(S0M%dx3xq4yjN%J=37!}##_2E; zM<&9tLFD7X@K|C5Ukw1LSR~&h22-)nSYkMdf{ZnXeN!O$w!n>mLBC0;VdgN5lPlDQ z92pGV58nsZhoQkxC=?YLgh#sD+W!dWpUh#QRB8kgfryETfyWrZ$&n!l15;B|guWrd z&`^)B(4)kWsMuIN5=H%clE3oU22*g6ga|5uOo9sXVvm!fsOB)3pwQpfk3NYJe-|QA zeo*oG5V6<@gaKS1@&AIT1pGhk{YRAG$@j2tRNsrC_@hDEL^I zV8vc93;>8a9J00Y#E9iz@d?ehlkHskoIRnza->yU8WR{p@;}+zhOuhEI^|JTRlPK2 zEuE-&nmEkeAa&ZkU9>gby&_@cInAZsl_;loq|n;&mwmp)EZ-pv`;Yc1vfvV$HY zI^XA%ME@+OsxVJyGMNLBjfr#X>+3HMW%reY09o3X{smcgj9HpwQQmN?(s_H{HQ2jq zZ>umD>5QnoSw0+BT2^)tha8+;-tbb~+)>srO)X`fZ+|{Wx1PbRUztv%eW13VClZMv zux6=kRZM=o%sf!>B6LMuobN}^s(vhPoMgf z7F71}HkK*wR8pIL!;8mhIKMqY@bHPdHI}l+Z0|B0ocBI62)!H{U|Am)7B6=GiNbTX{8wO0idt3Rem=`{K*8@T+@O%f*J`r_d=Q;M&Ctr#6I!LV8=jHxLY z9ZF`(R9r+Fb0D?s($dmb8bJpq_WGtzq%eT9muwR;k?Kt4i3xh1ah$iXe2E zP;*}MNuI6kweYF?r&Rp4O1gAsc>WmycJ+HPy<(Qr8NZG@KY3}ARS{Ek3(Y>n{~8a7 zEe`8QMA1H&Tr;trD(c#0*R`mnq7o*Tk1TH45b0VyK5=J7L-8anGCU+bhnS%1Ux1ob zkdTsEMV5|e_%)F7EvqG|Yw6j>l5;OIypiWvpHQQfZAsD9t4e3(+}uK1fqSk(@ZVEg zxLhuHeM;-X?Mo~c>xrG3UUswP5z#iTm#hH44&` zefaKObzRUK2}#M%9qR@PSxzUy!j>d(8LBDI;UWLfl@0B-ACVmLB&LwuAf+nx-2Gk`@$9uIe&PyD!B@kgx%DIp=aym&& zGj3oFe{CY2BeIgXC_dY`wIw=ev}ie}Nu~dncX!~9!kaSJyGwv5$4>^a4{sf7PCW57 zkKUug(KLuR>*yTf$k7G~v6W|Wt>!dmDOVS@HwkI=%0zz#~mm9;7GQnTZ$T)=V+}3T@3E3*tQf)}6)=yXs zCwE6&gfzO;W~6YI|vzNS4I+?B#jkWbg>=x9LR_I?F7$Jr;ADH>FEr?(-Z zj4TppEtASC(wfp_ETl#5YNxTf)w8-$h@BP+dGFVXZIw7n52{8``Tdi4G`dg3)uvuP z{xNsA_HXgPtMvk39mh<+x|9MssdZC-wRrKpxHG0&9`CMCZtLyP9WhE)q`36mW-u79 z$G$kNT+DW>FD#r%2<6%v9QZb*PRcd)K>mq8T5zUqb|kdNdVoshYQxz# z`^IzYdUmJHH=2x8(128ljlzv{(7Vyn)nC-_wb|R-GntolJD&4gHM({<7#ZhnUtFV= zFnd&j9x1b@#V;FMWwb5X&SZ4)CKfIwvH)9QMxetC7}q1ZpoF-u6)39h0gk)o)zBmaZ7ww5l22L zmU#-J(l#YAug>uUJ_)Jz&3vVQ%_g0Gpw+|b*idB>lJ8kxT<*EOUj}?Oysq%x4qEU2 zt^+p0gU4s_H&2aV5`>||ffter==MyDqjAc}gsW3+FXZl~}q4zeaV_b1FZH|G_g+&Imomw{QG?7O0 TqF+81{16?obGE%@9hmwjGv7%( literal 0 HcmV?d00001 diff --git a/src/resources/linux/dark/MenuIconTemplate.png b/src/resources/linux/dark/MenuIconTemplate.png new file mode 100644 index 0000000000000000000000000000000000000000..31e065d8d6dca0914b8bcde85dc1ed0cf0a8af77 GIT binary patch literal 2386 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 literal 0 HcmV?d00001 diff --git a/src/resources/linux/dark/MenuIconUnreadTemplate.png b/src/resources/linux/dark/MenuIconUnreadTemplate.png new file mode 100644 index 0000000000000000000000000000000000000000..a6f2811ac12d1b384c9c2e7e7668150f6def950e GIT binary patch literal 2287 zcmZve2{_bSAIE1TYnEt3F%1S;23hV*V{F4%vdhc0n;9Bo7&F5lZgvWxn@F-NWhWVL z5+!?Nt$8wvn2?a%u_V1S)xG!K&hwoAIp_EP{+7@0JkS66U$VDFiwH>z0RR9IOAC}E zX9aPm03YW`iHh3bEI^7Q+5}KLbbOI>5F}Z+Q2@XOU+x5A%9O%5f&sjI;e>1_e{#5eDGz3OHxaHABIm?-DA(0PJdG4>AoQ z<3PF^IvSc_q!0)MLXffka7UE+Pj}AA0DPWGCBdOk8jYqwJFO8y4uERGU@)krHdI?% zoug2vLPv$3kjndfWh2Ee~q7Y5=nn03a0#| z;_yKud`VC(4Nd6(bE4w?|1R%8ytr?ExP7Pkkqp6U4cwHB^QDH6okK!`kX#~sFoA;c zCE>VS2j0F(PhVNJEtVnPDf8A4iQM?8`ENb&bRwNEjIcNNQ$vVGNH6xJXtqC@;J zNZSteh@F8f znw!07B0YIu5B2Ktz!vt^zVZSUdai}SgW2koVuB#tJ?``NZiR;i?ZCEnyj(WYbZI*| zIXPv-06zof8zM7Bz~fuX8X7)rO|??e)_B}5i2)bF%-aSNj!WN}Wcg7j zl$*)QLxd@;YzvgzxQ`}Z zozb3j+?$rvgq4*QLG119>T07k^((INn$B)kx#p&u=V^f#Z|8$K=Q&DlGV?~@)f*9cGPA~ax`$zN44GnD6VMBMC#O(1`e)8XUMs>5Dn;me#FV5%$d!z!q~Nwo!$+`e{2cTlcTST z$@kD?nbkp+v*A<(>vj1;zds=MKJXcR?!{wZ-iP1STzqy<(UKlIW<-x-`@I(vai-~E zTdt8y<9E{m2jodEZv6@jjKqrwzGCJz$6C&iC~TY$l7o3 zwXRD>y{x+5EuaY*xO`bCCQs)ric!@zR-yU8O2^C1trbx`W#}drsBLf^ruX`s|D@Sw zEg&6ll3tV_+;w+jKFzh$x9Y9c-Oa}+xwWP05#sG!u@5}w?7NBKZx*d-|D2OMV|DMX|UbzeNhcqZ}8Jg=Psr zt(ieyI?_2;RWc`ECV1pNMjOTWRgG)J0*#Y4N+LZ#wuOjor7!Y&^M zn0*F{t18ydlaI?YnojRDb$La|sN;{7+yRZeEC0;2s>kq-ZF;~2D3iRNSYR}9`gYI&rxq3#zNxx*4|!BP zep2!*8U%_uyUJqkV10aw)9MPPr}>2$`sm(5>*PgU%ZYxB>@4AuZeDI_Scq iCAmo}Tg&{wultMBb4z Date: Sun, 8 May 2016 01:01:56 +0200 Subject: [PATCH 3/4] Add tray icon theme settings to the settings dialog --- src/browser/settings.jsx | 14 +++++++++++++- src/common/settings.js | 1 + src/main.js | 2 +- 3 files changed, 15 insertions(+), 2 deletions(-) diff --git a/src/browser/settings.jsx b/src/browser/settings.jsx index 1237c61e..c74688d1 100644 --- a/src/browser/settings.jsx +++ b/src/browser/settings.jsx @@ -40,6 +40,7 @@ var SettingsPage = React.createClass({ teams: this.state.teams, hideMenuBar: this.state.hideMenuBar, showTrayIcon: this.state.showTrayIcon, + trayIconTheme: this.state.trayIconTheme, disablewebsecurity: this.state.disablewebsecurity, version: settings.version }; @@ -69,6 +70,11 @@ var SettingsPage = React.createClass({ showTrayIcon: this.refs.showTrayIcon.getChecked() }); }, + handleChangeTrayIconTheme: function() { + this.setState({ + trayIconTheme: this.refs.trayIconTheme.getValue() + }); + }, render: function() { var teams_row = ( @@ -84,10 +90,16 @@ var SettingsPage = React.createClass({ options.push(); } - if (process.platform === 'darwin') { + if (process.platform === 'darwin' || process.platform === 'linux') { options.push(); } + if (process.platform === 'linux') { + options.push( + + + ); + } options.push(); var options_row = (options.length > 0) ? ( diff --git a/src/common/settings.js b/src/common/settings.js index 14dcdee0..fc5afa4e 100644 --- a/src/common/settings.js +++ b/src/common/settings.js @@ -24,6 +24,7 @@ var loadDefault = function(version) { teams: [], hideMenuBar: false, showTrayIcon: false, + trayIconTheme: '', disablewebsecurity: false, version: 1 }; diff --git a/src/main.js b/src/main.js index 608318b4..bce357db 100644 --- a/src/main.js +++ b/src/main.js @@ -64,7 +64,7 @@ const trayImages = function() { mention: nativeImage.createFromPath(path.resolve(__dirname, 'resources/osx/MenuIconMentionTemplate.png')) }; case 'linux': - var resourcesDir = 'resources/linux/' + (config.trayIconTheme||'light') + '/'; + var resourcesDir = 'resources/linux/' + (config.trayIconTheme || 'light') + '/'; return { normal: nativeImage.createFromPath(path.resolve(__dirname, resourcesDir + 'MenuIconTemplate.png')), unread: nativeImage.createFromPath(path.resolve(__dirname, resourcesDir + 'MenuIconUnreadTemplate.png')), From 81bc16ca6e0c76ce9207d43e9c767008af14fc1d Mon Sep 17 00:00:00 2001 From: Yuya Ochiai Date: Tue, 17 May 2016 21:53:19 +0900 Subject: [PATCH 4/4] Update CHANGELOG.md for tray icon on Linux --- CHANGELOG.md | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 7dc1c5cf..b7aef4f9 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,8 +1,16 @@ # Mattermost Desktop Application Changelog +## Release v1.3.0 (Beta) + +### Improvements +#### Linux +- Add the option to show the icon on menu bar. (requires libappindicator1 on Ubuntu) + ## Release v1.2.0 (Beta) +- **Released:** 2016-05-17 + This release contains a security update and it is highly recommended that users upgrade to this version. ### Fixes