From 73fd934fecba8caca04215be86c6604068bbfd4c Mon Sep 17 00:00:00 2001 From: Grant Limberg Date: Tue, 9 Aug 2016 20:02:12 -0700 Subject: [PATCH] * Fixed menu icon size * Added icon for dark mode * Added detection for interface mode changing from light to dark and adjusting the icon accordingly --- ZeroTier One/AppDelegate.h | 2 ++ ZeroTier One/AppDelegate.m | 28 +++++++++++++++++- .../MenuBarIconMac.imageset/Contents.json | 1 - .../MenuBarIconMac.imageset/Menubar.png | Bin 14843 -> 17234 bytes .../Contents.json | 20 +++++++++++++ .../MenubarWhite.png} | Bin 15769 -> 17234 bytes 6 files changed, 49 insertions(+), 2 deletions(-) create mode 100644 ZeroTier One/Assets.xcassets/MenuBarIconMacWhite.imageset/Contents.json rename ZeroTier One/Assets.xcassets/{MenuBarIconMac.imageset/MenuBar@2x.png => MenuBarIconMacWhite.imageset/MenubarWhite.png} (81%) diff --git a/ZeroTier One/AppDelegate.h b/ZeroTier One/AppDelegate.h index b180261c4..d77797279 100644 --- a/ZeroTier One/AppDelegate.h +++ b/ZeroTier One/AppDelegate.h @@ -46,4 +46,6 @@ - (void)menuWillOpen:(NSMenu*)menu; - (void)menuDidClose:(NSMenu*)menu; +- (void)darkModeChanged:(NSNotification*)note; + @end diff --git a/ZeroTier One/AppDelegate.m b/ZeroTier One/AppDelegate.m index 6acac165e..f60ccb6b6 100644 --- a/ZeroTier One/AppDelegate.m +++ b/ZeroTier One/AppDelegate.m @@ -44,7 +44,19 @@ name:StatusUpdateKey object:nil]; - self.statusItem.image = [NSImage imageNamed:@"MenuBarIconMac"]; + NSString *osxMode = [defaults stringForKey:@"AppleInterfaceStyle"]; + + if(osxMode != nil && [osxMode isEqualToString:@"Dark"]) { + self.statusItem.image = [NSImage imageNamed:@"MenuBarIconMacWhite"]; + } + else { + self.statusItem.image = [NSImage imageNamed:@"MenuBarIconMac"]; + } + + [[NSDistributedNotificationCenter defaultCenter] addObserver:self + selector:@selector(darkModeChanged:) + name:@"AppleInterfaceThemeChangedNotification" + object:nil]; [self buildMenu]; @@ -82,6 +94,9 @@ - (void)applicationWillTerminate:(NSNotification *)aNotification { [[NSNotificationCenter defaultCenter] removeObserver:self]; + [[NSDistributedNotificationCenter defaultCenter] removeObserver:self + name:@"AppleInterfaceThemeChangedNotification" + object:nil]; } - (void)showNetworks { @@ -277,4 +292,15 @@ } +- (void)darkModeChanged:(NSNotification*)note { + NSString *osxMode = [[NSUserDefaults standardUserDefaults] stringForKey:@"AppleInterfaceStyle"]; + + if(osxMode != nil && [osxMode isEqualToString:@"Dark"]) { + self.statusItem.image = [NSImage imageNamed:@"MenuBarIconMacWhite"]; + } + else { + self.statusItem.image = [NSImage imageNamed:@"MenuBarIconMac"]; + } +} + @end diff --git a/ZeroTier One/Assets.xcassets/MenuBarIconMac.imageset/Contents.json b/ZeroTier One/Assets.xcassets/MenuBarIconMac.imageset/Contents.json index a680b58b8..84b363863 100644 --- a/ZeroTier One/Assets.xcassets/MenuBarIconMac.imageset/Contents.json +++ b/ZeroTier One/Assets.xcassets/MenuBarIconMac.imageset/Contents.json @@ -7,7 +7,6 @@ }, { "idiom" : "mac", - "filename" : "MenuBar@2x.png", "scale" : "2x" } ], diff --git a/ZeroTier One/Assets.xcassets/MenuBarIconMac.imageset/Menubar.png b/ZeroTier One/Assets.xcassets/MenuBarIconMac.imageset/Menubar.png index 84ca66261e68244259d44ef4c8d87ccc3b525303..ee0d7e3fdf8da51765ea0e17fe32201b7252661c 100644 GIT binary patch literal 17234 zcmeAS@N?(olHy`uVBq!ia0y~yU=Rag4mJh`h9g^YtQi;>I14-?iy0WWg+Z8+Vb&Z8 z1_o=f%#etZ2wxwokg&dz0$52&wylyQ$U=n(-v9;Y{GwC^Q#~`?WJ6;k1#?S1LsLs53lkj$BLhP- zeFGDHLrYylV=F^rD-#0+C{VKFQczH^DN0GR3UYCST33{kW~-D@Qc_^0uU}qXu2*iX zmtT~wZ)j<0sc&GUZ)Bufl#-@fT$xvrSfQI&tPC*(W{yj0adJ^+K}lwQo&w0+#H9Sv z5?duDkVQ~i6`&SX=ZT;f_*f?sEG zNM%8)eo$(0erZv1s%u$lUWqa`M-*h_m*f{`*ki82MD64eY}Un|eN z;*!L?rbX$DCtx=AKUNxG>P zCPuo6Nv1}+MyUp=iRLNENtR~GFe|VagJG3NW^qY=Q6*A3gOwSw=wD6lHrh7{+gm6RtIr8=gk=9LhaHzDStYDBldMjupO=Va0#DvA@! zD2oW<@)g9FNb!j7MMPwSgBVXa1ThM%3b!Gs;Ym~>2{9K{BW??lGZORCQ&a5pVTl+f zfUX65+(AT9a~CYfV&+C0MCk%64IJ~5Q$d-w7&T3R8w^f~>8PThz=ftD>}8g@g<+b3 zd1{KTX{u!!&N2&X1cncx;;_;w#WKYx#VpxU*Ca8?K-a?1BvscU**s0x%*@!pBGJGg z)iT)-;(zoM4G~3kzKuR{o<|BJ=lq=fBH#R!R6Ap2-3VcX4{TDBt^QD$mhNg}uuGqlmi5JOiV0V)-9O2O*QjSLJ74D<~_BvdQ1 zG`iME{92Kv(X}FUhUR6K*cm}>LlZ{Q1!`+pfx{=bATc@B&dk)**wjWJT^LNkBD15(ZKO7M#8zqCqZhc3d|4;C45t4Gxxq z*C4cFKpjRa<00mbS^^0NBFWLsqfNH`Eljs_Qz0R>Su8eEWYAd(ynE+PX8qHHv{AmKnHIT~C<1{6fuXmCNofk<*R zxQGlWh_cb(f`kK+qqrn9U2O`PQ;36`hAj(FA3la`QlB2;zWI#cbjRqGa z9Ec=GgNw+3f+!meE=V{KNsa~=kpTr!HX2-za3GQ#4K5-B3ZiT@xFF#`Bsm&fLqG_5gAYrWuw6b2?rv{(cmI7pdiXdg9{Q4M3SSy zMPxuhl#K=#Bpiq&M}v#VfPyF+4K7GH5J}<U+u{1_M*UNbN->||hI_{+e+z>G~X0|Uci1_p+M3`B;pDgy(<8wLi3?KliW z5eAt_Oc;ZFWy`?8z{9}6Aj81GV1viC2n#@_BX}q*P?*nTU|@L0z`$^bfq~&A0|UcN z1_p+U3=9lU7#J8*aajO16HK6(2j*xnFfhDeU|@K~z`&ph4P#JHYyrzMFr+guFo4qO zW(EcZL8us<0-FgY;6h*qD58!rFfhDhU|_HSi!d-?3*$_v;k^tD44~kGDrJDg8y15- zpc-1?DzO_3lHLPV3-T3+55^!f(IXEOLGjQOuo|oiKd}-j?Et0W6uQB@3=9nB3=9m9 z7#J8Xz*XU99EHY%6$1kUXsbS4CAz`C7#J9ygZA<>Ffj1LRpDkxL)AY2|Ns9tWM$|E zzhz)xSj7Md(=cR(IM@LU3=EtM3=A6>85vno)PMpShM^Lmqy|b#hoO8Bg)LR6LDM)$ zoiNM{7!6Jua1O`_2u_5?_96(EK^_{Ruq+L77M$jAs51Ze~_2oOWB&SM0XMbAth%y`w|JqP4FPgg&e IbxsLQ0Ftp@TL1t6 delta 586 zcmccA#`wEfu`|HWotI0Bi-CcG*VDr#h=GAY1cW)*7#J9OJ7sw%DvC2%Xl%5~W1O7F zWHDKn$#L=u#@5Npn9lH;=^7b_7+P8x8(JAyPOfKGpZtzl03>Q2VrXt*J`5##%CqH8moSekE z8O%SzZU!<1$;LXiS(C4D=x=W4Qek8?n7oGDg3(~}Q|^3ymS=Hxza~dm>(w**db&7< zRNPu~#o9Y2P^9hQ@xUf!Ww*AMEgT0I>=pRPbjw3)qKH_g6W7E)0;m5lLk;&eLXk%EvurA;Qir|g@(YkPs%s&1X?H=CC;#v#s7HYhHD0@Q7i#7l8$LB3qYP#N6 zh;0zozjz>yslfP?O;2AvqjyICG2e^%F^^By`n_y?$l!l*DnpH2s9jIzFYX`0-hnMM zQ&}FEoQgOW8pnTcQCz@N@rz%+PC5EXZ$Woq-8Y7aV`UX>LCaIwrVAdNEwNp6Pv40? z!y9jGrZ3hvSDMxRV(-cSv9tPj?VA;ry=Zw;>>H7p@7WkGpY^tOnj!F+fq{X+)78&q Iol`;+0Hl)Ur2qf` diff --git a/ZeroTier One/Assets.xcassets/MenuBarIconMacWhite.imageset/Contents.json b/ZeroTier One/Assets.xcassets/MenuBarIconMacWhite.imageset/Contents.json new file mode 100644 index 000000000..cd55e6eb4 --- /dev/null +++ b/ZeroTier One/Assets.xcassets/MenuBarIconMacWhite.imageset/Contents.json @@ -0,0 +1,20 @@ +{ + "images" : [ + { + "idiom" : "mac", + "filename" : "MenubarWhite.png", + "scale" : "1x" + }, + { + "idiom" : "mac", + "scale" : "2x" + } + ], + "info" : { + "version" : 1, + "author" : "xcode" + }, + "properties" : { + "template-rendering-intent" : "template" + } +} \ No newline at end of file diff --git a/ZeroTier One/Assets.xcassets/MenuBarIconMac.imageset/MenuBar@2x.png b/ZeroTier One/Assets.xcassets/MenuBarIconMacWhite.imageset/MenubarWhite.png similarity index 81% rename from ZeroTier One/Assets.xcassets/MenuBarIconMac.imageset/MenuBar@2x.png rename to ZeroTier One/Assets.xcassets/MenuBarIconMacWhite.imageset/MenubarWhite.png index ce46c151fb1b6b0a325a6e4a618f97121177740c..7049ae55000a88568d1da6cb72f76c9577cd835e 100644 GIT binary patch literal 17234 zcmeAS@N?(olHy`uVBq!ia0y~yU=Rag4mJh`h9g^YtQi;>I14-?iy0WWg+Z8+Vb&Z8 z1_o=f%#etZ2wxwokg&dz0$52&wylyQ$U=n(-v9;Y{GwC^Q#~`?WJ6;k1#?S1LsLs53lkj$BLhP- zeFGDHLrYylV=F^rD-#0+C{VKFQczH^DN0GR3UYCST33{kW~-D@Qc_^0uU}qXu2*iX zmtT~wZ)j<0sc&GUZ)Bufl#-@fT$xvrSfQI&tPC*(W{yj0adJ^+K}lwQo&w0+#H9Sv z5?duDkVQ~i6`&SX=ZT;f_*f?sEG zNM%8)eo$(0erZv1s%u$lUWqa`M-*h_m*f{`*ki82MD64eY}Un|eN z;*!L?Kuqxb!6z8XvlqVLYI;N-Ql@OOVA?BiLM7O|3A5>oFWYQoiiWAEy ziwNTK6~vcF@rdq4L}Y`57*9C_F$$~-w;`zENmL;TF&9-MZVQq#67$kiQ|$C%i5Mn; zt_6GCK}1n=7pzdg%#AjP(gju;IOZj%f--F}YMKBy7@QK*QAI(43r#`T%PeyX!!!f) z)D&IQRLeA+Wfs&33?D+pVWm@wWr|UXS+b?BNn(KEjt+vp<%kyL`JaV!6#%+$P+L~to)XrqrIhORyWR4V3_g4LTF85kHC=o^Aas8(cY zbghy2wIWNSYenb`&C4vYGlJTNCXA#D)Yh;9hfi=pVsfgTnW?FqG_ z5gAYrWuw6b2?rv{(cmI7pdiXdg9{Q4M3SSyMPxuhl#K=#Bpiq&M}v#VfPyF+4K7GH z5J`>(7m)!4Q8pS}kZ>T991Sia0}7&SG`Jw)KqNUDTto&GMA>L?LBfGZax}Pz3@C`Q z(cprF1Ciuta1j|$5M`sm1qlZt$6vs+$NkkOfLBFfcF(L)ny4j~EyjUc(Fq1t(}HGB!hhGB7ZRGB7as zfiy5MFzjStVED_xz`%@6F#`j`Vg?3=gAAZBCIYMe|NsBZ|NsBD6QLGtCNW_Q@|7(E z0|O5O1A`0$1A`47*TOx4&tOoP&tza=0EJls0|UcH1_lPu{_Uv@3=9t$7#LFVT7biA z8vp_I4^%D4S0FwdqlYmlg5nt% z7~U{2Fsz2h1a8JksFVYghEwPU^D;0nm_sA%0$det#!&_ahF1&>3|0&b44|$0aFyr= z|6*WZcn;dj&%nUI4_AeoAq`dgoRN|78?rKVgWobRFsx!=U{GaXUD1%qz7ymhy%hP0VEvu z|Ns9l|Ns9#{Qv*|sQ>@}Kl%Uv|Hl9S{|Ej5|Nj{jo50kA^usVn44=UuIgrcZ|NsBL zAL_af|NsAA`TzfaH;`sz3^No&gTz6aL2NJv3E;rEG6+~dNDtTmC;{SwN-iju0XYKU sVo=6ykYW%U9yuTm9z68wJVsC=`x2zQWWjO9NRZDwUHx3vIVCg!08JU5I{*Lx delta 1135 zcmccA#yGQDu`|HWotI0Bi-CcG*VDr#h=GAY1B5x)7#J9O{_V(}s3^{4wPd4J9^>RZ zCX30sOpcRRFt$!!#&m|)OxMUb#L&{p*wD(rWO6;T`s8=a0$gUgM&==g79b&R7S+j1 zm_?9RMQs80aRY znx+^eniwXfB&JTzV$mnfhRZDWYQ#9jMt|~07RkxaSOh00v2Io&M$2SNHVf1s+g!({ zz(|}&EZHoOL$QvnWpWG~*W{@jd7In0lo^>!3?{GPHfJ(1*!+|`U!Uc2Kv&%42y4B1 zrhHEq$B>F!Z)R9$ggOee?JpMYl{l)g)6Ri2;zTZs{E8(!855TXT*+3}tSMbIcWDHR zwf4?My{)bS%3dxa(w>@(tOwm6HpehYDQfI{T%7ywKtZ5?(Yc%=E_S}%&)*pRK0j}6 zeVRI_VnB*#!`1`enjTd%ZeZtNtz{ElAiKh%KH@fCOz?l6f}4)dTb{p<$kefawRDTi z!KEJGgJ4T4bv6g3A4&J z9&WH&_Wkhz>Cd$s8poNgbH$i;^D@6){_v=GL*0YT$6gto2o+;iPP_gseZfrL1Kz#$ zOjfpxe4h0m^%LUx>PhfrE>nhlASdihH)@8;W^I0FL6uADqdw?sw zp_ccg$FhL(z+B^k6M}bw-YR%W%&TnKZMbot`-;^wcg9w(y_-0N*Mi}V+2?areXn0vteY$cD*7nS-e-fRbU+D|B#IxzQub+0{p*zp|~Z@PT$++*#@7%@@Vr}r-7 zw4-~f%CswIM17d2v3T`Ei7%@_(_+k?3T8adH0zue>&Nhclv7X zRVrIVSDyR4|4*2QXII?Q^5UN=p3fL(f3=cwlK6h%cQwO_pD%Nyk7aFOVBlh4@O1Ta JS?83{1OVh#to8r^