This package allows you to use the traybar in a very easy way. It is based
on Ian's TaskbarIcon Package. Just create your Application Shell as subclass of NotifyShell (or mutate existing ones) and respond to the triggered events. Comments are highly appreciated. Udo begin 666 US NotifyShell.pac M?"!P86-K86=E('P-"G!A8VMA9V4@.CT@4&%C:V%G92!N86UE.B G55,@3F]T M:69Y4VAE;&PG+@T*<&%C:V%G92!P87A697)S:6]N.B P.PT*"6)A<VEC0V]M M;65N=#H@)U53($YO=&EF>5-H96QL#0I59&\@4V-H;F5I9&5R(#Q59&\N4V-H M;F5I9&5R0&AO;65A9&1R97-S+F1E/B R,# R#0H-"E1H:7,@<&%C:V%G92!C M;VYT86EN<R!A9&1I=&EO;G,@=&\@=&AE('-T86YD87)D($1O;'!H:6X@4VUA M;&QT86QK(%-H96QL(&-L87-S('=H:6-H(&%L;&]W<R!Y;W4@=&\@=7-E('1H M92!T<F%Y8F%R+@T*#0I%>&5C=71E('1H92!F;VQL;W=I;F<@8V]D92!T;R!S M964@86X@97AA;7!L92!I;7!L96UE;G1A=&EO;B!O9B!T:&4@3F]T:69Y4VAE M;&P@=VAI8V@@<F5S<&]N9',@=&\@=F%R:6]U<R!E=F5N=',N#0H-"@E.;W1I M9GE3:&5L;$5X86UP;&4@<VAO=R<N#0H-"G!A8VMA9V4@8F%S:6-086-K86=E M5F5R<VEO;CH@)S N,# Q)RX-"@T*(D%D9"!T:&4@<&%C:V%G92!S8W)I<'1S M(@T*#0HB061D('1H92!C;&%S<R!N86UE<RP@;&]O<V4@;65T:&]D(&YA;65S M+"!G;&]B86P@;F%M97,L(')E<V]U<F-E(&YA;65S(@T*<&%C:V%G92!C;&%S M<TYA;65S#0H)861D.B C3F]T:69Y4VAE;&P[#0H)861D.B C3F]T:69Y4VAE M;&Q%>&%M<&QE.PT*"6%D9#H@(U-H96QL3F]T:69Y5FEE=SL-"@EY;W5R<V5L M9BX-"@T*<&%C:V%G92!M971H;V1.86UE<PT*"6%D9#H@(U-H96QL3&EB<F%R M>2 M/B C<VAE;&Q?3F]T:69Y26-O;CIP;FED.CL-"@EY;W5R<V5L9BX-"@T* M<&%C:V%G92!G;&]B86Q.86UE<PT*"7EO=7)S96QF+@T*#0IP86-K86=E(')E M<V]U<F-E3F%M97,-"@EY;W5R<V5L9BX-"@T*(D)I;F%R>2!';&]B86P@3F%M M97,B#0IP86-K86=E(&)I;F%R>4=L;V)A;$YA;65S.B H4V5T(&YE=PT*"7EO M=7)S96QF*2X-"B)297-O=7)C92!.86UE<R(-"G!A8VMA9V4@86QL4F5S;W5R M8V5.86UE<SH@*%-E="!N97<-"@EA9&0Z("-.;W1I9GE3:&5L;" M/B G1&5F M875L="!V:65W)SL-"@EY;W5R<V5L9BDN#0H-"B)!9&0@=&AE('!R97)E<75I M<VET92!N86UE<R(-"G!A8VMA9V4@<V5T4')E<F5Q=6ES:71E<SH@*$ED96YT M:71Y4V5T(&YE=PT*"6%D9#H@)T1E=F5L;W!M96YT(%-Y<W1E;2<[#0H)861D M.B G1&]L<&AI;B<[#0H)>6]U<G-E;&8I+@T*#0IP86-K86=E(0T*#0HB0VQA M<W,@1&5F:6YI=&EO;G,B(0T*#0I3:&5L;"!S=6)C;&%S<SH@(TYO=&EF>5-H M96QL#0H):6YS=&%N8V5687)I86)L94YA;65S.B G)PT*"6-L87-S5F%R:6%B M;&5.86UE<SH@)R<-"@EP;V]L1&EC=&EO;F%R:65S.B G)PT*"6-L87-S26YS M=&%N8V5687)I86)L94YA;65S.B G)R$-"DYO=&EF>5-H96QL('-U8F-L87-S M.B C3F]T:69Y4VAE;&Q%>&%M<&QE#0H):6YS=&%N8V5687)I86)L94YA;65S M.B G)PT*"6-L87-S5F%R:6%B;&5.86UE<SH@)R<-"@EP;V]L1&EC=&EO;F%R M:65S.B G)PT*"6-L87-S26YS=&%N8V5687)I86)L94YA;65S.B G)R$-"E-H M96QL5FEE=R!S=6)C;&%S<SH@(U-H96QL3F]T:69Y5FEE=PT*"6EN<W1A;F-E M5F%R:6%B;&5.86UE<SH@)VYO=&EF>5-T<G5C="!N;W1I9GE-97-S86=E(&YO M=&EF>4EC;VX@;F]T:69Y5&EP365S<V%G92<-"@EC;&%S<U9A<FEA8FQE3F%M M97,Z("=.;W1I9GE-97-S86=E36%P)PT*"7!O;VQ$:6-T:6]N87)I97,Z("<G M#0H)8VQA<W-);G-T86YC959A<FEA8FQE3F%M97,Z("<G(0T*(DQO;W-E($UE M=&AO9',B(0T*#0HA4VAE;&Q,:6)R87)Y(&UE=&AO9'-&;W(A#0H-"G-H96QL M7TYO=&EF>4EC;VXZ(&1W365S<V%G92!P;FED.B!P;FED#0H)(D%D9"P@;6]D M:69Y+"!O<B!D96QE=&4@86X@:6-O;B!F<F]M('1H92!T87-K8F%R('-T871U M<R!A<F5A+B -"@D)5TE.4TA%3$Q!4$D@0D]/3"!724Y!4$D@4VAE;&Q?3F]T M:69Y26-O;B@@#0H)"0E$5T]21"!D=TUE<W-A9V4L( DO+R!M97-S86=E(&ED M96YT:69I97(@#0H)"0E03D]4249924-/3D1!5$$@<&YI9" )+R\@<&]I;G1E M<B!T;R!S=')U8W1U<F4@#0H)"2D[("(-"@T*"3QS=&1C86QL.B!B;V]L(%-H M96QL7TYO=&EF>4EC;VY!(&1W;W)D($Y/5$E&64E#3TY$051!*B ^#0H)7G-E M;&8@:6YV86QI9$-A;&PA("$-"B%3:&5L;$QI8G)A<GD@8V%T96=O<FEE<T9O M<CH@(W-H96QL7TYO=&EF>4EC;VXZ<&YI9#HA*BUP<FEM:71I=F5S(2HM=6YC M;&%S<VEF:65D(7!U8FQI8R$@(0T*#0HB16YD(&]F('!A8VMA9V4@9&5F:6YI M=&EO;B(A#0H-"@T*#0I.;W1I9GE3:&5L;"!C;VUM96YT.B G)R$-"@T*3F]T M:69Y4VAE;&P@9W5I9#H@*$=5240@9G)O;5-T<FEN9SH@)WLW-D$T,3)"02TY M-#=!+30P04$M.#-"02TY0D0S.#0Y-SE#,CE])RDA#0H-"B%.;W1I9GE3:&5L M;"!C871E9V]R:65S1F]R0VQA<W,A56YC;&%S<VEF:65D(2 A#0H-"@T*3F]T M:69Y4VAE;&Q%>&%M<&QE(&-O;6UE;G0Z("<G(0T*#0I.;W1I9GE3:&5L;$5X M86UP;&4@9W5I9#H@*$=5240@9G)O;5-T<FEN9SH@)WLX13 U,CA!-BTU-$8P M+30S-C@M.$0X,RTX,T-#-SA!1C8P-41])RDA#0H-"B%.;W1I9GE3:&5L;$5X M86UP;&4@8V%T96=O<FEE<T9O<D-L87-S(55N8VQA<W-I9FEE9"$@(0T*(4YO M=&EF>5-H96QL17AA;7!L92!M971H;V1S1F]R(0T*#0IC<F5A=&538VAE;6%T M:6-7:7)I;F<-"@DB0W)E871E('1H92!T<FEG9V5R('=I<FEN9R!F;W(@=&AE M(')E8V5I=F5R(@T*"0T*"7-U<&5R(&-R96%T95-C:&5M871I8U=I<FEN9RX- M"@ES96QF('=H96XZ("-O;E1R87EB87),969T0G5T=&]N4')E<W-E9"!S96YD M.B C=')A>6)A<D5V96YT.B!T;SH@<V5L9B!W:71H.B G3&5F="!"=71T;VX@ M4')E<W-E9"<N#0H)<V5L9B!W:&5N.B C;VY4<F%Y8F%R4FEG:'1"=71T;VY0 M<F5S<V5D('-E;F0Z("-T<F%Y8F%R179E;G0Z('1O.B!S96QF('=I=&@Z("=2 M:6=H="!"=71T;VX@4')E<W-E9"<N#0H)<V5L9B!W:&5N.B C;VY4<F%Y8F%R M3&5F=$)U='1O;D1O=6)L94-L:6-K960@<V5N9#H@(W1R87EB87)%=F5N=#H@ M=&\Z('-E;&8@=VET:#H@)TQE9G0@0G5T=&]N($1O=6)L92!#;&EC:V5D)RX- M"@ES96QF('=H96XZ("-O;E1R87EB87)2:6=H=$)U='1O;D1O=6-L94-L:6-K M960@<V5N9#H@(W1R87EB87)%=F5N=#H@=&\Z('-E;&8@=VET:#H@)U)I9VAT M($)U='1O;B!$;W5B;&4@0VQI8VME9"<N(0T*#0IT<F%Y8F%R179E;G0Z(&%3 M=')I;F<-"@E-97-S86=E0F]X(&YO=&EF>3H@85-T<FEN9R$@(0T*(4YO=&EF M>5-H96QL17AA;7!L92!C871E9V]R:65S1F]R.B C8W)E871E4V-H96UA=&EC M5VER:6YG(2HM=6YC;&%S<VEF:65D(7!U8FQI8R$@(0T*(4YO=&EF>5-H96QL M17AA;7!L92!C871E9V]R:65S1F]R.B C=')A>6)A<D5V96YT.B$J+75N8VQA M<W-I9FEE9"%P=6)L:6,A("$-"@T*#0H-"E-H96QL3F]T:69Y5FEE=R!C;VUM M96YT.B G)R$-"@T*4VAE;&Q.;W1I9GE6:65W(&=U:60Z("A'54E$(&9R;VU3 M=')I;F<Z("=[-D,S,SDT1#,M0T,W-"TT-S%&+3@V1#@M-D8U03=$,C5%-C(Q M?2<I(0T*#0HA4VAE;&Q.;W1I9GE6:65W(&-A=&5G;W)I97-&;W)#;&%S<R%5 M;F-L87-S:69I960A("$-"B%3:&5L;$YO=&EF>59I97<@;65T:&]D<T9O<B$- M"@T*861D3F]T:69Y26-O;@T*"7-E;&8@:6YI=&EA;&EZ94YO=&EF>5-T<G5C M="X-"@EN;W1I9GE3=')U8W0@:%=N9#H@<V5L9B!A<U!A<F%M971E<BX-"@E> M4VAE;&Q,:6)R87)Y(&1E9F%U;'0@<VAE;&Q?3F]T:69Y26-O;CH@3DE-7T%$ M1"!P;FED.B!N;W1I9GE3=')U8W0@#0H-"B$-"@T*9&5L971E3F]T:69Y26-O M;@T*"5Y3:&5L;$QI8G)A<GD@9&5F875L="!S:&5L;%].;W1I9GE)8V]N.B!. M24U?1$5,151%('!N:60Z(&YO=&EF>5-T<G5C="XA#0H-"F1I<W!A=&-H4F5G M:7-T97)E9#H@<F5G:7-T97)E9$ED('=087)A;3H@=U!A<F%M(&Q087)A;3H@ M;%!A<F%M#0H)7G)E9VES=&5R961)9" ](&YO=&EF>4UE<W-A9V4-"@D):694 M<G5E.B!;#0H)"0DH3F]T:69Y365S<V%G94UA<"!I;F-L=61E<TME>3H@;%!A M<F%M*2!I9E1R=64Z(%L-"@D)"0ES96QF('!E<F9O<FTZ("A.;W1I9GE-97-S M86=E36%P(&%T.B!L4&%R86TI#0H)"0E=#0H)72$-"@T*:6YI=&EA;&EZ94YO M=&EF>5-T<G5C= T*"6YO=&EF>5-T<G5C=" Z/2!.3U1)1EE)0T].1$%402!N M97<N#0H);F]T:69Y365S<V%G92 Z/2!S96QF(&-L87-S(')E9VES=&5R365S M<V%G93H@)T1O;'!H:6X@4VAE;&P@3F]T:69I8V%T:6]N)RX-"@EN;W1I9GE3 M=')U8W0@#0H)"75)1#H@,3L-"@D):6-O;CH@<V5L9B!N;W1I9GE)8V]N.PT* M"0EM97-S86=E.B!S96QF(&YO=&EF>4UE<W-A9V4[#0H)"71I<%1E>'0Z('-E M;&8@;F]T:69Y5&EP365S<V%G92X-"B$-"@T*;F]T:69Y26-O;@T*"2)0<FEV M871E("T@06YS=V5R('1H92!V86QU92!O9B!T:&4@<F5C96EV97(G<R G)VYO M=&EF>4EC;VXG)R!I;G-T86YC92!V87)I86)L92XB#0H);F]T:69Y26-O;B!I M<TYI;"!I9E1R=64Z(%MN;W1I9GE)8V]N(#H]('-E;&8@(&EC;VY=+@T*"5YN M;W1I9GE)8V]N(0T*#0IN;W1I9GE)8V]N.B!A;D]B:F5C= T*"2)0<FEV871E M("T@4V5T('1H92!V86QU92!O9B!T:&4@<F5C96EV97(G<R G)VYO=&EF>4EC M;VXG)R!I;G-T86YC92!V87)I86)L92!T;R!T:&4@87)G=6UE;G0L(&%N3V)J M96-T+B(-"@T*"6YO=&EF>4EC;VX@.CT@86Y/8FIE8W0A#0H-"FYO=&EF>4UE M<W-A9V4-"@DB4')I=F%T92 M($%N<W=E<B!T:&4@=F%L=64@;V8@=&AE(')E M8V5I=F5R)W,@)R=N;W1I9GE-97-S86=E)R<@:6YS=&%N8V4@=F%R:6%B;&4N M(@T*#0H)7FYO=&EF>4UE<W-A9V4A#0H-"FYO=&EF>4UE<W-A9V4Z(&%N3V)J M96-T#0H)(E!R:79A=&4@+2!3970@=&AE('9A;'5E(&]F('1H92!R96-E:79E M<B=S("<G;F]T:69Y365S<V%G92<G(&EN<W1A;F-E('9A<FEA8FQE('1O('1H M92!A<F=U;65N="P@86Y/8FIE8W0N(@T*#0H);F]T:69Y365S<V%G92 Z/2!A M;D]B:F5C="$-"@T*;F]T:69Y4W1R=6-T#0H)(E!R:79A=&4@+2!!;G-W97(@ M=&AE('9A;'5E(&]F('1H92!R96-E:79E<B=S("<G;F]T:69Y4W1R=6-T)R<@ M:6YS=&%N8V4@=F%R:6%B;&4N(@T*#0H)7FYO=&EF>5-T<G5C="$-"@T*;F]T M:69Y4W1R=6-T.B!A;D]B:F5C= T*"2)0<FEV871E("T@4V5T('1H92!V86QU M92!O9B!T:&4@<F5C96EV97(G<R G)VYO=&EF>5-T<G5C="<G(&EN<W1A;F-E M('9A<FEA8FQE('1O('1H92!A<F=U;65N="P@86Y/8FIE8W0N(@T*#0H);F]T M:69Y4W1R=6-T(#H](&%N3V)J96-T(0T*#0IN;W1I9GE4:7!-97-S86=E#0H) M(E!R:79A=&4@+2!!;G-W97(@=&AE('9A;'5E(&]F('1H92!R96-E:79E<B=S M("<G;F]T:69Y5&EP365S<V%G92<G(&EN<W1A;F-E('9A<FEA8FQE+B(-"@EN M;W1I9GE4:7!-97-S86=E(&ES3FEL(&EF5')U93H@6VYO=&EF>51I<$UE<W-A M9V4@.CT@)TYO=&EF>2!-97-S86=E)UTN#0H)7FYO=&EF>51I<$UE<W-A9V4A M#0H-"FYO=&EF>51I<$UE<W-A9V4Z(&%N3V)J96-T#0H)(E!R:79A=&4@+2!3 M970@=&AE('9A;'5E(&]F('1H92!R96-E:79E<B=S("<G;F]T:69Y5&EP365S M<V%G92<G(&EN<W1A;F-E('9A<FEA8FQE('1O('1H92!A<F=U;65N="P@86Y/ M8FIE8W0N(@T*#0H);F]T:69Y5&EP365S<V%G92 Z/2!A;D]B:F5C="$-"@T* M;VY#<F5A=&5D.B!A;D5V96YT#0H)<V5L9B!A9&1.;W1I9GE)8V]N+@T*"5YS M=7!E<B!O;D-R96%T960Z(&%N179E;G0-"B$-"@T*;VY$97-T<F]Y960-"@ES M96QF(&1E;&5T94YO=&EF>4EC;VXN#0H)7G-U<&5R(&]N1&5S=')O>65D#0HA M#0H-"F]N5')A>6)A<DQE9G1"=71T;VY$;W5B;&5#;&EC:V5D#0H)<V5L9B!P M<F5S96YT97(@=')I9V=E<CH@(V]N5')A>6)A<DQE9G1"=71T;VY$;W5B;&5# M;&EC:V5D(0T*#0IO;E1R87EB87),969T0G5T=&]N4')E<W-E9 T*"7-E;&8@ M<')E<V5N=&5R('1R:6=G97(Z("-O;E1R87EB87),969T0G5T=&]N4')E<W-E M9"$-"@T*;VY4<F%Y8F%R4FEG:'1"=71T;VY$;W5B;&5#;&EC:V5D#0H)<V5L M9B!P<F5S96YT97(@=')I9V=E<CH@(V]N5')A>6)A<E)I9VAT0G5T=&]N1&]U M8FQE0VQI8VME9"$-"@T*;VY4<F%Y8F%R4FEG:'1"=71T;VY0<F5S<V5D#0H) M<V5L9B!P<F5S96YT97(@=')I9V=E<CH@(V]N5')A>6)A<E)I9VAT0G5T=&]N M4')E<W-E9"$@(0T*(5-H96QL3F]T:69Y5FEE=R!C871E9V]R:65S1F]R.B C M861D3F]T:69Y26-O;B$J+75N8VQA<W-I9FEE9"%P<FEV871E(2 A#0HA4VAE M;&Q.;W1I9GE6:65W(&-A=&5G;W)I97-&;W(Z("-D96QE=&5.;W1I9GE)8V]N M(2HM=6YC;&%S<VEF:65D(7!R:79A=&4A("$-"B%3:&5L;$YO=&EF>59I97<@ M8V%T96=O<FEE<T9O<CH@(V1I<W!A=&-H4F5G:7-T97)E9#IW4&%R86TZ;%!A M<F%M.B$J+75N8VQA<W-I9FEE9"%P<FEV871E(2 A#0HA4VAE;&Q.;W1I9GE6 M:65W(&-A=&5G;W)I97-&;W(Z("-I;FET:6%L:7IE3F]T:69Y4W1R=6-T(6EN M:71I86QI>FEN9R%P<FEV871E(2 A#0HA4VAE;&Q.;W1I9GE6:65W(&-A=&5G M;W)I97-&;W(Z("-N;W1I9GE)8V]N(6%C8V5S<VEN9R%P<FEV871E(2 A#0HA M4VAE;&Q.;W1I9GE6:65W(&-A=&5G;W)I97-&;W(Z("-N;W1I9GE)8V]N.B%A M8V-E<W-I;F<A<')I=F%T92$@(0T*(5-H96QL3F]T:69Y5FEE=R!C871E9V]R M:65S1F]R.B C;F]T:69Y365S<V%G92%A8V-E<W-I;F<A<')I=F%T92$@(0T* M(5-H96QL3F]T:69Y5FEE=R!C871E9V]R:65S1F]R.B C;F]T:69Y365S<V%G M93HA86-C97-S:6YG(7!R:79A=&4A("$-"B%3:&5L;$YO=&EF>59I97<@8V%T M96=O<FEE<T9O<CH@(VYO=&EF>5-T<G5C="%A8V-E<W-I;F<A<')I=F%T92$@ M(0T*(5-H96QL3F]T:69Y5FEE=R!C871E9V]R:65S1F]R.B C;F]T:69Y4W1R M=6-T.B%A8V-E<W-I;F<A<')I=F%T92$@(0T*(5-H96QL3F]T:69Y5FEE=R!C M871E9V]R:65S1F]R.B C;F]T:69Y5&EP365S<V%G92%A8V-E<W-I;F<A<')I M=F%T92$@(0T*(5-H96QL3F]T:69Y5FEE=R!C871E9V]R:65S1F]R.B C;F]T M:69Y5&EP365S<V%G93HA86-C97-S:6YG(7!R:79A=&4A("$-"B%3:&5L;$YO M=&EF>59I97<@8V%T96=O<FEE<T9O<CH@(V]N0W)E871E9#HA979E;G0@:&%N M9&QI;F<A<')I=F%T92$@(0T*(5-H96QL3F]T:69Y5FEE=R!C871E9V]R:65S M1F]R.B C;VY$97-T<F]Y960A979E;G0@:&%N9&QI;F<A<')I=F%T92$@(0T* M(5-H96QL3F]T:69Y5FEE=R!C871E9V]R:65S1F]R.B C;VY4<F%Y8F%R3&5F M=$)U='1O;D1O=6)L94-L:6-K960A979E;G0@:&%N9&QI;F<A<')I=F%T92$@ M(0T*(5-H96QL3F]T:69Y5FEE=R!C871E9V]R:65S1F]R.B C;VY4<F%Y8F%R M3&5F=$)U='1O;E!R97-S960A979E;G0@:&%N9&QI;F<A<')I=F%T92$@(0T* M(5-H96QL3F]T:69Y5FEE=R!C871E9V]R:65S1F]R.B C;VY4<F%Y8F%R4FEG M:'1"=71T;VY$;W5B;&5#;&EC:V5D(65V96YT(&AA;F1L:6YG(7!R:79A=&4A M("$-"B%3:&5L;$YO=&EF>59I97<@8V%T96=O<FEE<T9O<CH@(V]N5')A>6)A M<E)I9VAT0G5T=&]N4')E<W-E9"%E=F5N="!H86YD;&EN9R%P<FEV871E(2 A M#0H-"B%3:&5L;$YO=&EF>59I97<@8VQA<W,@;65T:&]D<T9O<B$-"@T*:6YI M=&EA;&EZ90T*"4YO=&EF>4UE<W-A9V5-87 @.CT@1&EC=&EO;F%R>2!N97<N M#0H)3F]T:69Y365S<V%G94UA<"!A=#H@5TU?3$)55%1/3D1/5TX@<'5T.B C M;VY4<F%Y8F%R3&5F=$)U='1O;E!R97-S960[#0H)"2!A=#H@5TU?4D)55%1/ M3D1/5TX@<'5T.B C;VY4<F%Y8F%R4FEG:'1"=71T;VY0<F5S<V5D.PT*"0EA M=#H@5TU?3$)55%1/3D1"3$-,2R!P=70Z("-O;E1R87EB87),969T0G5T=&]N M1&]U8FQE0VQI8VME9#L-"@D)870Z(%=-7U)"55143TY$0DQ#3$L@<'5T.B C M;VY4<F%Y8F%R4FEG:'1"=71T;VY$;W5B;&5#;&EC:V5D+B$-"@T*<'5B;&ES M:&5D07-P96-T<T]F26YS=&%N8V5S#0H)7G-U<&5R('!U8FQI<VAE9$%S<&5C M='-/9DEN<W1A;F-E<R -"@D)861D.B H07-P96-T(&EC;VXZ("-N;W1I9GE) M8V]N*3L-"@D)861D.B H07-P96-T('-T<FEN9SH@(VYO=&EF>51I<$UE<W-A M9V4I.PT*"0EY;W5R<V5L9@T*(0T*#0IP=6)L:7-H961%=F5N='-/9DEN<W1A M;F-E<PT*"2)!;G-W97(@82!3970@;V8@4WEM8F]L<R!T:&%T(&1E<V-R:6)E M('1H92!P=6)L:7-H960@979E;G1S('1R:6=G97)E9 T*"6)Y(&EN<W1A;F-E M<R!O9B!T:&4@<F5C96EV97(N(@T*#0H)7G-U<&5R('!U8FQI<VAE9$5V96YT M<T]F26YS=&%N8V5S#0H)"6%D9#H@(V]N5')A>6)A<DQE9G1"=71T;VY0<F5S M<V5D.PT*"0EA9&0Z("-O;E1R87EB87)2:6=H=$)U='1O;E!R97-S960[#0H) M"6%D9#H@(V]N5')A>6)A<DQE9G1"=71T;VY$;W5B;&5#;&EC:V5D.PT*"0EA M9&0Z("-O;E1R87EB87)2:6=H=$)U='1O;D1O=6)L94-L:6-K960[#0H)"7EO M=7)S96QF+B$@(0T*(5-H96QL3F]T:69Y5FEE=R!C;&%S<R!C871E9V]R:65S M1F]R.B C:6YI=&EA;&EZ92$J+75N8VQA<W-I9FEE9"%P=6)L:6,A("$-"B%3 M:&5L;$YO=&EF>59I97<@8VQA<W,@8V%T96=O<FEE<T9O<CH@(W!U8FQI<VAE M9$%S<&5C='-/9DEN<W1A;F-E<R$J+75N8VQA<W-I9FEE9"%P=6)L:6,A("$- M"B%3:&5L;$YO=&EF>59I97<@8VQA<W,@8V%T96=O<FEE<T9O<CH@(W!U8FQI M<VAE9$5V96YT<T]F26YS=&%N8V5S(2HM=6YC;&%S<VEF:65D(7!U8FQI8R$@ M(0T*#0H@#0HB0FEN87)Y($=L;V)A;',B(0T*#0HB4F5S;W5R8V5S(B$-"@T* M*%)E<V]U<F-E261E;G1I9FEE<B!C;&%S<SH@3F]T:69Y4VAE;&P@;F%M93H@ M)T1E9F%U;'0@=FEE=R<I(&%S<VEG;CH@*$]B:F5C="!F<F]M0FEN87)Y4W1O M<F5">71E<SH-"BA">71E07)R87D@9G)O;4AE>%-T<FEN9SH@)S(Q-3,U-#0R M,C S,#(P-#8P,C!#,# P,3 P,# P,#4V-CDV-3<W-3(V-3<S-D8W-3<R-C,V M-3 P,# P,# P,$4P,3(T,# U,S4T-#(U,C8U-S,V1C<U-S(V,S8U-3,U-#0R M-#(W.3<T-C4T,3<R-S(V,3<Y-#$V,S8S-C4W,S<S-D8W,C4P-S(V1C<X-SDP M,# P,# P,#,V,# P.3 P-#(W.3<T-C4T,3<R-S(V,3<Y,C,P-# P,# R,34S M-30T,C(P,S R,#1%,#@P0S P,$$P,# P,# U,S4T-#(U-C8Y-C4W-S4P-S(V M1C<X-SDP,# P,# P,#1%,#(P1# P,#$P,# P,# U,S4T-#(T,S9#-C$W,S<S M-3 W,C9&-S@W.3 P,# P,# P,S8P,# V,# U,S<T-S(V.39%-C<Q,C P,# P M,#4U-3,R,#4S-C@V-39#-D,T139&-S0V.38V-SDU-C8Y-C4W-SDR,# P,# P M,$8P,# P,# U,S8X-C4V0S9#-$4V1C<T-CDV-C<Y-38V.38U-S<R-C P,#4P M,#0Q-S(W,C8Q-SDQ1C P,# P,# P,# P,# P,# P,# P,#!#,C P,# P,# R M,# P,# P,#$P,#E%,#$P,3 P,#(P,#8P,# P,# P,# P,# P,# P,# P,# P M,# P,# P,# P,#4P,# P,# P,# P,# P,# P,# P,# P,# P,# P,# P,# P M,# P,# P,# P,# P,$4P,C%!,# U,S4T-#(T.38T-C4V13<T-CDW-#<Y-#0V M.38S-S0V.39&-D4V,3<R-SDU,#<R-D8W.#<Y,# P,# P,# W03 P,# P,# P M,# P,# P.3(P,# P,# P-S P,# P,#0T-D8V0S<P-C@V.39%.3(P,# P,# Q M,C P,# P,#0Y-C0V-39%-S0V.3<T-SDT-#8Y-C,W-#8Y-D8V138Q-S(W.4,R M,# P,# P,# P,# P,# P,# P,# P,# P,# P,# P,# P,# P,# P,# P,# P M,# P,# P,# P,# P,# P,# P,# P,# P,# P,# P,# P,# P,# P,# P,# P M,# P,# Q,# P,# P,# P,# P,# P,# P,# P,# V,#$P13 P-$4T1C4T-#DT M-C4Y-#DT,S1&-$4T-#0Q-30T,3 P,# P,# P,S8P,# Y,# T,C<Y-S0V-30Q M-S(W,C8Q-SDU.# P,# P,#4X,# P,# P0S0P-#$S,# P,3 P,# P,# W,# P M,# P-SE#,3 P,#!#1# S,34P,#1%-D8W-#8Y-C8W.3(P-$0V-3<S-S,V,38W M-C4P,# P,# P,# P,# P,# P,# P,# P,# P,# P,# P,# P,# P,# P,# P M,# P,# P,# P,# P,# P,# P,# P,# P,# P,# P,# P,# P,# P,# P,# P M,# P,# P,# P,# P1C,X,C Q,# T-C U,#0P,# S,# P,# P-#DV,S9&-D4P M,# P,# P,# P,# P,# P,3 P,# P,# P13 R,3$P,#4S-30T,C4S-CDV138W M-D,V-3<T-D8V134P-S(V1C<X-SDP,# P,# P,#=!,# P,# P,# P,# P,# R M,# Q,# P,#DR,# P,# P,3@P,# P,# T.39$-C$V-S8U-3(V-39#-C$W-#8Y M-S8V-30V-CDV0S8U-$,V1C8S-C$W-#9&-S(P13 Q,$4P,#4S-30T,C4S-SDV M1#8R-D8V0S4P-S(V1C<X-SDP,# P,# P,#DR,# P,# P,#<P,# P,# V,S<U M-S(W,C8U-D4W-#DR,# P,# P,$0P,# P,# U,S8X-C4V0S9#-38V.38U-S<R M138Y-C,V1C!%,#(Q1C P-3,U-#0R-#4W.#<T-C4W,C9%-C$V0S4R-C4W,S9& M-S4W,C8S-C4T0S8Y-C(W,C8Q-S(W.34P-S(V1C<X-SDP,# P,# P,#DR,# P M,# P,3 P,# P,# V-#9&-D,W,#8X-CDV138T-S(S,#,P,S0R138T-D,V0S P M,# P,# P.3(P,# P,# P13 P,# P,#1%-D8W-#8Y-C8W.3(P-$0V-3<S-S,V M,38W-C4P-C Q,$8P,#1$-C4W,S<S-C$V-S8U-3,V-3<Q-S4V-39%-C,V-3 P M,# P,# P,$4P,C$R,# U,S4T-#(T,S9&-D,V0S8U-C,W-#8Y-D8V134P-S(V M1C<X-SDP,# P,# P,#=!,# P,# P,# P,# P,# R,# Q,# P,#DR,# P,# P M,3$P,# P,# T1C<R-C0V-3<R-C4V-#0S-D8V0S9#-C4V,S<T-CDV1C9%0S(P M,# P,# P,C P,# P,# V,#,P0C P-$0V-3<S-S,V,38W-C4U,S8U-D4V-# P M,# P,# P1D$P,3 P,# P,# P,# P,#DR,# P,# P,3 P,# P,# V,S<R-C4V M,3<T-C4T,3<T,T$V-3<X-S0V-39%-S0S04,R,# P,# P,#(P,# P,# P-C R M,#4P,#4P-D8V.39%-S0P,# P,# P,# Q,# P,# P,#$P,# P,# S,C S,# P M,# P,# P,# P-34P-3 P,# P,3 T,# P,#8P,# P,# P13(P,C P,# P,# P M,# P,$9!,#$P,# P,# P,# P,# Y,C P,# P,# X,# P,# P-D0V-39%-S4T M,C8Q-S(S04,R,# P,# P,#$P,# P,# P,# P,# P,#8P,# P,# P,#8P,3!& M,# U-S0Y-$4T-#1&-3<U,#1#-#$T,S0U-$0T-31%-30P,# P,# P,#<R,#$P M,# P,D,P,# P,# R0S P,# P,# P,# P,# P,# P,# P,#!&1D9&1D9&1D9& M1D9&1D9&1D9&1D9&1D9&1D9&1D9&1C P,# P,# P,# P,# P,#!!03 R,# P M,# P,#(P,# P.4$P,C P,# P,# P,# P,$(P,#(P,# P-# P,3 P,# S,C S M,# P,# P,# P,# P0S$P,# P,#!#,3 P,# P,# P,# P,# P,34P,# P,# T M-C U,#0P,# S,# P,# P-#DV,S9&-D4P,# P,# P,# P,# P,# P,3 P,# P M,# P13 R,3$P,#4S-30T,C4S-CDV138W-D,V-3<T-D8V134P-S(V1C<X-SDP M,# P,# P,#1%,#(P1# P,#$P,# P,# U,S4T-#(T,S9#-C$W,S<S-3 W,C9& M-S@W.3 P,# P,# P,S8P,# V,# U,S<T-S(V.39%-C<P-S P,# P,#0T-D8V M0S<P-C@V.39%,3(P,3 P,# Q.# P,# P,#0Y-D0V,38W-C4U,C8U-D,V,3<T M-CDW-C8U-#8V.39#-C4T0S9&-C,V,3<T-D8W,C!%,#$P13 P-3,U-#0R-3,W M.39$-C(V1C9#-3 W,C9&-S@W.3 P,# P,# P,3(P,3 P,# P-S P,# P,#8S M-S4W,C<R-C4V13<T,3(P,3 P,# P1# P,# P,#4S-C@V-39#-D,U-C8Y-C4W M-S)%-CDV,S9&,$4P,C%&,# U,S4T-#(T-3<X-S0V-3<R-D4V,39#-3(V-3<S M-D8W-3<R-C,V-31#-CDV,C<R-C$W,C<Y-3 W,C9&-S@W.3 P,# P,# P,3(P M,3 P,# Q,# P,# P,#8T-D8V0S<P-C@V.39%-C0W,C,P,S S-#)%-C0V0S9# 0,# P,# P,# G*2DA#0H-"@`` ` end |
Udo,
"Udo Schneider" <[hidden email]> wrote in message news:3c3d0bd2@tobjects.... > This package allows you to use the traybar in a very easy way. It is based > on Ian's TaskbarIcon Package. > > Just create your Application Shell as subclass of NotifyShell (or mutate > existing ones) and > respond to the triggered events. > > Comments are highly appreciated. > Thanks for doing this. I was hoping to try it out sooner, but I only now got round to it. It works great! I have a couple of additions and a change that made it a bit simpler for me to use, particularly in dynamically changing the tray icon or tip text. I also made the view hide itself when it's minimized, so that it doesn't show up in the taskbar. I included them below, in case they might be useful to the general public. Don > > Udo > > > > > > !ShellNotifyView methodsFor! basicInitializeNotifyStruct notifyStruct uID: 1; icon: notifyIcon; message: notifyMessage; tipText: notifyTipMessage displayString. ! ! !ShellNotifyView categoriesFor: #basicInitializeNotifyStruct!initializing!private! ! !ShellNotifyView methodsFor! initializeNotifyStruct notifyStruct := NOTIFYICONDATA new. notifyMessage := self class registerMessage: 'Dolphin Shell Notification'. self basicInitializeNotifyStruct.! ! !ShellNotifyView categoriesFor: #initializeNotifyStruct!initializing!private! ! !ShellNotifyView methodsFor! modifyNotifyIcon self basicInitializeNotifyStruct. ^ShellLibrary default shell_NotifyIcon: NIM_MODIFY pnid: notifyStruct.! ! !ShellNotifyView categoriesFor: #modifyNotifyIcon!*-unclassified!private! ! !ShellNotifyView methodsFor! onViewMinimized: aSizeEvent "Private - ShellNotifyView handler for window minimize. Hide the window, then hand off to super." self hide. ^super onViewMinimized: aSizeEvent! ! !ShellNotifyView categoriesFor: #onViewMinimized:!event handling!private! ! |
"Don Rylander" <[hidden email]> wrote in message news:<a4h8dv$ao1h$[hidden email]>...
> Udo, > "Udo Schneider" <[hidden email]> wrote in message > news:3c3d0bd2@tobjects.... > > This package allows you to use the traybar in a very easy way. It is based > > on Ian's TaskbarIcon Package. > > > > Just create your Application Shell as subclass of NotifyShell (or mutate > > existing ones) and > > respond to the triggered events. > > > > Comments are highly appreciated. > > > Thanks for doing this. I was hoping to try it out sooner, but I only now got > round to it. It works great! I have a couple of additions and a change that > made it a bit simpler for me to use, particularly in dynamically changing the > tray icon or tip text. I also made the view hide itself when it's minimized, > so that it doesn't show up in the taskbar. I included them below, in case they > might be useful to the general public. > > Don > > > > > Udo > > > > Great! just what I was looking for! But I can't find the original package anywhere on the newsgroup or web-sites. Could you send this to me, or point me at the right place to get it? Thanks, Marc |
In reply to this post by Don Rylander-3
"Don Rylander" <[hidden email]> schrieb im
Newsbeitrag news:a4h8dv$ao1h$[hidden email]... > Thanks for doing this. I was hoping to try it out sooner, but I only now got > round to it. It works great! I have a couple of additions and a change that > made it a bit simpler for me to use, particularly in dynamically changing the > tray icon or tip text. I also made the view hide itself when it's minimized, > so that it doesn't show up in the taskbar. I included them below, in case they > might be useful to the general public. Don, thanks for the extensions. I'll add them to the package. Udo |
In reply to this post by Marc Nijdam-2
"Marc Nijdam" <[hidden email]> schrieb im Newsbeitrag
news:[hidden email]... > Great! just what I was looking for! But I can't find the original > package anywhere on the newsgroup or web-sites. Could you send this to > me, or point me at the right place to get it? Marc, you can find a package with Dons extensions at http://www.homeaddress.de/US%20NotifyShell.pac . Udo |
In reply to this post by Udo Schneider
"Udo Schneider" <[hidden email]> wrote in message news:<a5r6k9$9lrgc$[hidden email]>...
> "Don Rylander" <[hidden email]> schrieb im > Newsbeitrag news:a4h8dv$ao1h$[hidden email]... > > Thanks for doing this. I was hoping to try it out sooner, but I only now > got > > round to it. It works great! I have a couple of additions and a change > that > > made it a bit simpler for me to use, particularly in dynamically changing > the > > tray icon or tip text. I also made the view hide itself when it's > minimized, > > so that it doesn't show up in the taskbar. I included them below, in case > they > > might be useful to the general public. > > Don, > > thanks for the extensions. I'll add them to the package. > > Udo I really, really hope I don't upset either of you with the fact that I've taken a slightly different approach to TaskbarIcon. I didn't attach a ShellView to it, since I like the smaller applet approach of the taskbar icons. I also extended NOTIFYICONDATA to support 2000/XP based notification balloons and triggers on these. Check out the following link to see what I mean. http://www.swiki.net/~men/men/1 |
"Marc Nijdam" <[hidden email]> schrieb im Newsbeitrag
news:[hidden email]... > I really, really hope I don't upset either of you with the fact that > I've taken a slightly different approach to TaskbarIcon. I didn't > attach a ShellView to it, since I like the smaller applet approach of > the taskbar icons. I also extended NOTIFYICONDATA to support 2000/XP > based notification balloons and triggers on these. Check out the > following link to see what I mean. > > http://www.swiki.net/~men/men/1 Marc, sorry if I wrote like I was upset. I'm definitely not. I'll take a look at your package. Especially the balloon support is very interesting. Udo |
Hope you liked what you found... I've uploaded another version at
http://men.swiki.net/ which is actually smaller since it maps most of the normal messages to view-like messages. Still working on the presenter as well. I'd like it to do pop-up menus by default, but having trouble creating a pop-up that behaves like the oher taskbar icons. Marc "Udo Schneider" <[hidden email]> wrote in message news:<a67dcn$bfd3h$[hidden email]>... > "Marc Nijdam" <[hidden email]> schrieb im Newsbeitrag > news:[hidden email]... > > I really, really hope I don't upset either of you with the fact that > > I've taken a slightly different approach to TaskbarIcon. I didn't > > attach a ShellView to it, since I like the smaller applet approach of > > the taskbar icons. I also extended NOTIFYICONDATA to support 2000/XP > > based notification balloons and triggers on these. Check out the > > following link to see what I mean. > > > > http://www.swiki.net/~men/men/1 > > Marc, > > sorry if I wrote like I was upset. I'm definitely not. I'll take a look at > your package. Especially the > balloon support is very interesting. > > Udo |
Marc,
> Hope you liked what you found... I've uploaded another version at Thanks for posting this, and to Udo and Don for the other versions, it's saved me a lot of fiddling around. It took me a while to work out how to use it (perhaps including a short demo might help?) but once I had done so it works very well. FYI, the only problem I've seen is that, and I'm not really sure why, the Taskbar icon in a deployed application is occasionally getting sent WM_USER messages that it doesn't know how to deal with, which causes a Dolphin VM error report. Editing TaskbarIcon>>dispatchRegistered: Param:lParam: to prevent attempts to dispatch messages that it can't handle seems to solve the problem (so far). Regards Ian |
In reply to this post by Marc Nijdam-2
Marc,
> Hope you liked what you found... I've uploaded another version at Thanks for posting this, and to Udo and Don for the other versions, it's saved me a lot of fiddling around. It took me a while to work out how to use it (perhaps including a short demo might help?) but once I had done so it works very well. FYI, the only problem I've seen is that, and I'm not really sure why, the Taskbar icon in a deployed application is occasionally getting sent WM_USER messages that it doesn't know how to deal with, which causes a Dolphin VM error report. Editing TaskbarIcon>>dispatchRegistered: Param:lParam: to prevent attempts to dispatch messages that it can't handle seems to solve the problem (so far). Regards Ian |
"Ian Bartholomew" <[hidden email]> wrote in message news:<FT3p8.153130$[hidden email]>...
> Marc, > > > Hope you liked what you found... I've uploaded another version at > > Thanks for posting this, and to Udo and Don for the other versions, it's > saved me a lot of fiddling around. It took me a while to work out how to use > it (perhaps including a short demo might help?) but once I had done so it > works very well. Useful feedback. I'll see if I can add a better example in both the package and class comment. I haven't had much time to work on the presenter side of TaskbarIcon, since I was toying with popup menus in taskbars. Still having problems making a popup menu out of the taskbar behave like other menus there. Are any of you trying to do something similar? > FYI, the only problem I've seen is that, and I'm not really sure why, the > Taskbar icon in a deployed application is occasionally getting sent WM_USER > messages that it doesn't know how to deal with, which causes a Dolphin VM > error report. Editing TaskbarIcon>>dispatchRegistered: Param:lParam: to > prevent attempts to dispatch messages that it can't handle seems to solve > the problem (so far). Funky... Looks like the dispatched might get confused on the actual current focus of the application (or icon) since the icon is actually a full handle (unlike in Udo's example). I'm assuming that you're not seeing any adverse side-effects by ignoring unhandled messages? I'll mod this in the package and upload a new version soon... Thanks for the feedback, Marc |
Marc,
> Useful feedback. I'll see if I can add a better example in both the > package and class comment. I haven't had much time to work on the > presenter side of TaskbarIcon, since I was toying with popup menus in > taskbars. Still having problems making a popup menu out of the taskbar > behave like other menus there. Are any of you trying to do something > similar? Not at the moment. I really just need to show/hide a permanantly running Dolphin application, it hasn't got anything that could usefully be done from a pop up menu. I'll have a play if I get a chance. > Funky... Looks like the dispatched might get confused on the actual > current focus of the application (or icon) since the icon is actually > a full handle (unlike in Udo's example). Yes, that sounds very possible. I seem to recall that the walkback often happened after closing a dialog - where the view with focus was changing. > I'm assuming that you're not > seeing any adverse side-effects by ignoring unhandled messages? I would have said no, now I'm not so sure. In the last couple of days my system (running XP) has twice performed a full reboot while I was in the middle of doing something - I can't remember it happening before when I was running my application using the "normal" task bar. The application in question wakes up every 15 seconds to do a check so it could possibly be some timing coincidence between the various views and the taskbar icon that causes the problem. It may, of course, be something completely unconnected. I'll let you know if I come across anything relevant Ian |
In reply to this post by Marc Nijdam-2
Marc,
> Useful feedback. I'll see if I can add a better example in both the > package and class comment. I haven't had much time to work on the > presenter side of TaskbarIcon, since I was toying with popup menus in > taskbars. Still having problems making a popup menu out of the taskbar > behave like other menus there. Are any of you trying to do something > similar? Not at the moment. I really just need to show/hide a permanantly running Dolphin application, it hasn't got anything that could usefully be done from a pop up menu. I'll have a play if I get a chance. > Funky... Looks like the dispatched might get confused on the actual > current focus of the application (or icon) since the icon is actually > a full handle (unlike in Udo's example). Yes, that sounds very possible. I seem to recall that the walkback often happened after closing a dialog - where the view with focus was changing. > I'm assuming that you're not > seeing any adverse side-effects by ignoring unhandled messages? I would have said no, now I'm not so sure. In the last couple of days my system (running XP) has twice performed a full reboot while I was in the middle of doing something - I can't remember it happening before when I was running my application using the "normal" task bar. The application in question wakes up every 15 seconds to do a check so it could possibly be some timing coincidence between the various views and the taskbar icon that causes the problem. It may, of course, be something completely unconnected. I'll let you know if I come across anything relevant Ian |
In reply to this post by Marc Nijdam-2
Marc,
"Marc Nijdam" <[hidden email]> wrote in message news:[hidden email]... > "Ian Bartholomew" <[hidden email]> wrote in message news:<FT3p8.153130$[hidden email]>... [...] > taskbars. Still having problems making a popup menu out of the taskbar > behave like other menus there. Are any of you trying to do something > similar? [...] I build dynamically a pop-up menu for the tray icon. In general it works fine. The only problem is that disabled menu items do not display as such; they still look enabled, even though the behave properly (clicking on a disabled item makes the "don't do that" sound, and nothing else happens). I hate to admit it, but I haven't had a chance to look at the differences between your package and Udo's; once my little app was doing its job, it was time to move on to the next hugely important major initiative ;-). Anyway, I briefly experimented with using just a ShellPresenter (instead of NotifyShell) with both a ShellView and Udo's ShellNotifyView, but, as I recall (a *big* caveat), there was some problem with popping up the menu in the right location and setting command targets properly. I didn't spend much time going down that path before deciding it was simpler to implement the way Udo had originally done it, since that made it simpler to get the menu to pop up in the right place and to get command queries to follow the right path. If this sounds like something that might help with your problem, let me know, and I'll try to give you more detail. Don |
Free forum by Nabble | Edit this page |