[vlc-devel] [PATCH] macosx: First commit VLCStatusBarIcon code for macosx gui.

Goran Dokic vlc at 8hz.com
Mon Jan 18 01:10:34 CET 2016


Hi,

A small change to my patch. I've made the statusmenu icon a checkbox
in the VLC preferences. Hopefully this makes the addition a bit
more useful for some users.

This patch supersedes my last (2nd) submission. Not much else has
changed, though.

Please let me know what you tink.

Regards,

	goran


On Sun, Jan 10, 2016 at 02:40:26AM +0100, Goran Dokic wrote:
> Hi all,
> 
> I've updated the statusmenu/icon code, to make it cleaner, more robust
> (for one thing, it should not be sensitive to localization anymore) and
> I have fixed or improved most other issues as noted by David.
> 
> There is maybe one thing left, which is to make this icon/menu an
> option in the preferences. But I'd first like to have the main functionality
> in order.
> 
> Please have a look at the patch and let me know.
> 
> Regards,
> 
> 	goran

> >From a6e63a1c578351c6bad42a0ab9e6871fc2e226d9 Mon Sep 17 00:00:00 2001
> From: Goran Dokic <vlc at 8hz.com>
> Date: Sat, 2 Jan 2016 11:16:58 +0100
> Subject: [PATCH] macosx: Update/Cleanup commit VLCStatusBarIcon code for
>  macosx gui.
> 
> ---
>  Makefile.am                                        |   8 +
>  .../English.lproj/VLCStatusBarIconMainMenu.xib     |  63 +++
>  .../macosx/Resources/vlcmenubaricon/pauseIcon.png  | Bin 0 -> 455 bytes
>  .../Resources/vlcmenubaricon/pauseIcon at 2x.png      | Bin 0 -> 1055 bytes
>  .../macosx/Resources/vlcmenubaricon/playIcon.png   | Bin 0 -> 559 bytes
>  .../Resources/vlcmenubaricon/playIcon at 2x.png       | Bin 0 -> 1528 bytes
>  .../Resources/vlcmenubaricon/statusBarIcon.png     | Bin 0 -> 559 bytes
>  .../Resources/vlcmenubaricon/statusBarIcon at 2x.png  | Bin 0 -> 1024 bytes
>  .../macosx/Resources/vlcmenubaricon/stopIcon.png   | Bin 0 -> 354 bytes
>  .../Resources/vlcmenubaricon/stopIcon at 2x.png       | Bin 0 -> 688 bytes
>  .../package/macosx/vlc.xcodeproj/project.pbxproj   |  63 ++-
>  modules/gui/macosx/Makefile.am                     |   1 +
>  modules/gui/macosx/VLCStatusBarIcon.h              |  57 +++
>  modules/gui/macosx/VLCStatusBarIcon.m              | 469 +++++++++++++++++++++
>  modules/gui/macosx/intf.h                          |   2 +
>  modules/gui/macosx/intf.m                          |  11 +
>  16 files changed, 672 insertions(+), 2 deletions(-)
>  create mode 100755 extras/package/macosx/Resources/English.lproj/VLCStatusBarIconMainMenu.xib
>  create mode 100644 extras/package/macosx/Resources/vlcmenubaricon/pauseIcon.png
>  create mode 100644 extras/package/macosx/Resources/vlcmenubaricon/pauseIcon at 2x.png
>  create mode 100644 extras/package/macosx/Resources/vlcmenubaricon/playIcon.png
>  create mode 100644 extras/package/macosx/Resources/vlcmenubaricon/playIcon at 2x.png
>  create mode 100644 extras/package/macosx/Resources/vlcmenubaricon/statusBarIcon.png
>  create mode 100644 extras/package/macosx/Resources/vlcmenubaricon/statusBarIcon at 2x.png
>  create mode 100644 extras/package/macosx/Resources/vlcmenubaricon/stopIcon.png
>  create mode 100644 extras/package/macosx/Resources/vlcmenubaricon/stopIcon at 2x.png
>  create mode 100644 modules/gui/macosx/VLCStatusBarIcon.h
>  create mode 100644 modules/gui/macosx/VLCStatusBarIcon.m
> 
> diff --git a/Makefile.am b/Makefile.am
> index c853f52..a7a2a88 100644
> --- a/Makefile.am
> +++ b/Makefile.am
> @@ -855,6 +855,14 @@ EXTRA_DIST += \
>  	extras/package/macosx/Resources/sidebar-icons_yosemite/ys-sidebar-playlist at 2x.png \
>  	extras/package/macosx/Resources/sidebar-icons_yosemite/ys-sidebar-podcast.png \
>  	extras/package/macosx/Resources/sidebar-icons_yosemite/ys-sidebar-podcast at 2x.png \
> +	extras/package/macosx/Resources/vlcmenubaricon/pauseIcon.png \
> +	extras/package/macosx/Resources/vlcmenubaricon/pauseIcon at 2x.png \
> +	extras/package/macosx/Resources/vlcmenubaricon/playIcon.png \
> +	extras/package/macosx/Resources/vlcmenubaricon/playIcon at 2x.png \
> +	extras/package/macosx/Resources/vlcmenubaricon/statusBarIcon.png \
> +	extras/package/macosx/Resources/vlcmenubaricon/statusBarIcon at 2x.png \
> +	extras/package/macosx/Resources/vlcmenubaricon/stopIcon.png \
> +	extras/package/macosx/Resources/vlcmenubaricon/stopIcon at 2x.png \
>  	extras/package/macosx/Resources/vlc.scriptSuite \
>  	extras/package/macosx/Resources/vlc.scriptTerminology \
>  	extras/package/macosx/ub.sh \
> diff --git a/extras/package/macosx/Resources/English.lproj/VLCStatusBarIconMainMenu.xib b/extras/package/macosx/Resources/English.lproj/VLCStatusBarIconMainMenu.xib
> new file mode 100755
> index 0000000..20fb774
> --- /dev/null
> +++ b/extras/package/macosx/Resources/English.lproj/VLCStatusBarIconMainMenu.xib
> @@ -0,0 +1,63 @@
> +<?xml version="1.0" encoding="UTF-8" standalone="no"?>
> +<document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="9531" systemVersion="14F1509" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none">
> +    <dependencies>
> +        <deployment identifier="macosx"/>
> +        <plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="9531"/>
> +    </dependencies>
> +    <objects>
> +        <customObject id="-2" userLabel="File's Owner" customClass="VLCStatusBarIcon">
> +                <connections>
> +                    <outlet property="vlcStatusBarIconMenu" destination="534" id="O0F-8Q-FgA"/>
> +                </connections>
> +        </customObject>
> +        <customObject id="-1" userLabel="First Responder" customClass="FirstResponder"/>
> +        <customObject id="-3" userLabel="Application" customClass="NSObject"/>
> +        <customObject id="420" customClass="NSFontManager"/>
> +        <menu id="534" userLabel="vlcStatusBarIconMenu">
> +            <items>
> +                <menuItem title="Show Main WIndow" toolTip="Restore main window" id="08C-TA-yqu">
> +                    <modifierMask key="keyEquivalentModifierMask"/>
> +                    <connections>
> +                        <action selector="restoreMainWindow:" target="-2" id="2Uq-Pa-toi"/>
> +                    </connections>
> +                </menuItem>
> +                <menuItem isSeparatorItem="YES" id="t2X-zn-Z4x"/>
> +                <menuItem title="Play" tag="74747" toolTip="Start/Pause playback" id="9kC-yJ-Gy5">
> +                    <modifierMask key="keyEquivalentModifierMask"/>
> +                    <connections>
> +                        <action selector="statusBarIconTogglePlayPause:" target="-2" id="py3-sd-ST2"/>
> +                    </connections>
> +                </menuItem>
> +                <menuItem title="Stop" tag="83838" toolTip="Stop playback" id="4Sh-MJ-bSf">
> +                    <connections>
> +                        <action selector="statusBarIconStop:" target="-2" id="unT-d5-vlC"/>
> +                    </connections>
> +                </menuItem>
> +                <menuItem isSeparatorItem="YES" id="b5S-aL-b79"/>
> +                <menuItem title="Next" toolTip="Next track in playlist" id="GhQ-VQ-jtu">
> +                    <connections>
> +                        <action selector="statusBarIconNext:" target="-2" id="VZh-xB-5IC"/>
> +                    </connections>
> +                </menuItem>
> +                <menuItem title="Previous" toolTip="Previous track in playlist" id="iHu-rd-8KL">
> +                    <connections>
> +                        <action selector="statusBarIconPrevious:" target="-2" id="rNU-Dq-Sot"/>
> +                    </connections>
> +                </menuItem>
> +                <menuItem isSeparatorItem="YES" id="Dn5-wA-WfF"/>
> +                <menuItem title="Random" tag="63636" toolTip="Randomize play order" id="lPi-EL-hoN">
> +                    <connections>
> +                        <action selector="statusBarIconToggleRandom:" target="-2" id="DyP-Hd-KHG"/>
> +                    </connections>
> +                </menuItem>
> +                <menuItem isSeparatorItem="YES" id="p96-c8-lBM"/>
> +                <menuItem title="Quit" toolTip="Quit VLC" id="539">
> +                    <connections>
> +                        <action selector="quitAction:" target="-2" id="OJL-0Y-e8i"/>
> +                    </connections>
> +                </menuItem>
> +            </items>
> +            <point key="canvasLocation" x="328.5" y="267.5"/>
> +        </menu>
> +    </objects>
> +</document>
> diff --git a/extras/package/macosx/Resources/vlcmenubaricon/pauseIcon.png b/extras/package/macosx/Resources/vlcmenubaricon/pauseIcon.png
> new file mode 100644
> index 0000000000000000000000000000000000000000..76b8a5c25a31bd37bac6bac06c76de824a7b6d99
> GIT binary patch
> literal 455
> zcmV;&0XY7NP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV00009a7bBm000XU
> z000XU0RWnu7ytkO2XskIMF-#k1QjO|TLZ0g0004INkl<ZILob*L5|cw3`O5}xuQso
> zM6X&bSj{E4!EiT at Fel*(eFoMHQm>i?txibAET$X+5^SKPD3yHI^S7PAKQ8tAYv3Jl
> zPvLkxez{(+p8!s$)5GO*dAmC|0%zds3q^XA6lS(v<2XKL^x<&$u-7Gpq(=bnfV-Ii
> zd;<)q^E`h}!0mQ>E~PAz=7<R35E1v*+6%zlB?(~YWtCD&ou&zZVHi9jika08AR at E@
> zN-3Bbk^)dfu&!&Q12apVewc`0p68!{grwM7+dAg%8zl90UD<jt48s-xu&(R2Pe3L}
> zJrj6Z%pic)8ogBhq;K%dP;1=+((2y9 at A@x*S}X33yOTZH18S{*2c*S5PA$uVnQ31_
> zDTP`q5utq<=^(nz2{1`RYwi2a!BT5&?mp$K9CJDtODVYft6kPNyZxz@;;HvBkNZ#g
> xY-aDx?B1V|^t}CX(vzf**<4AZnVtC`>jxBYohU7qocjO(002ovPDHLkV1ncS#EJj_
> 
> literal 0
> HcmV?d00001
> 
> diff --git a/extras/package/macosx/Resources/vlcmenubaricon/pauseIcon at 2x.png b/extras/package/macosx/Resources/vlcmenubaricon/pauseIcon at 2x.png
> new file mode 100644
> index 0000000000000000000000000000000000000000..d5325b1e3457c60e63ffae9a6c4d6ec0e963ad70
> GIT binary patch
> literal 1055
> zcmV+)1mOFLP)<h;3K|Lk000e1NJLTq001BW001Be1^@s6b9#F800009a7bBm000XU
> z000XU0RWnu7ytkO2XskIMF-#k1QjR<A^Awg000BNNkl<ZSi{X%yKW>m5UlE+@$Smd
> zL9k9|g$7m&NrC^sk;97}-Tj|aXA1lgjxJCjz&IER{DPp<T8|x)?cm5&FU66tfdLaB
> zR+yP;R#z9B6tOwFJPnPZs+deBsqg!EeSMw$yMu!Rd3box+uK_SAz)+>K*)3b000C)
> z!WLtHf1krJU~g{^F-BZoUK+L=Td(<_3}(rTB<}#c1rPz;xN=A?L72^Ezx93p^VQYW
> zFFw%W;o-OU_xIl~m&<twVVWODC;O`$=M2D)rQ}^j;4Ogn8w^R9J*pdH{6O+o02>5W
> ztJOClgdYHWH->fNk${L;N}o$1BC!B-eWXSX!*CTsxUHWrm&@Cf(%)tlMMQIqG7<pE
> zWTIQoI{zWboBSI|{%K~rSw<!KMM~*9#`uSsJt44Kt?mH)B_h9z$k!zA0R%JaNPYrv
> zU}l|}-K<?Gg070wX95b~%RD0hH8YT$sp<}ZzTRqG*YyB)0L%ase8?qE`4=Sn4V;J|
> z#<*tWO2G2lFfLm?!pxY7I#C~E)Se)TPE|1s!<s+=yC7?XnZZ6sXgSMBCX(i2*dx@|
> zF*Zt2vi1Zj1EC_&bauft5_oiCN*m9gc%TF*MEpV{+o?r>FC{Umz)J+4Q^2cNVwCTE
> ztY-<R>IQ)tU}i`uy-1+OKTAMWM+wvml^T{tQtyJ65}rUEbJT=BgSvKOUhuf`_e=O^
> zJ>YBTfwhyzuvLd`mTpu5RUIWzHJT=YQp);WZQv#WAHXkGG8ijC!TRY5mw4VkqXf$I
> za at QHP2&n2>Jx`#-s(sPi1zrUYc*%q<Z28vjDo<Wjw=-eMW~>$03VH%Q{)Pgzv at Qc{
> zHKDOKTa&L7D+ at k34J!|rlTor^Shi7qM>Au?1I%-s1b}ipvqhlQis>>)`G_^&&&Q5q
> zRW(&L5i#c<Gcywr^QCyM1R={9MC2wf6iId|rKyPAk^Be1(D30v@=iqVNd^(QGqZtY
> zCn7gyHqE!8Fj at kVyE*$#MBcb-ROtn;Nxl}5X`=*Fl3$U0lkvMnZdIKD=yM5nYX$uM
> zNt~Iw+C=%?9?6}C38y4q<&5jgN$-wm at xJl@69B+j1||TX0QA`dlFKoW{7CYmLEt0F
> zpGbZHu#*>$dBFf+Hz#=JU;+P&adL7Z+hXSPITwoskB*KwpU=51{`B-zo?N+)kB>W5
> z?Ix3nsp`gAkW#`h3>bzX#Teto#l^<0WU*L?h-lyU(skYXf>OF?j1jBViZRA;ety1|
> Z{$HL#3{PWl`7;0j002ovPDHLkV1h;@*=7I$
> 
> literal 0
> HcmV?d00001
> 
> diff --git a/extras/package/macosx/Resources/vlcmenubaricon/playIcon.png b/extras/package/macosx/Resources/vlcmenubaricon/playIcon.png
> new file mode 100644
> index 0000000000000000000000000000000000000000..c4bf1d6dcac5a6d0940dced28fe99a195071ee1b
> GIT binary patch
> literal 559
> zcmV+~0?_ at 5P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV00009a7bBm000XU
> z000XU0RWnu7ytkO2XskIMF-#k1QjVL1B_Wu0005bNkl<ZILp0Kv5Hhd5UlCx>7Mu2
> zaor2$GEMvi!8<V3pYSIP{RI;v6U__-1C0bTK at iM^Lk<xx(%s>n^WN at Eo7@U_9(M*}
> zLqjK3)m0SmFQ)JNdEfW<Qc3{;VvJry+}~h50GQcct at VwW?TX0tQp$%~D^xXl?`y5~
> zVixDz9uXNc8#7zibuU%*0RW_wNLBSh0uk9)Ra4a>B5k`d#!sqx69Brd6IG?NSONg=
> zJ(w9G1ScX+L|h1A4d8}z?z5`Ct+i5X&0j_UX5QWsW4sb${4OGQnE59WJr<GOQ}zL1
> zXJ==hh~5#=1VGMl*;;G4);e#kwQ(F at 0C-qR`NjZ1L||rk?_p-!U;zNNRuB<X)eXad
> z^?FSwA_f2q;P?Am0_PlBYcMmUlzt4uFk7uwS4%0+i0Dx%<?Hq}25`#zR#jEk-uv<B
> z=;+!sP48>1cg?IGA0My(2$6{3y+;V4F|+l3-*V1;aB%R&%x>kJZ-)>XfOa+<KB=y$
> zDmI%<9LEudhlj7au6tcdc{-oZDW#;#<#If)Lks}R<x-g$tJUiHFbp3zo6VD)Gg3-%
> xnx--5JYH7ixpVG5fB*oq*~~8%3y1$PzW~|xz5&9$Zx#Rm002ovPDHLkV1i9$?12CP
> 
> literal 0
> HcmV?d00001
> 
> diff --git a/extras/package/macosx/Resources/vlcmenubaricon/playIcon at 2x.png b/extras/package/macosx/Resources/vlcmenubaricon/playIcon at 2x.png
> new file mode 100644
> index 0000000000000000000000000000000000000000..a17b73ff8a0875c573c54a4fc3ace504ddd78c41
> GIT binary patch
> literal 1528
> zcmV<U1qb?xP)<h;3K|Lk000e1NJLTq001BW001Be1^@s6b9#F800009a7bBm000XU
> z000XU0RWnu7ytkO2XskIMF-#k1QjV6Qc_uU000G-Nkl<ZSi`kf&5LD675|<3xF7Fh
> zUUv_(&=5stVY?0P3?wdvEX0Mb{WAo?t>VIk3s(|cjG_nz5rnuA(P<=!K at Fs#83s)<
> z2B+usOTYK-ty@*+92ax%%$t|jCe2J26x at 63)~Vn5_?>f#uraEtasXWannMT~S3C#+
> z>bf><+sgK0RaF*%6Ojx+VvPE%0ayUYIqwwgoC5#`pjUA?0MKYOa!u1 at 02qx%-vaOr
> z00Q7v(=@*uew<7uCg)tMYF5=0W0YqBz%jD}kO6?1zXsr&!&+U}cbs$Yr<7)^)#`l!
> z>kapis-o+<r?QMmDLoR9QbLRoDJ3xTR{;Dx=lmyC{jT@^VEAt~n-PEtKv|ZheJTrx
> zJhr5WtN}n(GZF1E^Jn^{&lzLh8;wRsB9hy-eJ92^ANJLCZAHWY;I8W~<r?RlL(UJ`
> zX05eE1R`>(y3RS9{__D5eNRM^s=fo@`v873P*+u at kDE)o!#d|2Gcy2q?_VLJFB at Y(
> zL;-*yA|@gaz^bYT at Ej36=e<94&K;_1?z-*+W>#j#bUL-hn9^EH)>`dFUu*#)dQ6G_
> zg@|B`an{<Asscb()uz{U3gATmFRJQ)0o*EzVkshbiKtvIm&=~IgL_C-5klBabz{uq
> zh<vCyHbHIVi at FD6RTcg74FKOJqL-|- at 2ct_i0GE8W&qgV-?v at Yc>r41b=sBewk<Gd
> z4<b^1cnbB?53#DMt3Dsp0QOY%1pqIo>Sv3hm;rc8L_Rz_JNq|)Fvu^<(h?Cu2)xq*
> zTL7S{w2QjE8wM+609iyJA}_1zS5 at _{G3K{LQT!~%_;w#(wpT<ibb+<@2>=_1JOOg3
> zAw$su5JjX=RZ>-m$QPLT>mqWqD2l%m(VN!VzcfvAe at J2gTnHgKYwd*qwhzBxQ~;`8
> zkqDp_5z09~FCw2;)mK#YNL7DPRn_YN?uHN|fK*i#ne8CloYvY)O=FBBqLH<BRF)+s
> zlL=2Ilg at kpMOFO)fZG7RvjN^;7z4(bPiq0F>Z82_l~q-VNJIpE9`SuZ>L=2$*9HUK
> zcF^*P!v~<wx$M0U%#5~e$0;Q*B4FlYW6Uo_<TX`2+1Q at kE*A^{L}Vv`p?(k%y!XL5
> zmvYW7##rZ^3uZ>wbsy%O-v;nERsDyx_NZx^_lD#Iz_o3=8^ACxETP8eM&J%ID5az^
> zMrGy?nE7=P`DqB at 2mp$rFn!CXZQC+{1OOjn!Il*i0I4d5oNld^s;bt;m=r>&+qSJ^
> zjE<SX%ty at ps~F=O%zT=2{?{No#wb-)ZBzK;iD)>y4<=GoSZlQ?irjPDrIe<9GlCGp
> zM{V2QVdfKS?H}v9es#HAb^vgAcxdn4yH|;bib!gj=2EG6vrKbc*9`z&tyYus^K%zM
> zfU17f=l&mu5bjh}RiB=oc7wd*<72*d?V6}6nx@%ZjJBwzLsXY#nd`b<t1879M~lT`
> zmQq5_8C}=iUa!}GCZhk8W%<{pX^sIPgph9BxM4#Gg^1*wb3Q*m*H3Inwqw9KH#}Pr
> zaWO{B=kpjs5a-;n_x?vIrC$TUcszEq+02Lt0g(Im?=yh*Q+Gt8(Fhy0o4xla%QCH2
> zEC1lZgNm6!MCU1`ABGTad+*g+`_Ey|+1Xj1&1SYQQhM30$hGZbupxwTN(m_?zg#X)
> z=kxgqGuyhZ-#9op_{n;`evnea&6_vr<m99Vpw`;7SS)z63Axmm&1Tic^Q(J%d%C~B
> zuX}rYuMyFg08Fc at dVYJ~bULN!bV^TsFIcbFkM4i#_4 at Y!#(j5oOI6?PEwdbt#|A)c
> zjLF{nG at s9($;IUVYA_y;NkmYVB^Hatm0ZnC->qDfcMTC00L=C4*Xb$%(3Zw-BRS>O
> eYIWt;^Zx;7vQ+EhODxv_0000<MNUMnLSTY(+RjA)
> 
> literal 0
> HcmV?d00001
> 
> diff --git a/extras/package/macosx/Resources/vlcmenubaricon/statusBarIcon.png b/extras/package/macosx/Resources/vlcmenubaricon/statusBarIcon.png
> new file mode 100644
> index 0000000000000000000000000000000000000000..ecbb60d34929e0f0b94a48f27ab9e202b0574da4
> GIT binary patch
> literal 559
> zcmV+~0?_ at 5P)<h;3K|Lk000e1NJLTq000#L000#T1^@s6sTZY|00009a7bBm000XU
> z000XU0RWnu7ytkO2XskIMF-#k1po~N73$(*0000cX;fHrLvL+uWo~o;00000Lvm$d
> zbY)~9cWHEJAV*0}P#|w^AYmX)VPlo#Ut0hG0h~!hK~y-)wUs+>6hRP#zuE`3Iorq&
> zkO;8I5IGqEF%ka;iGM~$%-=u=BqTtb*Y=&Y+eJVRI!?#l`3#-RqkC$qx_dNY1GC)#
> z0xYRt7q1NfYhV$mku;2*sn!6tKnozL5NLCMJJ4YmYTybuiwFS^b6sx at +BD5989$QL
> z0uPe)Z1mjU9MkD^57<w}?<5V9s;a86eIMu~U2#LZW7`q&F(QVDa70Ak_aAI~8~HVG
> zol<wRl>l7V^+BdYH<I7?ecg3ksqiyNM|r_Ha16W$c5H{F>y32J=X3d&J-1!kZf)<_
> zZfwi;t92<@?oHV~OwhemGHp-NueCYNpa!^`TbIBK+b6c~<z<h7F8v3#tFio&G7HPs
> zw!ipK`;_B_?Ke5!Uw&a)0xfy^0el9|l6j=6;-3NMz%FoFR7>*8>PwRCBj6kG7C216
> zLSV>CUjoOHzT0*I{0(Zm0!|j at m%s$L7^&$57&5-Rvagb2u~1KPJk7?RYs7$g#ufQb
> xR~5<J!WPe0{0CF^So}lGN=x6y?HJ}a^AlwF9}E!HAkzQ<002ovPDHLkV1j8$>%{;7
> 
> literal 0
> HcmV?d00001
> 
> diff --git a/extras/package/macosx/Resources/vlcmenubaricon/statusBarIcon at 2x.png b/extras/package/macosx/Resources/vlcmenubaricon/statusBarIcon at 2x.png
> new file mode 100644
> index 0000000000000000000000000000000000000000..ac53523e96c231007c9d6fb18b32f46a8f9f6e02
> GIT binary patch
> literal 1024
> zcmV+b1poVqP)<h;3K|Lk000e1NJLTq001fg001fo1^@s6#ly*400009a7bBm000XU
> z000XU0RWnu7ytkO2XskIMF-#k1pp*C3B)m&0000cX;fHrLvL+uWo~o;00000Lvm$d
> zbY)~9cWHEJAV*0}P#|w^AYmX)VPlo#Ut0hG18qq}K~z}7?U+qyTvZguf9Ji)befQ+
> z4W<rgYpYcwf^=C+3%XFD(3UR57AltFMyM+{uEeEX34UbJg>=zHp(__|wB5K6mnsw#
> zrRgV?mZnTPZIYSy?%##y!F9-FnoKe?U=AGa=Xv-4{^#6JSeO5)*lK=El7L5E90n?8
> zwlGkCtbgS|RNn5u891PxJ}GG|0zWoLAV(ZjIjS?Sdt%Vse!}xxB1TWFmitTHexTWG
> zPI&g7q{F};z*b2W;GP5CVP;qR%I3_>%)645=ea@%|ItW3?(6a-X$Yt{8jaubJb$5F
> zE)M|~LdXG2(=;)&1v481HketXFKo`v&OYyqEl4VuET{~guX*{!ZpKQwG0w8=WdH{h
> zfDlbCd0R2Y(|uvHR;vw5QnT6o-kHo=V>E=2Wm%>y%Pw>~`&Z29^z`&=07;Tm%xn&5
> z0Cix&bq<(M)3lzZ>F#1P=*QamzI(W)&T_-keLbD^lB&S%5W?vsNqz_3@%StiaT>`u
> z at Hy}j at Ch((X7_tF+b5l&H#_`LDaya)Hd}fYqobpvdpx_zL2Q<kN-9M<<ZT-ZGf&^^
> zRc!8ZW<HZN5gkBEZM5utCM2D9+s(aTv~c&2W_H)(wE~peXd<a<W_N*0Zd+e#Hiw*%
> zKP64A!2XMPGg!0JlbJPrjK6>n{5W^VnF~v-EDfLv90R at u4oey}vj=MeRMOX;9Ra=r
> zUICu-dr}&AjX(zPe;N1%c*fg41wLAnb<|yU9{3eF<N&t=O^<i^H_h|G+cp5VfJxvR
> zU?*_g%xu*dl{9W<Gm at V2sub7{yy`$YO~~9qPkMPDa6i7rnAyXwfJ)j1T=uvu*1 at g7
> zUf=<+v5mVeDi>{YuCD_>1Aj*sLOQXVECI3tTnA2?*(Ts<1Z3WUXOW8)X&%)T5_~%?
> zqzW8$fNytox at t9+bjDYgvyv`q`SOFLbDlr5$OW;w?8)T2&Yf15Ncs{u1zZFkx|Ukl
> zOIpGq^O-*kya9Y=W*;s>$~H5*xsogJ!8UDE-d>k9FR9_zks^(?;eG0EGxfM0d|XDg
> zRDes`3p@*q`GVfAuY5zO0awiIrw%}OnAx=z$7e5}g;xD?H!u%ggEV&1CiePG)RE;r
> uA&&I&MQ~Z(9E8W$#W0ix73{jKi_1S&#y^Koz5J;F0000<MNUMnLSTY^I?P}I
> 
> literal 0
> HcmV?d00001
> 
> diff --git a/extras/package/macosx/Resources/vlcmenubaricon/stopIcon.png b/extras/package/macosx/Resources/vlcmenubaricon/stopIcon.png
> new file mode 100644
> index 0000000000000000000000000000000000000000..503ac127f80a14b3cd4e387bae0d88962f945096
> GIT binary patch
> literal 354
> zcmV-o0iFJdP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV00009a7bBm000XU
> z000XU0RWnu7ytkO2XskIMF-#k1QjYHzjM<B00032Nkl<ZILoDzO=`n15QV=P&A2WU
> zdXD4*-DlCBJ*yt36jEdBbrIP~N`p=NV35$yr>BPm|CF`%8F&Fszs!$qTtL^_2jCs}
> zIIl8$H8Z*UrZO{`*#RIL;N<QApY4>NE=ucHU;rK^jng!p0TE$l29T}psmw4*wg5^g
> zxH}E9DoIFU7={aAhDh23sI{_W&~+W|PRn6cwN|ESx&Yjrh at h0R>cGsF%?ltR$jr at v
> zYo`H_nM4E;vHtSR7{~DzFkc}vmvHWB4*Dj8%v5tQY`DUgq^{PgYX^NPg@}0C0O*>7
> z{`x5&-TlqoPm*i}AT#UT{RqHrxBK%~-tYH(18^>Iu)%9_Gynhq07*qoM6N<$g5h71
> AfB*mh
> 
> literal 0
> HcmV?d00001
> 
> diff --git a/extras/package/macosx/Resources/vlcmenubaricon/stopIcon at 2x.png b/extras/package/macosx/Resources/vlcmenubaricon/stopIcon at 2x.png
> new file mode 100644
> index 0000000000000000000000000000000000000000..0dad40c64924b85170368c58fc71f95817577eb2
> GIT binary patch
> literal 688
> zcmV;h0#E&kP)<h;3K|Lk000e1NJLTq001BW001Be1^@s6b9#F800009a7bBm000XU
> z000XU0RWnu7ytkO2XskIMF-#k1QjYYJfK#?0006{Nkl<ZSi{9vTXNzs5bT~2A!L`|
> zJp$MqB}YgOxqtcFbHEw)GgKv8fHnJpM2%%T4{(U8R4#)x)6?B!OGJBwG!360eQW4`
> zXSy~34&{S_>yPiq*-ue$lso{qPc&`Qe{ZcNfIWbhG<N_ZfExfa0GjR_06$aJe*pZ>
> zl7|AoJ%Gnn77}K|mLRjVcmeR565ay%;b?v}vzhZ*2B1MiEXH^gMWk^-<0o~xOLK^=
> zT*!^fhu|sz$!)qul7G!??wrg4w=)5i;+dG&l6*F^+r;L-lM6*U8cz}cNfh3>pqGq&
> zmXf5l`d&oPG|dT-lYsQ}jN$kr2=n(rRk7diPXKaGk~U`YoY&0Qk|0;@0gPOD3xw~e
> zjt6q`4CJl$JA-;;_YX4g)d0K{y#Q3T1)yATZt}tdZ2+n|2w-dm%9w*D^bCAK7ktbE
> zA~GriF~&~3K?YRy1Rzs)Zq>P{O#izQh{y>***2Fj(ASEC0P-Ad>ywHpWA=7I$->wY
> z_*klX9TWPGoCnaiALvv+0s|%@W at eqDNOnA6P6FoExex&5h at b<Y?^R4^LMwJc=bRG=
> zz(gcw038z+5*(5Y2NBt(Aad?O#mt0c6p?2$n~|LOLrF&hlJiu35RqT+Y|B5~1*$qT
> zvq_R*UNS%jKwKvTALPO|oVd;s2Y{hCr#+<wk>r+S7~>6?a?DeKPwtUp?y9P=SS+q~
> z9IL7dbzQd(h~IWNWnI@;uh#&8<#HKRHB6^dQ`ONvMtSSM+wIsi&0(|I8~|XoTH!w>
> WEgX4wfMdS^0000<MNUMnLSTYOE+XLo
> 
> literal 0
> HcmV?d00001
> 
> diff --git a/extras/package/macosx/vlc.xcodeproj/project.pbxproj b/extras/package/macosx/vlc.xcodeproj/project.pbxproj
> index fa0ed11..98941dc 100644
> --- a/extras/package/macosx/vlc.xcodeproj/project.pbxproj
> +++ b/extras/package/macosx/vlc.xcodeproj/project.pbxproj
> @@ -459,8 +459,17 @@
>  		1CE5ED2419DD6AB700FCEFD3 /* lion-window-fullscreen-over at 2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 1CE5ED1E19DD6AB700FCEFD3 /* lion-window-fullscreen-over at 2x.png */; };
>  		1CE5ED2519DD6AB700FCEFD3 /* lion-window-fullscreen.png in Resources */ = {isa = PBXBuildFile; fileRef = 1CE5ED1F19DD6AB700FCEFD3 /* lion-window-fullscreen.png */; };
>  		1CE5ED2619DD6AB700FCEFD3 /* lion-window-fullscreen at 2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 1CE5ED2019DD6AB700FCEFD3 /* lion-window-fullscreen at 2x.png */; };
> +		532F0F251C31C5760050536C /* VLCStatusBarIconMainMenu.xib in Resources */ = {isa = PBXBuildFile; fileRef = 532F0F231C31C5760050536C /* VLCStatusBarIconMainMenu.xib */; settings = {ASSET_TAGS = (57575, ); }; };
> +		53312D6A1C3B078300EBD0E6 /* pauseIcon.png in Resources */ = {isa = PBXBuildFile; fileRef = 53312D641C3B078300EBD0E6 /* pauseIcon.png */; };
> +		53312D6C1C3B078300EBD0E6 /* playIcon.png in Resources */ = {isa = PBXBuildFile; fileRef = 53312D661C3B078300EBD0E6 /* playIcon.png */; };
> +		53312D6E1C3B078300EBD0E6 /* stopIcon.png in Resources */ = {isa = PBXBuildFile; fileRef = 53312D681C3B078300EBD0E6 /* stopIcon.png */; };
> +		535DE7531C3B36B800F1BD2E /* statusBarIcon.png in Resources */ = {isa = PBXBuildFile; fileRef = 535DE7511C3B36B800F1BD2E /* statusBarIcon.png */; };
> +		535DE7541C3B36B800F1BD2E /* statusBarIcon at 2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 535DE7521C3B36B800F1BD2E /* statusBarIcon at 2x.png */; };
> +		536912B51C3B129C001C16D6 /* pauseIcon at 2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 536912B11C3B129C001C16D6 /* pauseIcon at 2x.png */; };
> +		536912B61C3B129C001C16D6 /* playIcon at 2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 536912B21C3B129C001C16D6 /* playIcon at 2x.png */; };
> +		536912B81C3B129C001C16D6 /* stopIcon at 2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 536912B41C3B129C001C16D6 /* stopIcon at 2x.png */; };
>  		633121D01B5112C300E636DA /* ResumeDialog.xib in Resources */ = {isa = PBXBuildFile; fileRef = 633121CE1B5112C300E636DA /* ResumeDialog.xib */; };
> -		6B13E2A81BC67678001AD24A /* VLCScrollingClipView.m in Sources */ = {isa = PBXBuildFile; fileRef = 6B13E2A71BC67678001AD24A /* VLCScrollingClipView.m */; settings = {ASSET_TAGS = (); }; };
> +		6B13E2A81BC67678001AD24A /* VLCScrollingClipView.m in Sources */ = {isa = PBXBuildFile; fileRef = 6B13E2A71BC67678001AD24A /* VLCScrollingClipView.m */; };
>  		7D3F6525188051F2005776C4 /* BWQuincyMain.xib in Resources */ = {isa = PBXBuildFile; fileRef = 7D3F6523188051F2005776C4 /* BWQuincyMain.xib */; };
>  		7D8BB0B71830311300FAE9B7 /* DebugMessageVisualizer.xib in Resources */ = {isa = PBXBuildFile; fileRef = 7D8BB0B51830311300FAE9B7 /* DebugMessageVisualizer.xib */; };
>  		7D8BB0BA1830367200FAE9B7 /* PlaylistMenu.xib in Resources */ = {isa = PBXBuildFile; fileRef = 7D8BB0B81830367200FAE9B7 /* PlaylistMenu.xib */; };
> @@ -1233,6 +1242,17 @@
>  		1CE5ED2019DD6AB700FCEFD3 /* lion-window-fullscreen at 2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "lion-window-fullscreen at 2x.png"; sourceTree = "<group>"; };
>  		2AEF857609A5FEC900130822 /* fspanel.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = fspanel.h; path = ../../../modules/gui/macosx/fspanel.h; sourceTree = SOURCE_ROOT; };
>  		2AEF857709A5FEC900130822 /* fspanel.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = fspanel.m; path = ../../../modules/gui/macosx/fspanel.m; sourceTree = SOURCE_ROOT; };
> +		532F0F241C31C5760050536C /* English */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = English; path = Resources/English.lproj/VLCStatusBarIconMainMenu.xib; sourceTree = "<group>"; };
> +		532F0F261C31C68B0050536C /* VLCStatusBarIcon.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = VLCStatusBarIcon.h; path = ../../../modules/gui/macosx/VLCStatusBarIcon.h; sourceTree = "<group>"; };
> +		532F0F271C31C68B0050536C /* VLCStatusBarIcon.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = VLCStatusBarIcon.m; path = ../../../modules/gui/macosx/VLCStatusBarIcon.m; sourceTree = "<group>"; };
> +		53312D641C3B078300EBD0E6 /* pauseIcon.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = pauseIcon.png; path = Resources/vlcmenubaricon/pauseIcon.png; sourceTree = "<group>"; };
> +		53312D661C3B078300EBD0E6 /* playIcon.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = playIcon.png; path = Resources/vlcmenubaricon/playIcon.png; sourceTree = "<group>"; };
> +		53312D681C3B078300EBD0E6 /* stopIcon.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = stopIcon.png; path = Resources/vlcmenubaricon/stopIcon.png; sourceTree = "<group>"; };
> +		535DE7511C3B36B800F1BD2E /* statusBarIcon.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = statusBarIcon.png; path = Resources/vlcmenubaricon/statusBarIcon.png; sourceTree = "<group>"; };
> +		535DE7521C3B36B800F1BD2E /* statusBarIcon at 2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = "statusBarIcon at 2x.png"; path = "Resources/vlcmenubaricon/statusBarIcon at 2x.png"; sourceTree = "<group>"; };
> +		536912B11C3B129C001C16D6 /* pauseIcon at 2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = "pauseIcon at 2x.png"; path = "Resources/vlcmenubaricon/pauseIcon at 2x.png"; sourceTree = "<group>"; };
> +		536912B21C3B129C001C16D6 /* playIcon at 2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = "playIcon at 2x.png"; path = "Resources/vlcmenubaricon/playIcon at 2x.png"; sourceTree = "<group>"; };
> +		536912B41C3B129C001C16D6 /* stopIcon at 2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = "stopIcon at 2x.png"; path = "Resources/vlcmenubaricon/stopIcon at 2x.png"; sourceTree = "<group>"; };
>  		5CCED71014C0D4A90057F8D1 /* ExtensionsDialogProvider.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ExtensionsDialogProvider.h; path = ../../../modules/gui/macosx/ExtensionsDialogProvider.h; sourceTree = SOURCE_ROOT; };
>  		5CCED71114C0D4A90057F8D1 /* ExtensionsDialogProvider.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = ExtensionsDialogProvider.m; path = ../../../modules/gui/macosx/ExtensionsDialogProvider.m; sourceTree = SOURCE_ROOT; };
>  		5CCED71214C0D4A90057F8D1 /* ExtensionsManager.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ExtensionsManager.h; path = ../../../modules/gui/macosx/ExtensionsManager.h; sourceTree = SOURCE_ROOT; };
> @@ -1821,6 +1841,8 @@
>  		08FB77AFFE84173DC02AAC07 /* Classes */ = {
>  			isa = PBXGroup;
>  			children = (
> +				532F0F261C31C68B0050536C /* VLCStatusBarIcon.h */,
> +				532F0F271C31C68B0050536C /* VLCStatusBarIcon.m */,
>  				7D871D391B5E684D000B56C0 /* helpers.h */,
>  				8EE1AF9F044465080059A3A7 /* about.h */,
>  				8EE1AFA0044465080059A3A7 /* about.m */,
> @@ -2329,6 +2351,21 @@
>  			path = "Resources/fspanel-yosemite";
>  			sourceTree = "<group>";
>  		};
> +		53C509761C3AFF3C00AEC69B /* vlcmenubaricon */ = {
> +			isa = PBXGroup;
> +			children = (
> +				535DE7511C3B36B800F1BD2E /* statusBarIcon.png */,
> +				535DE7521C3B36B800F1BD2E /* statusBarIcon at 2x.png */,
> +				53312D641C3B078300EBD0E6 /* pauseIcon.png */,
> +				536912B11C3B129C001C16D6 /* pauseIcon at 2x.png */,
> +				53312D661C3B078300EBD0E6 /* playIcon.png */,
> +				536912B21C3B129C001C16D6 /* playIcon at 2x.png */,
> +				53312D681C3B078300EBD0E6 /* stopIcon.png */,
> +				536912B41C3B129C001C16D6 /* stopIcon at 2x.png */,
> +			);
> +			name = vlcmenubaricon;
> +			sourceTree = "<group>";
> +		};
>  		7D3F652A1880529C005776C4 /* QuincyKit */ = {
>  			isa = PBXGroup;
>  			children = (
> @@ -2385,6 +2422,7 @@
>  		CC0430EE13B2461A00D7D52E /* ui graphics */ = {
>  			isa = PBXGroup;
>  			children = (
> +				53C509761C3AFF3C00AEC69B /* vlcmenubaricon */,
>  				1C88BC5719DC7CB300645190 /* fspanel-yosemite */,
>  				CCCB86BF0ACFDE4A00CF1E10 /* fspanel */,
>  				1C88BA9D19DC7C7800645190 /* mainwindow_yosemite */,
> @@ -2895,7 +2933,9 @@
>  		DCF358BC077F1236007DB450 /* xibs */ = {
>  			isa = PBXGroup;
>  			children = (
> +				532F0F231C31C5760050536C /* VLCStatusBarIconMainMenu.xib */,
>  				E0FB95CC1615B6DF0005069A /* DetachedVideoWindow.xib */,
> +				7DD6EC0E1B58136D0047CF5C /* SimplePreferences.xib */,
>  				CCD83E2E13FEA143004F1652 /* About.xib */,
>  				1CBB2CC61B06A6DE00110ADA /* Help.xib */,
>  				CCD83E3013FEA143004F1652 /* AudioEffects.xib */,
> @@ -2905,7 +2945,6 @@
>  				CCD83E3813FEA143004F1652 /* MediaInfo.xib */,
>  				CCD83E3A13FEA143004F1652 /* Open.xib */,
>  				CCD83E3C13FEA143004F1652 /* Preferences.xib */,
> -				7DD6EC0E1B58136D0047CF5C /* SimplePreferences.xib */,
>  				CCD83E3E13FEA143004F1652 /* SyncTracks.xib */,
>  				CCD83E4013FEA143004F1652 /* VideoEffects.xib */,
>  				CCD83E2B13FE9B90004F1652 /* MainMenu.xib */,
> @@ -3029,6 +3068,9 @@
>  		089C1669FE841209C02AAC07 /* Project object */ = {
>  			isa = PBXProject;
>  			attributes = {
> +				KnownAssetTags = (
> +					57575,
> +				);
>  				LastUpgradeCheck = 0430;
>  				TargetAttributes = {
>  					1C07EDF61B1CD67300A0BBDB = {
> @@ -3107,6 +3149,7 @@
>  				CC04323F13B246DF00D7D52E /* effects-double-buttons-pressed_dark.png in Resources */,
>  				CC04324013B246DF00D7D52E /* effects-one-button_dark.png in Resources */,
>  				CC04324413B246DF00D7D52E /* fullscreen-double-buttons_dark.png in Resources */,
> +				53312D6E1C3B078300EBD0E6 /* stopIcon.png in Resources */,
>  				7DD6EC101B58136D0047CF5C /* SimplePreferences.xib in Resources */,
>  				CC04324513B246DF00D7D52E /* fullscreen-double-buttons-pressed_dark.png in Resources */,
>  				CC04324613B246DF00D7D52E /* pause_dark.png in Resources */,
> @@ -3312,6 +3355,7 @@
>  				1C88BB5619DC7C7800645190 /* ys-repeat-one-pressed.png in Resources */,
>  				1C88BB1B19DC7C7800645190 /* ys-effects-one-button at 2x.png in Resources */,
>  				1C88BA9119DC7C5D00645190 /* ys-sidebar-local.png in Resources */,
> +				53312D6C1C3B078300EBD0E6 /* playIcon.png in Resources */,
>  				1C88BBE519DC7C8100645190 /* ys-backward-3btns-dark-pressed.png in Resources */,
>  				1C88BC1419DC7C8100645190 /* ys-play-pressed_dark at 2x.png in Resources */,
>  				CC0433B413B28B9C00D7D52E /* ogg.icns in Resources */,
> @@ -3326,6 +3370,7 @@
>  				1C88BA9419DC7C5D00645190 /* ys-sidebar-movie at 2x.png in Resources */,
>  				1C88BCC119DC7CB300645190 /* ys-fs_volume_slider_knob at 2x.png in Resources */,
>  				CC0433BC13B28B9C00D7D52E /* wmv.icns in Resources */,
> +				536912B51C3B129C001C16D6 /* pauseIcon at 2x.png in Resources */,
>  				1C88BCAE19DC7CB300645190 /* ys-fs_stop_highlight.png in Resources */,
>  				1C88BC9119DC7CB300645190 /* ys-fs_exit_fullscreen at 2x.png in Resources */,
>  				1C88BC1F19DC7C8100645190 /* ys-previous-6btns-dark-pressed.png in Resources */,
> @@ -3369,6 +3414,7 @@
>  				CCD83E4A13FEA143004F1652 /* Open.xib in Resources */,
>  				CCD83E4B13FEA143004F1652 /* Preferences.xib in Resources */,
>  				1C88BA7419DC7B2200645190 /* yosemite-window-minimize-over.png in Resources */,
> +				532F0F251C31C5760050536C /* VLCStatusBarIconMainMenu.xib in Resources */,
>  				CCD83E4C13FEA143004F1652 /* SyncTracks.xib in Resources */,
>  				CCD83E4D13FEA143004F1652 /* VideoEffects.xib in Resources */,
>  				1C88BA9519DC7C5D00645190 /* ys-sidebar-music.png in Resources */,
> @@ -3600,6 +3646,7 @@
>  				CC9E5E08159760B100D14E83 /* stop at 2x.png in Resources */,
>  				CC9E5E09159760B100D14E83 /* volume-high at 2x.png in Resources */,
>  				1C88BCB719DC7CB300645190 /* ys-fs_volume_max at 2x.png in Resources */,
> +				536912B81C3B129C001C16D6 /* stopIcon at 2x.png in Resources */,
>  				1C88BB3019DC7C7800645190 /* ys-pause-pressed.png in Resources */,
>  				CC9E5E0A159760B100D14E83 /* volume-low at 2x.png in Resources */,
>  				1C88BCBD19DC7CB300645190 /* ys-fs_volume_mute_highlight at 2x.png in Resources */,
> @@ -3658,6 +3705,7 @@
>  				CC91908D159B4BB800E634A7 /* play_dark at 2x.png in Resources */,
>  				CC91908E159B4BB800E634A7 /* play-pressed_dark at 2x.png in Resources */,
>  				1C88BC1D19DC7C8100645190 /* ys-playlist_dark.png in Resources */,
> +				53312D6A1C3B078300EBD0E6 /* pauseIcon.png in Resources */,
>  				CC919091159B4BB800E634A7 /* effects-double-buttons_dark at 2x.png in Resources */,
>  				7D8BB0BA1830367200FAE9B7 /* PlaylistMenu.xib in Resources */,
>  				1C88BC4A19DC7C8100645190 /* ys-topbar-dark-center-fill at 2x.png in Resources */,
> @@ -3713,6 +3761,7 @@
>  				CC973BB815F0E14400D5F650 /* forward-3btns at 2x.png in Resources */,
>  				1C88BB4E19DC7C7800645190 /* ys-progression-track-wrapper-middle.png in Resources */,
>  				1CE5ED2419DD6AB700FCEFD3 /* lion-window-fullscreen-over at 2x.png in Resources */,
> +				535DE7531C3B36B800F1BD2E /* statusBarIcon.png in Resources */,
>  				CC3F2E8C15F5038F009D7F39 /* playlist-1btn-pressed.png in Resources */,
>  				CC3F2E8D15F5038F009D7F39 /* playlist-1btn-pressed at 2x.png in Resources */,
>  				CC3F2E8E15F5038F009D7F39 /* playlist-1btn.png in Resources */,
> @@ -3769,6 +3818,7 @@
>  				1C88BB1E19DC7C7800645190 /* ys-forward-3btns.png in Resources */,
>  				CC166FE915F517660088201B /* backward-6btns-pressed.png in Resources */,
>  				1C88BB6819DC7C7800645190 /* ys-stop.png in Resources */,
> +				535DE7541C3B36B800F1BD2E /* statusBarIcon at 2x.png in Resources */,
>  				CC166FEA15F517660088201B /* backward-6btns-pressed at 2x.png in Resources */,
>  				1C88BBF719DC7C8100645190 /* ys-effects-one-button-pressed-dark.png in Resources */,
>  				1C88BA9619DC7C5D00645190 /* ys-sidebar-music at 2x.png in Resources */,
> @@ -3814,6 +3864,7 @@
>  				1C88BC9019DC7CB300645190 /* ys-fs_exit_fullscreen.png in Resources */,
>  				1C88BB2A19DC7C7800645190 /* ys-fullscreen-one-button.png in Resources */,
>  				633121D01B5112C300E636DA /* ResumeDialog.xib in Resources */,
> +				536912B61C3B129C001C16D6 /* playIcon at 2x.png in Resources */,
>  			);
>  			runOnlyForDeploymentPostprocessing = 0;
>  		};
> @@ -3994,6 +4045,14 @@
>  			name = Help.xib;
>  			sourceTree = "<group>";
>  		};
> +		532F0F231C31C5760050536C /* VLCStatusBarIconMainMenu.xib */ = {
> +			isa = PBXVariantGroup;
> +			children = (
> +				532F0F241C31C5760050536C /* English */,
> +			);
> +			name = VLCStatusBarIconMainMenu.xib;
> +			sourceTree = "<group>";
> +		};
>  		633121CE1B5112C300E636DA /* ResumeDialog.xib */ = {
>  			isa = PBXVariantGroup;
>  			children = (
> diff --git a/modules/gui/macosx/Makefile.am b/modules/gui/macosx/Makefile.am
> index 691cf12..2c5d48a 100644
> --- a/modules/gui/macosx/Makefile.am
> +++ b/modules/gui/macosx/Makefile.am
> @@ -74,5 +74,6 @@ libmacosx_plugin_la_SOURCES = \
>  	VLCTimeSelectionPanelController.h VLCTimeSelectionPanelController.m \
>  	VLCUIWidgets.h VLCUIWidgets.m \
>  	VLCScrollingClipView.h VLCScrollingClipView.m \
> +	VLCStatusBarIcon.h VLCStatusBarIcon.m \
>  	VLCVoutWindowController.h VLCVoutWindowController.m \
>  	Windows.h Windows.m
> diff --git a/modules/gui/macosx/VLCStatusBarIcon.h b/modules/gui/macosx/VLCStatusBarIcon.h
> new file mode 100644
> index 0000000..3eb5d6e
> --- /dev/null
> +++ b/modules/gui/macosx/VLCStatusBarIcon.h
> @@ -0,0 +1,57 @@
> +/*****************************************************************************
> + * VLCStatusBarIcon.h: Mac OS X module for vlc
> + *****************************************************************************
> + * Copyright (C) 2001-2016 VLC authors and VideoLAN
> + * $Id$
> + *
> + * Authors: Goran Dokic <vlc at 8hz dot com>
> + *
> + * This program is free software; you can redistribute it and/or modify
> + * it under the terms of the GNU General Public License as published by
> + * the Free Software Foundation; either version 2 of the License, or
> + * (at your option) any later version.
> + *
> + * This program is distributed in the hope that it will be useful,
> + * but WITHOUT ANY WARRANTY; without even the implied warranty of
> + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
> + * GNU General Public License for more details.
> + *
> + * You should have received a copy of the GNU General Public License
> + * along with this program; if not, write to the Free Software
> + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA.
> + *****************************************************************************/
> +
> +#import <cocoa/cocoa.h>
> +
> +
> + at interface VLCStatusBarIcon : NSObject <NSMenuDelegate>
> +{
> +    NSMenuItem *_vlcStatusBarMenuItem;
> +
> +    NSString *_nameToDisplay;
> +    NSString *_timeToDisplay;
> +    NSString *_durationToDisplay;
> +    NSString *_urlToDisplay;
> +    NSImage *_menuImagePlay;
> +    NSImage *_menuImagePause;
> +    NSImage *_menuImageStop;
> +}
> +
> + at property NSStatusItem *statusItem;
> + at property NSTimer *dataRefreshUpdateTimer;
> + at property (readwrite, strong) IBOutlet NSMenu *vlcStatusBarIconMenu;
> +
> +// get data from VLC and update the little status menu
> +- (void) updateMenuItemRandom;
> +- (void) updateMenuItemPlayPause;
> +- (void) setDataUpdateTimer:(float) interval;
> +
> +- (IBAction) updateMenuItemContent:(id)sender;
> +- (IBAction) restoreMainWindow:(id)sender;
> +- (IBAction) statusBarIconTogglePlayPause:(id)sender;
> +- (IBAction) statusBarIconStop:(id)sender;
> +- (IBAction) statusBarIconNext:(id)sender;
> +- (IBAction) statusBarIconPrevious:(id)sender;
> +- (IBAction) statusBarIconToggleRandom:(id)sender;
> +
> + at end
> diff --git a/modules/gui/macosx/VLCStatusBarIcon.m b/modules/gui/macosx/VLCStatusBarIcon.m
> new file mode 100644
> index 0000000..d9ce744
> --- /dev/null
> +++ b/modules/gui/macosx/VLCStatusBarIcon.m
> @@ -0,0 +1,469 @@
> +/*****************************************************************************
> + * VLCStatusBarIcon.m: Mac OS X module for vlc
> + *****************************************************************************
> + * Copyright (C) 2001-2016 VLC authors and VideoLAN
> + * $Id$
> + *
> + * Authors: Goran Dokic <vlc at 8hz dot com>
> + *
> + * This program is free software; you can redistribute it and/or modify
> + * it under the terms of the GNU General Public License as published by
> + * the Free Software Foundation; either version 2 of the License, or
> + * (at your option) any later version.
> + *
> + * This program is distributed in the hope that it will be useful,
> + * but WITHOUT ANY WARRANTY; without even the implied warranty of
> + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
> + * GNU General Public License for more details.
> + *
> + * You should have received a copy of the GNU General Public License
> + * along with this program; if not, write to the Free Software
> + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA.
> + *****************************************************************************/
> +
> +#import "VLCStatusBarIcon.h"
> +
> +#import "MainMenu.h"
> +#import "intf.h"
> +
> +#import <vlc_common.h>
> +#import <vlc_playlist.h>
> +#import <vlc_input.h>
> +#import <CoreInteraction.h>
> +#import <StringUtility.h>
> +
> +#pragma mark -
> +#pragma mark Defines
> +
> +#define playPauseMenuItemTag 74747
> +#define stopMenuItemTag 83838
> +#define randomMenuItemTag 63636
> +#define dataUpdateTimerInterval 1.0
> +#define NSInitialToolTipDelayIn_ms 20
> +// #define showURLInToolTip 1
> +
> +#pragma mark -
> +#pragma mark Implementation
> +
> +//--
> + at implementation VLCStatusBarIcon {
> +    //
> +}
> +
> +#pragma mark -
> +#pragma mark Init
> +
> +//--
> +//
> +//
> ++(id)alloc
> +{
> +    return [super alloc];
> +}
> +
> +
> +//--
> +//
> +//
> +- (id) init
> +{
> +    self = [super init];
> +    if (self)
> +    {
> +        // Do some init if needed
> +    }
> +    return self;
> +}
> +
> +
> +// fire it up
> +//
> +//
> +- (void) awakeFromNib
> +{
> +    [super awakeFromNib];
> +
> +    _statusItem = [[NSStatusBar systemStatusBar] statusItemWithLength:NSVariableStatusItemLength];
> +    [_statusItem setHighlightMode:YES];
> +    [_statusItem setEnabled:YES];
> +    [_statusItem setTarget:self];
> +
> +    // Attach pull-down menu
> +    [_statusItem setMenu:_vlcStatusBarIconMenu];
> +
> +    // add the top menu item for dynamic data
> +    _vlcStatusBarMenuItem = [[NSMenuItem alloc] initWithTitle:@"URL/Path Options" action:@selector(updateMenuItemContent:) keyEquivalent:@""];
> +
> +    [_vlcStatusBarMenuItem setToolTip:@"Misc functions with media URL or Path"];
> +    [_vlcStatusBarMenuItem setTarget:self];
> +
> +    [_vlcStatusBarIconMenu insertItem:_vlcStatusBarMenuItem atIndex:0];
> +
> +    // Set our selves up as delegate, to receive menuNeedsUpdate messages, so
> +    // we can update our menu as needed/before it's drawn
> +    [_vlcStatusBarIconMenu setDelegate:self];
> +
> +    // Disable custom menu item initially
> +    // needs to be done with validateMenuItem (see below)
> +    [_vlcStatusBarMenuItem setEnabled:NO];
> +
> +    NSImage *menuIcon;
> +
> +    // set black/white icon (or color, like originally)
> +    menuIcon = [NSImage imageNamed:@"statusBarIcon"];
> +
> +    // Make sure the b/w statusItem icon is inverted on dark/light mode
> +    menuIcon.template = YES;
> +
> +    // Deprecated in osx10.10, but needed before.
> +    [_statusItem setHighlightMode:YES];
> +    [_statusItem setImage:menuIcon];
> +
> +    // Increase toolTip speed, improves status usability
> +    // Tweak delay above, with '#define NSInitialToolTipDelayIn_ms x'
> +
> +    [[NSUserDefaults standardUserDefaults] setObject: [NSNumber numberWithInt: NSInitialToolTipDelayIn_ms] forKey: @"NSInitialToolTipDelay"];
> +
> +    // init _urlToDisplay
> +    _urlToDisplay = nil;
> +
> +    // Load the menu icons
> +    _menuImagePlay = [NSImage imageNamed:@"playIcon"];
> +    _menuImagePause = [NSImage imageNamed:@"pauseIcon"];
> +
> +    _menuImageStop = [NSImage imageNamed:@"stopIcon"];
> +    NSMenuItem *menuItemToChange = [_vlcStatusBarIconMenu itemWithTag:stopMenuItemTag];
> +    [menuItemToChange setImage:_menuImageStop];
> +
> +    // I'd rather not use a timer and only update when mouse comes near
> +    // status icon in bar. But one can't tell without evil sourcery :(
> +    // Tweak update frequency above (#define)
> +
> +    [self setDataUpdateTimer:dataUpdateTimerInterval];
> +}
> +
> +
> +#pragma mark -
> +#pragma mark Various functions
> +
> +//---
> +// Menu delegate/callback for cocoa - called before menu is opened/displayed
> +// fire off menu item updates (dynamic item 0, play/pause, random)
> +- (void)menuNeedsUpdate:(NSMenu *)menu
> +{
> +    // update dynamic menu 'item 0' (follows data gathered by timer handler)
> +    [self updateDynamicMenuItemText];
> +
> +    // update play/pause status in status bar menu
> +    [self updateMenuItemPlayPause];
> +
> +    // update random status in status bar menu
> +    [self updateMenuItemRandom];
> +}
> +
> +
> +//---
> +// Make sure we can enable/disable menu items (in our case index 0)
> +// override class method. Called every time before menu is drawn.
> +- (BOOL)validateMenuItem:(NSMenuItem *)menuItem
> +{
> +    SEL action = menuItem.action;
> +
> +    // disable the URL/Path options menu if there is no meaningful data
> +    if ((action == @selector(updateMenuItemContent:)) && (!_urlToDisplay))
> +    {
> +        return NO;
> +    }
> +    return YES;
> +}
> +
> +
> +//---
> +// callback for tooltip update timer
> +//
> +- (void) dataRefreshTimeHandler:(NSTimer *)timer
> +{
> +    [self gatherDataToDisplay];
> +    [self updateToolTipText];
> +}
> +
> +
> +//---
> +// Make sure data is fresh, before displaying
> +//
> +- (void) gatherDataToDisplay
> +{
> +    mtime_t pos;
> +
> +    // get name of current item - clear first!
> +    _nameToDisplay = nil;
> +    _nameToDisplay = [[VLCCoreInteraction sharedInstance] nameOfCurrentPlaylistItem];
> +
> +    // If status is 'stopped' there is no useful data
> +    // Otherwise could have used 'if (_nameToDisplay == nil)'
> +
> +    if ([self vlcPlayingStatus] == PLAYLIST_STOPPED)
> +    {
> +        _urlToDisplay = nil;
> +    } else {
> +        input_thread_t * p_input;
> +        p_input = pl_CurrentInput(VLCIntf);
> +        if (p_input)
> +        {
> +            pos = var_GetInteger(p_input, "time") / CLOCK_FREQ;
> +            vlc_object_release(p_input); // must release or get segfault on quit
> +        }
> +
> +        // update our time counter
> +        _timeToDisplay = [[VLCStringUtility sharedInstance] stringForTime:(long long) pos];
> +
> +        // get the duration (if it's there)
> +        int duration = [[VLCCoreInteraction sharedInstance] durationOfCurrentPlaylistItem];
> +        _durationToDisplay = [[VLCStringUtility sharedInstance] stringForTime:(long long) duration];
> +
> +        // update the playing item's URL/Path
> +        _urlToDisplay =  [[[VLCCoreInteraction sharedInstance] URLOfCurrentPlaylistItem] absoluteString];
> +    }
> +}
> +
> +
> +//---
> +// Call for periodic updates of tooltip text
> +//
> +- (void) updateToolTipText
> +{
> +    NSString *toolTipText = nil;
> +
> +    // craft the multiline string, for the tooltip, depending on play status
> +
> +    if ([self vlcPlayingStatus] == PLAYLIST_STOPPED)
> +    {
> +         // nothing playing
> +         toolTipText = @"VLC media player\nNothing playing";
> +    } else {
> +#ifdef showURLInToolTip
> +    toolTipText = [NSString stringWithFormat:@"VLC media player\nName: %@\nDuration: %@\nTime: %@\nURL/Path: %@", _nameToDisplay, _durationToDisplay, _timeToDisplay, _urlToDisplay];
> +#else
> +    toolTipText = [NSString stringWithFormat:@"VLC media player\nName: %@\nDuration: %@\nTime: %@", _nameToDisplay, _durationToDisplay, _timeToDisplay];
> +#endif
> +    }
> +
> +    [_statusItem setToolTip:toolTipText];
> +}
> +
> +
> +
> +//---
> +// Call for updating of dynamic menu item
> +//
> +- (void) updateDynamicMenuItemText
> +{
> +    NSString *menuString = nil;
> +
> +    // create string for dynamic menu bit (sync?)
> +    if ([self vlcPlayingStatus] == PLAYLIST_STOPPED)
> +    {
> +         // put back our disabled menu item text.
> +         menuString =  @"URL/Path Options";
> +    } else {
> +         if ([_urlToDisplay hasPrefix:@"file://"])
> +         {
> +              // offer to show 'file://' in finder
> +              menuString = [NSString stringWithFormat:@"Select File In Finder"];
> +         } else {
> +              // offer to copy URL to clipboard
> +              menuString = [NSString stringWithFormat:@"Copy URL to clipboard"];
> +         }
> +    }
> +
> +    [_vlcStatusBarMenuItem setTitle:menuString];
> +}
> +
> +
> +//---
> +// set timer for tooltips updates and flee
> +//
> +- (void) setDataUpdateTimer:(float) interval
> +{
> +    self.dataRefreshUpdateTimer = [NSTimer scheduledTimerWithTimeInterval:interval
> +    target:self
> +    selector:@selector(dataRefreshTimeHandler:)
> +    userInfo:nil
> +    repeats:YES];
> +}
> +
> +
> +//---
> +//
> +//
> +- (void) updateMenuItemRandom
> +{
> +    // get current random status
> +    bool b_value;
> +    playlist_t *p_playlist = pl_Get(VLCIntf);
> +    b_value = var_GetBool(p_playlist, "random");
> +
> +    // get menuitem 'Random'
> +    NSMenuItem* menuItemToChange = [_vlcStatusBarIconMenu itemWithTag:randomMenuItemTag];
> +    if (b_value)
> +    {
> +        [menuItemToChange setState:NSOnState];
> +    } else {
> +        [menuItemToChange setState:NSOffState];
> +    }
> +}
> +
> +
> +//---
> +//
> +//
> +- (void) updateMenuItemPlayPause
> +{
> +    NSMenuItem* menuItemToChange = [_vlcStatusBarIconMenu itemWithTag:playPauseMenuItemTag];
> +
> +    if ([self vlcPlayingStatus] == PLAYLIST_RUNNING)
> +    {
> +        [menuItemToChange setTitle:@"Pause"];
> +        [menuItemToChange setImage:_menuImagePause];
> +    } else {
> +        [menuItemToChange setTitle:@"Play"];
> +        [menuItemToChange setImage:_menuImagePlay];
> +    }
> +}
> +
> +
> +#pragma mark -
> +#pragma mark Utility functions
> +
> +//---
> +// Returns VLC playlist status
> +// Check for: constants PLAYLIST_RUNNING, PLAYLIST_STOPPED, PLAYLIST_PAUSED.
> +- (int) vlcPlayingStatus
> +{
> +    int res;
> +    // get the playlist 'playing' status
> +    playlist_t *p_playlist = pl_Get(VLCIntf);
> +
> +    PL_LOCK;
> +    res = playlist_Status( p_playlist );
> +    PL_UNLOCK;
> +
> +    return res;
> +}
> +
> +
> +//---
> +// Returns true if playing, false in all other cases.
> +//
> +- (BOOL) isVLCPlaying
> +{
> +    bool vlcPlaying = false;
> +
> +    // get the playlist 'playing' status
> +    playlist_t *p_playlist = pl_Get(VLCIntf);
> +
> +    PL_LOCK;
> +    switch( playlist_Status( p_playlist ) )
> +    {
> +        case PLAYLIST_RUNNING:
> +            vlcPlaying = true;
> +            break;
> +        case PLAYLIST_STOPPED:
> +        case PLAYLIST_PAUSED:
> +        default:
> +            break;
> +    }
> +    PL_UNLOCK;
> +
> +    return vlcPlaying;
> +}
> +
> +
> +#pragma mark -
> +#pragma mark Menu item Actions
> +
> +//-- action for dynamic menu index 0
> +
> +- (IBAction) updateMenuItemContent:(id)sender
> +{
> +    // Here we offer to copy the url to the clipboard or
> +    // select/show a local file in the finder..(useful imo ;-)
> +
> +    if ([self vlcPlayingStatus] == PLAYLIST_STOPPED)
> +    {
> +        // Don't do anything, as the 'URL/path' is emtpy
> +    } else {
> +        if ([_urlToDisplay hasPrefix:@"file://"])
> +        {
> +            // show local file in finder
> +            NSString *path=[_urlToDisplay substringFromIndex:7];
> +            [[NSWorkspace sharedWorkspace] selectFile:path inFileViewerRootedAtPath:path];
> +        } else {
> +            // copy remote URL to clipboard
> +            [[NSPasteboard generalPasteboard] clearContents];
> +            [[NSPasteboard generalPasteboard] setString:_urlToDisplay  forType:NSStringPboardType];
> +        }
> +    }
> +}
> +
> +
> +//-- action for 'main window'
> +
> +- (IBAction)restoreMainWindow:(id)sender
> +{
> +    // force our window to go to front (huzzah) and restore window
> +    [[VLCApplication sharedApplication] activateIgnoringOtherApps:YES];
> +    [[[VLCMain sharedInstance] mainWindow] makeKeyAndOrderFront:sender];
> +}
> +
> +
> +//-- action for 'toggle play/pause'
> +
> +- (IBAction)statusBarIconTogglePlayPause:(id)sender
> +{
> +    [[VLCCoreInteraction sharedInstance] playOrPause];
> +}
> +
> +
> +//-- action for 'stop'
> +
> +- (IBAction)statusBarIconStop:(id)sender
> +{
> +    [[VLCCoreInteraction sharedInstance] stop];
> +}
> +
> +
> +//-- action for 'Next track'
> +
> +- (IBAction)statusBarIconNext:(id)sender
> +{
> +    [[VLCCoreInteraction sharedInstance] next];
> +}
> +
> +
> +//-- action for 'previous track'
> +
> +- (IBAction)statusBarIconPrevious:(id)sender
> +{
> +    [[VLCCoreInteraction sharedInstance] previous];
> +}
> +
> +
> +//-- action to actually 'toggle VLC randomize playorder status'
> +
> +- (IBAction)statusBarIconToggleRandom:(id)sender
> +{
> +    [[VLCCoreInteraction sharedInstance] shuffle];
> +}
> +
> +
> +//-- action voor 'quit'
> +
> +- (IBAction)quitAction:(id)sender
> +{
> +    // clean timer, quit
> +    [self.dataRefreshUpdateTimer invalidate];
> +    [[NSApplication sharedApplication] terminate:nil];
> +}
> +
> + at end
> diff --git a/modules/gui/macosx/intf.h b/modules/gui/macosx/intf.h
> index f3cc079..6e297fd 100644
> --- a/modules/gui/macosx/intf.h
> +++ b/modules/gui/macosx/intf.h
> @@ -74,6 +74,7 @@ static NSString * VLCInputChangedNotification = @"VLCInputChangedNotification";
>  @class VLCVideoEffects;
>  @class VLCConvertAndSave;
>  @class ExtensionsManager;
> + at class VLCStatusBarIcon;
>  
>  @interface VLCMain : NSObject <NSWindowDelegate, NSApplicationDelegate>
>  
> @@ -95,6 +96,7 @@ static NSString * VLCInputChangedNotification = @"VLCInputChangedNotification";
>  - (ResumeDialogController *)resumeDialog;
>  - (VLCInputManager *)inputManager;
>  - (ExtensionsManager *)extensionsManager;
> +- (VLCStatusBarIcon *)statusBarIcon;
>  
>  - (VLCDebugMessageVisualizer *)debugMsgPanel;
>  
> diff --git a/modules/gui/macosx/intf.m b/modules/gui/macosx/intf.m
> index 63d3e43..b00ed5e 100644
> --- a/modules/gui/macosx/intf.m
> +++ b/modules/gui/macosx/intf.m
> @@ -65,6 +65,8 @@
>  #import "AudioEffects.h"
>  #import "intf-prefs.h"
>  
> +#import "VLCStatusBarIcon.h"
> +
>  #ifdef HAVE_SPARKLE
>  #import <Sparkle/Sparkle.h>                 /* we're the update delegate */
>  #endif
> @@ -94,6 +96,7 @@ int OpenIntf (vlc_object_t *p_this)
>          [VLCMain sharedInstance];
>  
>          [NSBundle loadNibNamed:@"MainMenu" owner:[[VLCMain sharedInstance] mainMenu]];
> +        [NSBundle loadNibNamed:@"VLCStatusBarIconMainMenu" owner:[[VLCMain sharedInstance] statusBarIcon]];
>          [[[VLCMain sharedInstance] mainWindow] makeKeyAndOrderFront:nil];
>  
>          msg_Dbg(p_intf, "Finished loading macosx interface");
> @@ -165,6 +168,7 @@ static int ShowController(vlc_object_t *p_this, const char *psz_variable,
>      ResumeDialogController *_resume_dialog;
>      VLCInputManager *_input_manager;
>      VLCPlaylist *_playlist;
> +    VLCStatusBarIcon *_statusBarIcon;
>      VLCDebugMessageVisualizer *_messagePanelController;
>      VLCTrackSynchronization *_trackSyncPanel;
>      VLCAudioEffects *_audioEffectsPanel;
> @@ -218,6 +222,8 @@ static VLCMain *sharedInstance = nil;
>          _coredialogs = [[VLCCoreDialogProvider alloc] init];
>  
>          _mainmenu = [[VLCMainMenu alloc] init];
> +        _statusBarIcon = [[VLCStatusBarIcon  alloc] init];
> +
>          _voutController = [[VLCVoutWindowController alloc] init];
>          _playlist = [[VLCPlaylist alloc] init];
>  
> @@ -499,6 +505,11 @@ static VLCMain *sharedInstance = nil;
>      return _mainmenu;
>  }
>  
> +- (VLCStatusBarIcon *)statusBarIcon
> +{
> +    return _statusBarIcon;
> +}
> +
>  - (VLCMainWindow *)mainWindow
>  {
>      return (VLCMainWindow *)[_mainWindowController window];
> -- 
> 2.5.4 (Apple Git-61)
> 

> _______________________________________________
> vlc-devel mailing list
> To unsubscribe or modify your subscription options:
> https://mailman.videolan.org/listinfo/vlc-devel

-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0001-macosx-Update-Cleanup-commit-VLCStatusBarIcon-code-for-macosx-gui.patch
Type: text/x-diff
Size: 56331 bytes
Desc: not available
URL: <http://mailman.videolan.org/pipermail/vlc-devel/attachments/20160118/3c256712/attachment.patch>


More information about the vlc-devel mailing list