From a979f0108ef84f5dc7cfe466a8402144f8348907 Mon Sep 17 00:00:00 2001 From: Eugene Pankov Date: Sun, 11 Mar 2018 20:29:53 +0100 Subject: [PATCH] added a tray icon (fixes #226) --- app/{src => assets}/logo.svg | 0 app/assets/tray-darwinHighlightTemplate.png | Bin 0 -> 415 bytes .../tray-darwinHighlightTemplate@2x.png | Bin 0 -> 955 bytes app/assets/tray-darwinTemplate.png | Bin 0 -> 365 bytes app/assets/tray-darwinTemplate@2x.png | Bin 0 -> 894 bytes app/assets/tray.png | Bin 0 -> 1396 bytes app/main.js | 39 ++++++++++++++++++ app/src/preload.scss | 2 +- 8 files changed, 40 insertions(+), 1 deletion(-) rename app/{src => assets}/logo.svg (100%) create mode 100644 app/assets/tray-darwinHighlightTemplate.png create mode 100644 app/assets/tray-darwinHighlightTemplate@2x.png create mode 100644 app/assets/tray-darwinTemplate.png create mode 100644 app/assets/tray-darwinTemplate@2x.png create mode 100644 app/assets/tray.png diff --git a/app/src/logo.svg b/app/assets/logo.svg similarity index 100% rename from app/src/logo.svg rename to app/assets/logo.svg diff --git a/app/assets/tray-darwinHighlightTemplate.png b/app/assets/tray-darwinHighlightTemplate.png new file mode 100644 index 0000000000000000000000000000000000000000..ca1065eeba19e75d0b50da9ccaf2d8b936f18f70 GIT binary patch literal 415 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Y)RhkE)4%caKYZ?lYt_f1s;*b zKpodXn9)gNb_Gz7y~NYkmHiPjx3GjzhPC7Y1_nkQPZ!4!i_=Rd@AYza6lmS=DWd3d zsZ*gN>AdVeQWAnbYrRiBF+x3tm!pk?^;!3lnyeV zzO%dd+4D2+oSMA)9{!)GapF~9)#^M0y(`IIV{_H3*XsSf>Z|&D9dmrc0rL$!HY=8& z44ddlYh5G^94ZI+jQW-<#+Er-_QB| zIp+rjTz{K9aTr-ysBPTzf}9x*`3IbPynzTxCAuf z`}{XOz%Aeqa1gi>LYPb;wys||BYP2g}0&FK)r%`zZG01JTk zfpx&L2+~YGX(s=M+*)&hQQ$M+Yv4>4mR4hmO9zJ=gb>Do?Z7_ZL^pSksq+JP*7Mya+6fWoXI#=mjQ#W58FyHz5Su0u+I$^MO}@jlgrU0w!|+l{TU7 z1+D<=LI}4@0b~$B3i2fIYJ^$UE}?Vw3~*Hl;m^_l**H8j&TG#u$RHjD-UBwo1a%tW zw1U>8C0Z$aJtyL8fjvM!(A8$wwg9{5Br6;TYIQ<#uB%IdH-VRc)xa#^PEMp~*V&jA zft?m0J-O6w;Eh-XPXY6z@ST#vUGacA6_4v%rMjUg-me}~FR9mZ*K;<1E3jquhI&zb zM}0!A0930-+C}9@)aB|2>e-|h7`YGe-y`f^_35;C$cq=<1xw;N{wVMe@OQ}!&q6vI zI0}3OTn-^jl)ej+MOH*{3oe|Z46gw5fb+m6V8^y?M~5=;YW2u;ZlB_T$D(VqIhs5d zxw{^F$G2nSI%QL(g8gx;TbdoZfrcSGy%pg#E+(?N?kj zPYx1_zVF~^7H4+NuHjM*L*x&pvam3_23_mwROgiR{I;1wT)Sr;e|Be=Ew8_C(W|m^ zw(GzDw~zf7v8|wWt78}chqkmA+&Uqmyy@Rq>;fNfckehFctlIO#6WJJQjPqLW6Wh< zKWkG(%PTlFUT$H!W*W9?R!;)|`3(1u$uHFI6;7MfUYBXoT6`vL-xT|q6+byIoA4P1 zYw2BZUMt`Ea$mo64%-})tsIl$H{Q#C6|~_l=N?^~)Lp%9l4bvzc&}VMJE^Mit4OiM zxiB6#<7%CzyBRTuRm+mOrv@GOeDhoGbaUN`%Kw`8_wie7<9rz61PlcRPgg&ebxsLQ E07avbbN~PV literal 0 HcmV?d00001 diff --git a/app/assets/tray-darwinTemplate@2x.png b/app/assets/tray-darwinTemplate@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..eda5bbf305113b33e2c182a95eda05fc99de6b0a GIT binary patch literal 894 zcmV-^1A+XBP)+V3oXKRZnA|%s}@4I z(2y3P3mp~2jm(f>1VfAdm<?4VjmAS>>sTE%U|Z}x#b}7+=u?;-#=KNIU)x>YuUJpW!Q;#un3i$+`gfS8R1dE z!`Ozin7}U>#;cfDB+_ep2q*Cy#xNRd96#d-)?-dD@}pAXTZ(gN#QWlJX5$ZhiUT;0 z8##&X8y}n&fhG73zvFh655@21;Q~I2i2ay;e}_ob_Kgqxr>HE6)2Gm1iOnx(zO=4} zR44HQ9+|2v?ILhC!g?$7H)FMvCWAsPbz_-k%kScS~B=qY{4chjxua^nICf_QIFv`PUYWLIz=QS zazCEOD|iO|ss1wp)izsIgUI>Ftv|aWkmp54WF=kH`@?vvHo^1_6^omTKoE9ypGLL zTC;Go08)19WV3>Bvm=2*=jxB1umw*=GTw~U4RBvHs4uWLDyZ{qC~SSS)^pMK$4ct` zrxIWCH)628i6@fewc5aBs$5JX`9pl2b+^$efd3j~cjM{&?ob3TtAa(*#~;N#_^Znd zPjbzP7QP4HM-ysm)i#N_EWn#31E(y*tC){(j;I-O7r?9u!V-ec4#W-Pn22#h zBGKT+h)5ok5CvBd!~`)$TTmntG*JvlK`5oROzE^U)6VzDJ1%-(``Ve7Qq+wnd5e4J z%{#wy&OQHgp@!}0O3~SssM@c!cdHht<>aMEv)`c&2vCkj!jlluNcbNC5dUKD@dPhC z9QK@BzzX1bAP9T{3`Zkj_25*5O>Hgz900(su2B)>Hi5^1H-Y6q1-J}+02~1_evn(q zhBb3zQN4ugL+le_J8(OY1q#4Q;A7xZU~OktqTXMMg`SV93>@o8tth+vkr>ldCZ|$y ztKO*ta=_=nUf|DYBwX}E+)PHQ0J?ip%YkzuWb#GaIf|7!wzfgQk6pg$T3 zyHg+*QFE9V1OQ}2Ko!m8a8qel3Z)4Uk!fAj0Gt4J0w<%9@UXw5Zj_DL0L}tMpbQfZ zD;0DsqnggD6w8R}G>|&L1rD0h{1T0XGxGtd1<(S#53DgAPy}2tAcYccDy?MmD&-2I zQy&pv5fC#6^$75rSC)BoL3dAzw$|n(@G`I!_}&22Dc~xEf>=w!B1^-fO%14Rp{f8V zkOrE8w}20UO`TndRdXq+%me^vYi;(IV29F%-Hqh^17x5d)@&4Y#cnD zWc}(E+FF}0e03(dJ)37~smxvZg4R`B)Yp<&wuQPX!@V)$eM6dxB`6n4ShiIbOXQ{i zydGY^y2V>Ra4oJIR9OeuB2#)GmSEWysaQgWFJ04QY?S&zdf{4_Is* zmjJAQO{G|tfeQnS^bKidbeu}Lf>`36NZSb1Pe!hDv+BT1$?WV(tOH&F9yFubH4kE0 zh(O}6xWq0F=y*Iuxllr;dO?6jU;y~Y=s~aJw7VT0hj5(s*>vCv+mAM{XsF{2;1OVn ziK1fK3M*id8BH^I?y4kXBU;K8QB`E>eAOET?F9A%mmQ})58!uR6X4L#$veswj-=9h zClC^uaO|bKlrIwN>6hW&A&Qy2x~}VY95BwmFj1d(oc8gXx|A+%k^sue#(H6NOf_Fn zu>+#2O8iPp2G3n3n@p>^>Isb}Xp4Z;z&2CwgcoT?$02}ek;0V%%{E!vhJSL z { app.window.on('show', () => { app.window.webContents.send('host:window-shown') + if (app.tray) { + app.tray.destroy() + app.tray = null + } + }) + + app.window.on('hide', (e) => { + if (!app.tray) { + setupTray() + } }) app.window.on('close', (e) => { @@ -84,6 +94,35 @@ setupWindowManagement = () => { } +setupTray = () => { + if (process.platform == 'darwin') { + app.tray = new electron.Tray(`${app.getAppPath()}/assets/tray-darwinTemplate.png`) + app.tray.setPressedImage(`${app.getAppPath()}/assets/tray-darwinHighlightTemplate.png`) + } else { + app.tray = new electron.Tray(`${app.getAppPath()}/assets/tray.png`) + } + + app.tray.on('click', () => { + app.window.show() + app.window.focus() + }) + + const contextMenu = electron.Menu.buildFromTemplate([{ + label: 'Show', + click () { + app.window.show() + app.window.focus() + } + }]) + + if (process.platform != 'darwin') { + app.tray.setContextMenu(contextMenu) + } + + app.tray.setToolTip(`Terminus ${app.getVersion()}`) +} + + setupMenu = () => { let template = [{ label: "Application", diff --git a/app/src/preload.scss b/app/src/preload.scss index b603b66a..fa660d2f 100644 --- a/app/src/preload.scss +++ b/app/src/preload.scss @@ -39,7 +39,7 @@ .terminus-logo { width: 160px; height: 160px; - background: url('./logo.svg'); + background: url('../assets/logo.svg'); background-repeat: none; background-size: contain; margin: auto;