From f0e7eee62c3b7c71a7accfb7a2cb6e1ed1f566bc Mon Sep 17 00:00:00 2001 From: =?utf8?q?Patrick=20Sch=C3=B6nberger?= Date: Mon, 10 Jan 2022 14:58:11 +0100 Subject: [PATCH] Icons --- res/msys2.ico | Bin 38434 -> 0 bytes res/res.rc | 4 +- res/res.res | Bin 38680 -> 102124 bytes res/resource.h | 4 +- src/main.cpp | 101 ++++++++++++++++++++++++++++++++++++++++++------- src/win.h | 45 ++++------------------ src/ws.h | 13 +++++-- 7 files changed, 112 insertions(+), 55 deletions(-) delete mode 100644 res/msys2.ico diff --git a/res/msys2.ico b/res/msys2.ico deleted file mode 100644 index ee73a7da4a07ee528ad9a1cec8130671feaf7ece..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 38434 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 Bf4=|# diff --git a/res/res.rc b/res/res.rc index 9369509..f510d18 100644 --- a/res/res.rc +++ b/res/res.rc @@ -1,3 +1,5 @@ #include "resource.h" -IDI_MY_ICON ICON "msys2.ico" \ No newline at end of file +IDI_ICON_WHITE ICON "icon_white.ico" +IDI_ICON_GREEN ICON "icon_green.ico" +IDI_ICON_RED ICON "icon_red.ico" \ No newline at end of file diff --git a/res/res.res b/res/res.res index 77bdd8c154308ee0657a9c97ca971f11bf3c3c5a..089198693c4edb41d8d06fbd8cdaa6eb59b6912c 100644 GIT binary patch literal 102124 zcmZQzU|>*SU|{(FAA&)AWSqeQlV@i5|DO>oB_P1b0%kBUFlaC^FbF`+U<8{4lR>3h zd^#DB@&Et-?f?J(Kkfhj|JVNi|Nj$;L2QtiJ+fM4_W%F?rT+i_Klwjl08%3b)7u?B zfdQ&_Ibp4E6(F@>Gur&SLHa>v!X=4hOzsZr2k8a*mq;xb%0PNS;esJSqyR`SC~S#T zj-d>s7ZgVr5=07s^nx&v$}yCI^n%=gAwi@7NG~W1h*XZD45Swn2N)7W3V_oyk?9uQ z$jPuYOiB7hGlQ6P3{nG5`!K!8G^zRb13v@90cHk<21W=*Egdje37P%>|9|2C|NqDS|NnpX|Ns9_{r~^}_5c6>|3EQ_4H5&% zfz${i>!pPK|Nno}|NsBb{Qv*|XY_=ChYwN<(ql@l-T(jp7ybYLf7k#2|9|1JhmaIV zFUSm0Qrz+X|9^-7|NrkHWH<@(AhR5Zal`-r{{#O2|9^o5vx!v-GBW_18 z8K_PG`5UB;STjjg2QnKY9Hykq1lbLWZ%{aqY9^`bL3UuI2WVO&)hu$=cP*=11#f>q z^B5?tl4~BR`apKU^CmQZlWGQ~>Suz|BD7osl^2wnN2-31ov<>MRK3(v4=SrcWj3|U zBh?&`-Jp7dRDIM^53(CncTvkcQq2L`4XQ&))kiJ$AiF`BTIP{z4#;j$7?7%uTIxY| zgVF%C%p=ttklmm>K&n1!sR!8&Dg&rx9;xPl>;{#Apt6uuy_Bj4*$Hl^4rKiUt%E>q zTu_}zsh^0|53&nh|3cjWYNrybpHg*QAUlyUw7m^#8&PUDA^jjbFxp=rw?Nz7pf(~Q zGsu+(nT^r@1lbM41JVA5*$tzi;Q$IJa{Y;}4`dczf5YsC(a`h&N|T_pif$gUe2`v{ z8Cc^RW*0sh+BOFDB|+r{vG#)0g7l!|F?{wAl7qHWLFFZ=%m&pPpt=iGe}XWG4H5&% zfz*J@H9}^B#U<6_C00RjGNDl~u z%m87KnIN-4c7W^x53e3z{=Y&Mc^rcoYy8jxB=T;|b3{Qv*|(*OVeFaH1k{}EynCl+-e zy&yBB>EULO9smFT*Zlwg{{(3GVsR2#LZJ8onW+h~gBJMz|NmV7|NpQ3|NsA6vRp`< zCXm@6JGiLnhyVZoJN^Ive>ZVXpo%JxT~5^S!~g&PQ~&?}|A;ECBFzwxovD=g;s5{t zW&i*G|3;d%R8S3zly`mUhNM39?s=IO1IcYxduDkDL8pE8?hryJxptYs^7EErVw($043m|Tl3 zKSS$PQ2jw2TWDtr$c-5FG_*}XJ6ox1@&x2KfVRazZ4m0(LOatyZiTn`pzTQ7*+v_a zi(zpt|M&f5s>?#eGkH_2d4^HziDu~j4V8!^UDpne##<5y7k583fUko!RxI@bakE5(etffWI{3Fr7N$n7vZ6vxkD zZimrBdHw>;51_e&fl4_byGfdRfw>(u{?a|v0AUpBSxxm~=h=%5A(A)vN`~b3x zsJu$Z?J)VFJbw-I1BiysbAZ|!pf(7#;sazB$V{yDD#%`HW9Xa#sND)$gF&u8Kzc!D zptQxP?N&nOLC3H`eIZbP4%8a;F8@KE0EHJU++g7d3s?9e zE=ag*I3cg&f^3IHU&jU7iw1HpHTI(sN)Nc?|NsB5@c;k+@c;k+xBmbCf9?PO|Ihya z|NrU#|Np=K|Ns9V6oc3xF_0Wc4M;6Wj{+`p2ebJ9|NkBT|Nr0n|Ns9>!{}=rK z|NlN7chXu4WOo6*!{Gn_|F-}C|KCh&&yiq0$St6kc4Yd9q+keeC4 zfBsI9|Dk?gKyMFF!9I|iW&i*CPqzP|X&w}oRB+CK7y)uSF9qoyl$Qp?;Z(E~WA7I+ z;Q=k@spyOWHHxHq0b0L<>XQL=G!-oe`Gx5A!60kfP%9WV6PfNoZCYyCIoQm>+g675 zWk7A}!RBsixd-GooP8!}KaN^<4OVknvE_sR|Nn#f@1TC=V0AaO+y(L@#`pnr?1EZ$ z40dxc=9d2d{|_2l8SL(+mix{l=K<(=9kt9JD(1k)6QN_3L&e?Ha%V3r4Nz&EmRjzj zmpPX}{)djw)634mW)Ey`Vz9Z3UhV1E$wvj^mN(0tQia~Hkb1M)j)&W&F7 z4K{l~eh1Av4mNku%RL~!gXUi8W#3@42jq9q9Q0sw7ropA@;eCA%f7*856JJJG%(oQ zMKAY&{0=Gu=w;tvvj^mNP#rMX+(j?1JKL9!DbK0@1Qo|U~?C}+ynAEs1HCd z`v#jmAisn9fP>9l^l}e)ecebN|A3BxfY#U1E6fLrJ;>u3j2Y!2iyF|h@Ss~rU6iUV4&lM*7jqa|AhJ=ON7DK?kpDq= zh^%)e6sBaYe}wuUw2m6IhLn&UgH;~ncCy#MLc;*GjvBOO0Wt$*7Rq=XDef6awb1o-pm_#RdIill zf#%#m^NygoSJ3=32!q%lF_0Wc4M;6W4|sf@mhS%#KEweOMWCBvKs5N^0kAOWM(+QR z0}B5Cha6n+|3Bm)ga7{_2Oa$X4?19g0eln$_yhy6at4Na7!5w>0CLw2NM0Un4CLM$ z5Fd2+4Txq3pO*l+2M5Fl-GzffgROzwjRO(~-H`*PLBv2}T8PLy>0Nn)y^3On?BSCH+`2YXEAoQ;2%>V!Y_x=C>f8GE8|4;n?|Nq|q z|Nq}X?|ld5K@bMr^9>RM$$`{>)PnSY^n&i+79`glBSjyy9*p|`|No5t|NmbEr8p{M zkeMK}L3Rx4dXQdm{{R1f`Tzg_=hOMFAy~A6&ddVYEl)514iSNDX(8`v3p`hYhi|4X!XHRUFht0{I-8|g%gTe${7J=$y zTBLnwT?;DnhFjQC%Riv738O{%4{c+D>U?Usb-0=X3L~nnDS`H_KyBXP8fMh?7bvW# z)<+v5{aR|r!4zuL0nqUrYP)Tum`Blg5p*0AH10G~!i(De1ce>h~1D!Jj&HdmvbySwv5CDZG(Q}#5`C4Ml9#uzN2;>k`4nfx` zfcg-`nL4V9*bo4PDZzCW&^02&nmMYDv=AV;&*cCA|DZK6q?tOZn%EFHgRcyNu1h1< ztWkC3g#gZVc7tq9AbGwU{JK_S%LCB0u!GCbngRgY#KEcR|vrOfc*deAG9X~m%34L+Jrz9EDu2U{LsdhQB!e+zzn4D z2kni*rEXN5HX(2k6#meChP1I^)Ko$t0Ndk9NZqJBZ9)LFHx{%PF>h69S;H2c4Nf8`DQkB@_anum_!6 zK}g-GJZ(Y%6!xIALuh0AsHucP02KD1^IHh18huRPn!?`g*|8vfHtO&no1}HKw%G>10$qvRGu~= z06rI%M(3T<#>K+=X;F(7tlNaItQG7t{9m% zVcmZO4S&$N@FO!+=;v#k`|qG}FuMPgc5#7s|0y*5LFeDo&IKdeWMcMTgYHQH?Uf(d zAw_-PgTj>H`2)~A0J?jC`YssRCK7f21~mLZcUFMTOc~iBMm^ty!jkCoXP|Kay1RmU zE*RM+k#znNDEvWq^!zcZBpR~LAA^QJ=pGT!8FEx{$Otq96n12vzXy#2(0w8!FzBe_ zWs1(91cg5ckDk9uR$Nf!{8ec9gYI?#ovBNfLq?z`P*_pz{9$Mu*pAS9Mo3LQpneur z&))`xKM0SWKTj|!z~|3{!irXS^!^2$aR9!5fmY#;Y%cVyCeWQ5I2|*>BtT(-F{gzb zX4Gaw;{X)rBP^&fybB5gx`sV0E}>-+sLaD~)Cds(`8^#L9s@x`>ts-!KSF{W?oE)N z!v-SE(d~rZ4FhWP!W}ov86dyXq>YIlw#4$Gcf^41rX1!$558lRs(mYB!P3)-Iv+9M0vrwrOF4%)8|Ix_)uZUyM<5YYK8APi!I z#6WT&H6XPhJs`axGr;={2b2F`ZUHq&{xC3r+z4X+Kfu7i3}*cQ|Br!zfuSD4`2k`> zHwYX6v7w4UOa@Tr7pfep0j!*X0j%KzL=8X4Ah1@b4Gj=+&`PiW5GL3lu&p3|{r~@e zKr{&3|Njp)5^N~cNCpP}|NkF=0 zK~{q+oRP(m;|Q6JD}Is1k<$h;8#yf@r!izUJo$q%0Nl}N=@#x#X4EtfcLYCb9)VkI z56_yA%n3^+p!^8644em{7JxH0)KGAqh581Zm!YnP6bcZ7K*m6G9#|{X6=3C1n<2`< zil9osSsPsDvQU&KH=h#=#s#u!o>or z3)N0ZxyP>0mYHjM>}u(03)LovUhkJLBo6f$w^bZmk<24?nuRyxnukExW8I4_6$j5u z_}H|gqoLp&K;~8VM``8~Ha&zhK>|g5ng=!y zV$K{W-?a6B^nuq0vONX9SDd>X7{b8Ul4&BiLtqEP3_h6$=7EW|{A(EESmQjKDw?0$ z9H%8@&zYZ}+a-#&n+fysG1#JLNMr1v8qQ+_!E&(+(MntHpEt zzS@1@`LN}lenubH0>?xtU)FU@>yErxBm93Gvp=KvWQDk=);=>=FuW33c2Va+)EVjO zpcu^$6+%Z&*RX3ci#qToO2snA@XvW{-EH#3H^Ecri2o11pcJhJtwScesqu` zC}IxF$L@X2B96z!9cH)%H$*p_u1ObMK95yQ)p5_Qa)J3)+Zf(F|FQj6y<1hEa$N~C zKQn*%E4!vmca!IJ8uaEJ(P4e>aQOa7x1@EAQ@_o6VIjMfX~XP_yyI`Kic7v=eQ?n4 zmd_PIR)J*~{SAHV*`L+eOw8KGz|X+1;`nFrdxOgC-_scqrF_}rn4T?sIQ`bK9*qZnzt2aUFI+Nb8zXmPtEWKuPrk|R+hQ17GE2;!O}ki`@ndOavf=d$ zpTEt@vd#@>NR;|3^@Dp?ru!yghWd@y!=f{1gUtWS{6YFmp54SfI&5{bSw7ycWk2Z@ zy@uhC$*=SWoF;!J?VsJK{>C)CYNKVi0h2qZ?{Hj zE!Ao;=uKnlzA*E5kd1MJ>o+Og-b*45Gu*-%_p_h-FxPcSmvO`W+u2)1yaE{#rS9_l z;j=hbE;doBkGU>={mnz#HH0pYbxv{8=AEv;N)`yP zCfFO#W#;)l*HtC`aHFN`P4x$R8Q!d0Y58KY-AkEdL)8bh#}`~@+VFeX^98rMvb6;Eda8~T@zTnMxqk8#!NAqtTa~gk^95`LcbdLMLyeG!e zcQ0vQ%4RdTeXcFoE{vgk@nIVmwq1P2(teh@4AmWr%6@k8^4`l!PaeO!0rVu zTrcvbyZ2dZGW=dDD_F3l`?;{@#>I^%&iTBHS<6t@eD1CI%IhX)&OFik&a~nF^01EF zekIkS&E4;n&TM6PW4`L%)aS(=TQ=_g^e^nu9j*g)%PPeSQsT}lUV7GdWQs%HZ{|-i zjCVTsEs9vME2(G;Eapuj|B}+jLQ+lu|%(=rOSZ}lOjV)o}47<*T zA6Y*wZNp2DWY(6){ztZFmWj>2bc*Z2GO@aFmra+y=$M5ve0y>!hF?oy;;y-O-((&- zyN)3*H9hboZJv)yk@3xQY0k4E87=-kViH^#eR%WD0Fbk|EtX$Y z7Zg-Kx6wFiyIVNJb+aFzl^$K&+WV*AE^7k6(gnr&N=L;^iZVQuwHsE?;!sw4chz=v zsc6IA?>|m0d)(3C9e%Ak&S9^1gLZ@A+2?|S?Z*<*wk@mTe(>qp=8g{b(z7{dnK&+I zuoYyTE_6AvH2CcszLoPt4=j~z5fuEMb?)5+kRu%rsLnhpC^%hjqj5~=TG0bK2{C1r zE=Lv?&X8QUDva^Pocf7H(nW2n#T;h19cM7T?;>XT*1e)GgIUa6h2pkqqVeo6TVhF}>sLBa38&i**SWN|uC zK(KKA{hsfl4l~>qUwmCZvCRDDIjalxtOaTYcWUJX3o|Uzt~LH+E!g#2N9mE{{Wb5S z8J1UaC@H=BdiK{o)`G5f1*J!E_t%6o95RvOobyJvuVY8arnx`&i5~DY`4{?7DacRs z%$e`Je>?we>gZrsKXi|2#uLMijveNl-^31Z$~AX%RI4Aj$7FFYSwOJxeZ`GvhT~N{ zN=ol!xeap8&$AV7`2ShP&E?MTNLGteM@J8eK5)3N>2jo-S^EGBn87KUum>#lgUjF?NO4jO ztHfiFcEe>%J?nlZD_!by3vUSA7u?YyzF6x32UwTj;cstlZaxlD@2t+)U9y2|!|ieo z!H-GhtS>%-9Pwf$Lo8TJtY|_z*!(`O4R=B6ld4&7yaJiOaVt{}SnZ7lp6;1TkvD8TWk!8S`TsQw`WLAAMPWKs>yf>%&s8fzw43n!yaVTH75S&woX#ay~kH zK<&P#%aN77o&x#rYz3YauMc!Nvh{r8`%Z`X;Bc(vs^)$m+z(25{t5YvYd%Z3xZH_m zujYP`3>NH9%xA1=;bRwlDYDzpIG;;_^HJUd=lPv3M`rTBJ@fr{Tm!#NtDxZaUum`X znJUgZgVIa>wePwO<+d!KWCRwLzVXzqyTf7&xAE%(cB~UvKJq23?RQanbSBFB^?`r! ze7lYnN(dINzTd;I({Pm!6z6}_Y7!XN6oDM`+WhffkhSYC{$@~mo3(cCM?2>x8}E-MGw5@YwGBz{(bga0_z8<54HayU5+e#Z@BsH`8w7KEQS0V4!J4`7N)h% zeOt#C&B(B4R%th;KLJ@GU9yZ_w?U=De8F@^rMF3~b6@@q0V$jl406^h z9sW>;Olane*~&0UA&y_?ylP*^j!k#YeOk~K#mKN{0>}f|CnVQ}GMsK$doxu~uzg!n z+KyF<+zOnJd=Gq%R1*?RpSK-cJ}?|8mIMV^*15d1Odd@YmLKZW3SEv&{SGNy7!DZg zwh0Pue>Ll7759V8gzC>A@4THcbM4A?OdD=<%+FGt*kSQGWb4}f%vX0aF+|)-0lD&B z5F8{-G*CT6>OaFY>1`5Q~1G9Vo^mSN#UN-mQF4J91 z3=x-(yzlV%CpGVE8_22Z7s}Z?M9xN8&*sfcV`cb|F?qkb($9=6wb@z?Djm}q@=ZVQ zR+_YP`x_s#H8({W4k+vXS=W)W{AFa$E`~`8bwUw0-@NbkPz$>ind7Cc&CqaE_usyb zEz6cl=BxzC3s!8KdR$=QGTZF*4Vi1#F))ZR-j%fJ>$tLB+PGRbb0^3Hyf$}UJ?`*u zmfHrYY!bKxm7Js9-RfVa1u=ZP_qcsig^u9LmkX=je_yYCWfroIo_Q*n)j{Zpc0+5W%{CAAsEl;2;+-N5TLom5 zv@WfhBJ{^CN3h$WSG5?!(y|`n`&i#zvZ$_SSou>`*Dt9oG(xn~0-|#$DyUxVm z(e$JL#kRzWZo1nxPhNe8`@k>VUl{>Q;`0v749^Gd|O7uZ!BVRh8(jOqR@_xH=PCG*QXH|h8e@^^*d zGyat6?{$jlyAoJGprXKn_Uxo`)(eqMhv5h;~w@I&0$QJ?4B_e zPg1yN{4@UCx?j$=v9@ns75+B6!Lj^&*z$Wq9G6!}Z&s3cXFky*xQwy*|DV><6>L)iRV7CK4Unqs$6e0=~TzV9w}q48@p$pKki_@ zszjfWZBx5OT>HLqhdYs+G1sdb(!Za}E6clmkY9THhr`Eo-`v@@SmZE&ZUDoD@+Ut` zMV^RxXJ&UdX2;0goxA+feijK0pT+Ua<&0Oq$8?#j``&F;{C}6;^jk@+8}xtMznK1F z^+{E0%@3!`r0X&cGd1kXSKY_5gI(5C?d3{rxSeKpLUeTv~bUSPD+CPi#w#!>3ux?my(7TLjJG1!j zb4smWm_8&39a&w&Ubu8I*MjgFZstte87J4IPjrf4x0%B7aefVZ;o7(HOgzW__0MCo zVJNBYQ~p}?%UiEe4eR$l0w{D>kfa}c!s@)Om=Y; zyHB^%&B)hoJnAX1|An=O;0gvdj>|8y9;hw&^>J;GTRvmIisPRp?-g7ZF|9asFSUZ% z;AXj4=Ej)8 z6@ALb${uJYWUA*rI@!dvz%xcm_J*$a4lc~ zH!)e}bXXpF!t$WvLBs=v{)-G|jPsf2GtE!nyZ%GshX!ZT+^qoxS`Cx9u?;>Qf8#H~ z+{5OUxKDgjdFV#z7YA$h-{m`VZr9owpFf&0-)Fqfbe|!fF+OSE^pER31@h1R-XHks z^Z(%G^P9Q#cV&SF;5=RZT-G@yG%+wRL@~g|>G&A_|4#+UG8iC@(}Bk1*cb!^K(qow z1`C*00Fw+W1Q-~Y7z_-cJXHn;W(Efb2v5U_fq{h~Apyc$F@=GF6>K&mg8~C+Y!Ece zr@;ub8#G494wgqABh+AEU=V=1kC6dBbO=_5LLd#aqKFg85flU|6ogO=41yp#L4%Pn z8YD{zhM5DS!PYS_KrIv${J_t^aDbVCp@9*C3E2fx2hs!5`+^BM967++(Zf-Jfq}sR zr501Xk4C?iNYhylZbg0P5yh%mz92f_uJ0AoRDROJi| zj7X+~RDcGULG+Nt=>9?HL(>(^f0*Hgq5%}(Fr^?G6#hsGK+?!2fTZEk3krM`0WjzP z0p|bz85ls*d!YF>`40>X{0|ry*g4}Ku&EiF%XTO zuR&rUjGn(iVjzrD93(l4sTTrRQVGa#oZ*j4JzBX1G6RHhrU&c^0#ACwY5^#rV{s8A zV}R^O#USNaQZz(4rc)uxF*LxGqicXEN6YX?!pJ&MgyD9;&Hn$tfe~I1g9>C&VF{u^ zg(rvx6{sK@ml*i*cka@W35s(}R6O;!j8pR_w1ZbVUur@0Y!A&sz z6V#8_14QIsycU28AUqa;OGrZUcq{-J4{w?v0tLnb8&6msrv(t>aT)+Mo^btuJ(6Ii zgJ>*afG{1a0#s>C8$g;+Ff33YG>R02gX9Ku!yyXb;RNM^ssG?cAZQ^UsHY5~!3`I% zFsRE6StwhNSlI_@2!R*$F@Tl}gBmEHb+!<9L6jrb)WX)&g8KR(6|i-*pngAy59<4a zXxJKA&^Q2y4_g}xr@_`h#s)z0uywH{j}w42QxoHI7q}hCzyNnYj1O*CBGv@6gM*WS zfgjwiM65Fgjah)4X%B8+B84Zooe7EASc9SRx?0lA-E?ND&SM9vaW0lXC0Lf4sAbz%|s#~W??6hl);$T6~aVes^Byp*MRh3cmX7c z55o(gqgenk0zU~g8blFcJcuQ$36ju-4kH-Bsd7<9NM?vh;|Uf zIYc`M;#+K;KzyMCvIM(4x+q8`1QQiyaOdD0h(fghVl;##!UAODiOH1^gJC2=3s8+G zYyr$*7)`(ebmIwG05cYeMh!hw9+EOR6OW59T?5jEQv-J8xV-=}3@b);G>nH;DMS#9 zlW;i(hX(x0F_J386#OL2-AD_A5E?)uRNyI65aU01SPQma7(4_9-A4=_CWG!T1`SDp zMj$~tAZCMD@DWH52do@?Y{38j-~lr5u>oMyK{~)TfCtjRM+Ja}LP5fy;Wd~s;C<8J z$zG7m=vf4yPyj8Bf`%H13mc0Cvq8j2!nnc#mpC}lLIMajHVopSu%TnbAaU5ZIG7Dh z!5}uyb0?rF9;5~~)(&RFlQ07VY)ly>j&k+|bZi+Uj(Tne+%vH8W{{HMbryjQJMuU< z56FWk~gyYa+x*Sj_FG%$GyJYI zO1n`ceWR4w;Ln$BPv_n;WQexY@VfCX@9h_^4d>MpS)=y|z1hSlQRjC1(Ydz*4Z3nH z-ckSFt^LEb;a&W>zG*e85g@%Go1e^$F=X(TGZCD&d-iJ9gq_T4=Yq;hmNMv+Zg7cy zwr-tJLn@!hzpY2+#ws#+%c$4{{CgM1@9>kkMcnKD!&U$J7Ceh*ov-;lpH(Z5p>2Nb z)ZMp5nHhM3bQzv+w{kfL93*oKoLaO=Xy3DIl@r$lUb;4MOaU!an17QHG|kd=2^aJHoC@Zf11YFpu%WTmIyd*<0fn4gMH}O`rLh zi{W4u%Yp6oXFh&>bCW^g#&VE~;#!ktGX{=to*)Bxm#1H3V>oz@?Z9^XD@9pqxeNkt zd_WSu`RAAMGBoX#X1M<^;C8fe7IQAJI$us(V zOhtB@FvRa-4F9zSHq~rRV{XVmIGevgo(a`6wfqhD858pNpWVR=bK^G+hC22J+rNgl zq2aikp@O$zug#oHNT__%VTfZ+;I}`w38JN1lwm#NhHcA@bC??v+?f)%8%+1kiG`>w zGXbg9ZBM(##&GZ+XM--owStN;P;}pAxWTkw+xE08pme};K#ak3ukCCz297c_hHVTh zo?h_*#kM-*237}XVzJ|G&}De`D}ybUL12wLLk^?C@#CA*nHv)Jf~?%Q>rBjfUI&(h zp1jS^AW2l0VcpfzV>t{0Z@L(6Fg=jEoBnzguLH}1_18}-8!>ESc=32soDhZ_#t-upjg5<#1sE;TZmj94V-;Ym$a~TAgO{P{ zEJuSbgPgRT^ky>#!G`<3GdpLlXHa7JKf{cBb3L;F<0ap@jW-!Hd|6JI{(TqD;gHSB z$Hb;x_qox1yW{M+kq>>sYY zRWB*cmR!PfhjYPSDZf8rI*_wVdF=>vP$$}3F2_3xcZ4#W3NcDm`g_CL%s8F!rgb7hZ^ z@egy(^$h(-Y%}7z_6V<(K47apLAU5bKFfo8KPB%k5AJgum_O&lJ)VEEj6Y^hzS(`S z-hm;m*eToihd;-GLcc6sw*L&^3gYa8{f-Rhii@^N{1IkZz`xw0ec}HJ3}2p_95?te zm*YU`oSgW!e@sjUZNYZOFU0#W94mfwUh-EXOTxY{>Io0jg&L~L>Xq2`2{1++Ugdvs zgSa}w>)C% z-wFqVfdPaETD{N7;NSq|aWOD(F(f2Fc%YeV$ow@U0|$c*I|Bo#76+LI+Sl^`KWP6D zFW7GM_5PsV5=afmcCZ4h1XAk=t2}-|NUsmxZ-R}^z~%ucUdI6P1E^gNqoIQ*Pz$NO ze~1t4S@duOg&}CoDs96N>LsLJB-k;d`-fn`KoJd1KQJ?3=@ZU}rYjg9lB{7oP@JF` z02)O=NP?tMM(IG($R8#4Ym0#aJT%6L*yjWu-(yDXg94A`u_N|Lfyd|M5&NhhgWC*{ z+5og9ldSzikk~=5hd^yHko#!f9)qS5SmJ?l(I|);!D`^C2uTT80!|=FK$vhDC<7u2 zCy@+?C_uFWLmH8(z(zpyppsw-2!SdA<3Z$b&m+Q}0Mmd@Lk+;7rzDI;w@2osbCDH_Ei zHw0*%zHqc#U;$1r{S(xW*8@c4U%VE83LrcdfD1T6@^~x&8IPsC1PdIn@r31ZS^zN~ zrvXsov2=(a4uEOLp#Vu5TVoSpI!GZ#AfZZQCIgTr6bx|_j6{)waFDD(Hyok>9!^j$ zm;!GU0!_7p4(SI^%#ZFLf(0@$G^l+BYDuEg;CAGY+dl+JBIxZC09_%B50giuu{Z{z z1ADf|sT_wNAZB4F(Od%JVpj+g1*t&6cw7V0gW&~`AU=#@IL@LTVFH>32nk#)6blHr z9%KfJ1t0-J7|8-6j7NzyLPkU6;T8~OJdy>Zs)txdn1nirNaNuSB2_(Mhrm>T9YnP8 zPzRB!9%dOaG{`~3sDr5?Lp=%32YZ-Q^)ROqM`JdC@arR4JxR{TJwA!cRfPJP==w-j zk8Z#ye>4O}LtyBHz)&xLAUy-3!<*#tnPl@x3Q$7hAn5)AHR904@bSs0e@XH%$b1q! z401lUF$r8=0IMg#K_KT4(bk4p2Qi*_2SL>n?I4JAh;|Uncw!v{S5KsaV9p`ZK?viC z%QOh%iLwCMcw#I-Hl7FzP>m;S0jlu?EkHM(kOk<*;~2YxrA#c!@udn(*MJPbnK7{| z$L$4>VOTNDxu`T&r4T_ZPQv9F92)Q|#|T!4Dfmf*>#?W<4MC3X9~!;O6p=`V1`9gw z3vw*VJ}O+|&~agqdXzmw$l~BN2Ot%QbEZH%*jZB`_UQg0P$)n)6@pmcEq{=0hu~Aq zK*b4UsRoFJbea~33!C8pv0-J770Ui0@bYJp_YW}=xqs-_)rdQ9+<%z<+<%^ZU)p^+ zzR0hJoz8_!0q5WKyNGZJHvGIK->BfD!tmJg({q+Y1xAU(hVzx##DyDPTin`r&+EGLgAXAJ`Zz&IPV@<=_)&xGr^C$V-~}fv=5hE+Z8Ms4$9AES91Pv{f&Ks(Bbpt z6U&uynK^#%m?N^8cL|HaljKV`zbSfDup0cCv-R)Yo0ZHrek?XTIPLa229~B}leJam?8s5Mf)4(y0tO#S1>HSAF+} zi!tJn!o$W-<=d+mPRT3m3HZeq{3$|Js$ZY#m3#!}jcw z`MT>F1lE*;b|h`xb#4YPL(^BDhWvVo#kbdd&22=7#%kFgAB~Fu>jh})MXw=p_^ z_VS!(O8DDu`^Vxmd>c%}|3rQM^jnbaM7CTFU**4jIi7PHY!pbxedY&$<-dKq-GdPN z&iLUUzvRE!rI7tFko`Y5bQ$UxT6FeDZDw>Zf$SQBZv^`G_4I$HmI#QQC>x95N+5>J zU;w)kzPSgo@rP&~f3HUUp7qzAA-D$1PNm(f2mW)l=)|wR$)GR`ZqGaB2kj0gKHOh} z@ZNpq2jvVmZs!{#wny1=fp!%6*Pq!2*&g&;6SM^gDcralt~1;?+`k#LU5JU{U>xg# zY=$*&U-H~$P`ELX;RaKJuYUSLZZkD4o1IuechG+)p?zD*Y zAS>7C8DB4E7GMM=#7fqNguNiu*`;$0r5RXuD=}AAz;!q6varoA|x z(S-q&kLs8k5{yB9Io@{u*cx63mIvj*X-Utt8#oTwFFSka&3y)!hLYg)gffOGVa6ig z{l7(-E<`mpHyrf3^HYm4W9^B?0}QF}s+KZr344+7Kxyf_imeO`%%MCEE1jI&pT7Hc zef`b)gT+Vx+gL2Q^Wc8S9fo&PZ7nQTe34xz*Kn;%Ucn~t-@A1J4cEjhJbt8gTJQE^ zh>CvVuu!)oJe?V%)Ih>HB+pj2XGj><5ds?I^b1!&I~Vq5GlJmZAAWkDfw*w`xyS5 zx%lSj1A7IA^_GjaO8!x2d0^qbRjj$bfnm@2iC5D;+*e?DZn-Op=N~82h4$n*hcDE7 zF#IZ-lPvMakL7_?-!^^cdPZ=ill($o4O|QH{B;2BYE?G)Ak67tyW3ufIlhBoP2$z# zDL1->8@`^cYiX-VtY?0_`|zSmzZ~*FRWfY%5c>T?=^#l0`-gZ@_7Cx)>>uJs**_$J SvVREDLkI020@dfBS{wjV;HT37 literal 38680 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�FRr7lV|W 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 #include +bool recording = false; +HANDLE process = NULL; +HWND hwnd; +HINSTANCE hInstance; + + +NOTIFYICONDATAA niData = { 0 }; +const UINT ICON_MSG = WM_APP+1; +void +ShowNotificationIcon() +{ + Shell_NotifyIconA(NIM_ADD, &niData); + Shell_NotifyIconA(NIM_SETVERSION, &niData); +} + +void +HideNotificationIcon() +{ + Shell_NotifyIconA(NIM_DELETE, &niData); +} + +void changeIcon(HWND hwnd, HINSTANCE hInstance, WORD id) +{ + HICON icon = LoadIcon(hInstance, MAKEINTRESOURCE(id)); + HideNotificationIcon(); + niData.hIcon = icon; + if (! IsWindowVisible(hwnd)) + ShowNotificationIcon(); + SendMessage(hwnd, WM_SETICON, 0, (LPARAM)icon); + SendMessage(hwnd, WM_SETICON, 1, (LPARAM)icon); +} + + + void startRecording() { ws::sendRequest("StartRecord"); + changeIcon(hwnd, hInstance, IDI_ICON_GREEN); } void stopRecording() { ws::sendRequest("StopRecord"); + changeIcon(hwnd, hInstance, IDI_ICON_RED); } bool @@ -84,19 +120,49 @@ checkForegroundProcess(std::string exeName) return strcmp(filename, exeName.c_str()) == 0; } -bool recording = false; -HANDLE process = NULL; - -// int WINAPI -// WinMain(HINSTANCE hInstance, -// HINSTANCE hPrevInstance, -// LPSTR lpCmdLine, -// int nCmdShow) -int main(int argc, char **argv) +int WINAPI +WinMain(HINSTANCE hInstance, + HINSTANCE hPrevInstance, + LPSTR lpCmdLine, + int nCmdShow) +//int main(int argc, char **argv) { + hInstance = GetModuleHandle(0); + + win::Window window("Title", "MyWindowClass", hInstance); + hwnd = window.hwnd; + + niData.cbSize = sizeof(niData); + niData.uID = 12345; + niData.uFlags = NIF_ICON | NIF_MESSAGE | NIF_TIP; + niData.hIcon = LoadIconA(hInstance, MAKEINTRESOURCEA(IDI_ICON_WHITE)); + niData.hWnd = window.hwnd; + niData.uCallbackMessage = ICON_MSG; + niData.uVersion = NOTIFYICON_VERSION_4; + + window.handlers[WM_SIZE].push_back([](HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam) { + if (wParam == SIZE_MINIMIZED) { + ShowNotificationIcon(); + ShowWindow(hwnd, false); + } + }); + window.handlers[WM_DESTROY].push_back([](HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam) { + HideNotificationIcon(); + }); + window.handlers[ICON_MSG].push_back([](HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam) { + if (LOWORD(lParam) == NIN_SELECT) { + HideNotificationIcon(); + ShowWindow(hwnd, true); + SetForegroundWindow(hwnd); + SetActiveWindow(hwnd); + } + }); - //win::Window window("Title", "MyWindowClass", hInstance); - win::Window window("Title", "MyWindowClass", GetModuleHandle(0)); + window.handlers[WM_GETMINMAXINFO].push_back([](HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam) { + MINMAXINFO *mmInfo = (MINMAXINFO*)lParam; + mmInfo->ptMinTrackSize.x = 400; + mmInfo->ptMinTrackSize.y = 200; + }); lay_context *ctx = &window.ctx; lay_id root = window.lId; @@ -113,14 +179,19 @@ int main(int argc, char **argv) btnConnect.onClick([&]() { ws::connect("ws://127.0.0.1:4444"); }); + win::Button btnTest(&window, "Test", row1, 100, 25, 0, 0); + btnTest.onClick([&]() { + changeIcon(window.hwnd, hInstance, IDI_ICON_GREEN); + }); win::ListBox lstActiveProcesses(&window, row2, 0, 0, 0, LAY_FILL); lay_id col1 = win::createLayId(&window.ctx, row2, 80, 0, LAY_COLUMN, LAY_VCENTER); + lstActiveProcesses.addStyle(WS_VSCROLL); + lay_set_margins_ltrb(ctx, col1, 5, 0, 5, 0); win::ListBox lstMonitoredProcesses(&window, row2, 0, 0, 0, LAY_FILL); - lstActiveProcesses.addStyle(WS_VSCROLL); lstMonitoredProcesses.addStyle(WS_VSCROLL); win::Button btnUpdateWindows(&window, "Update", col1, 85, 25, 0, 0); @@ -173,12 +244,16 @@ int main(int argc, char **argv) }); window.show(); + window.setDefaultFont(); + ws::onConnect = [&]() { + changeIcon(window.hwnd, hInstance, IDI_ICON_RED); + }; ws::init(); SetTimer(window.hwnd, 10123, 100, [](HWND, UINT, UINT_PTR, DWORD) { if (!recording) { - if (checkForegroundProcess("League of Legends.exe")) { + if (checkForegroundProcess("notepad.exe")) { recording = true; process = getHwndProcess(GetForegroundWindow()); startRecording(); diff --git a/src/win.h b/src/win.h index 1e761b6..b8763ea 100644 --- a/src/win.h +++ b/src/win.h @@ -46,7 +46,6 @@ namespace win struct Window : Hwnd { private: - NOTIFYICONDATAA niData = { 0 }; static LRESULT CALLBACK WndProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam) @@ -62,17 +61,11 @@ namespace win DestroyWindow(hwnd); break; case WM_DESTROY: - Shell_NotifyIconA(NIM_DELETE, &window->niData); lay_destroy_context(&window->ctx); PostQuitMessage(0); break; case WM_SIZE: - if (wParam == SIZE_MINIMIZED) { - //TODO: auslagen - //ShowNotificationIcon(); - ShowWindow(hwnd, false); - } - else { + if (wParam != SIZE_MINIMIZED) { lay_set_size_xy(&window->ctx, window->lId, LOWORD(lParam), HIWORD(lParam)); lay_run_context(&window->ctx); @@ -81,23 +74,8 @@ namespace win break; case WM_NOTIFY: break; - case WM_APP + 1: - if (LOWORD(lParam) == NIN_SELECT) { - //TODO: auslagern - //HideNotificationIcon(); - ShowWindow(hwnd, true); - SetForegroundWindow(hwnd); - SetActiveWindow(hwnd); - } - break; case WM_CTLCOLORSTATIC: - return (LONG)GetStockObject(WHITE_BRUSH); - case WM_GETMINMAXINFO: { - MINMAXINFO *mmInfo = (MINMAXINFO*)lParam; - mmInfo->ptMinTrackSize.x = 400; - mmInfo->ptMinTrackSize.y = 200; - break; - } + return (LONG_PTR)GetStockObject(WHITE_BRUSH); default: defaultHandler = true; break; @@ -126,12 +104,12 @@ namespace win wc.cbClsExtra = 0; wc.cbWndExtra = sizeof(Window*); wc.hInstance = hInstance; - wc.hIcon = LoadIcon(nullptr, IDI_APPLICATION); - wc.hCursor = LoadCursor(nullptr, IDC_ARROW); + wc.hIcon = LoadIcon(hInstance, MAKEINTRESOURCE(IDI_ICON_WHITE)); + wc.hCursor = LoadCursor(hInstance, IDC_ARROW); wc.hbrBackground = (HBRUSH)(COLOR_WINDOW + 1); wc.lpszMenuName = nullptr; wc.lpszClassName = className.c_str(); - wc.hIconSm = LoadIcon(nullptr, IDI_APPLICATION); + wc.hIconSm = LoadIcon(hInstance, MAKEINTRESOURCE(IDI_ICON_WHITE)); RegisterClassExA(&wc); lay_init_context(&ctx); @@ -151,15 +129,6 @@ namespace win nullptr); SetWindowLongPtrA(hwnd, 0, (LONG_PTR)this); - - - niData.cbSize = sizeof(niData); - niData.uID = 12345; - niData.uFlags = NIF_ICON | NIF_MESSAGE | NIF_TIP; - niData.hIcon = LoadIconA(hInstance, MAKEINTRESOURCEA(IDI_MY_ICON)); - niData.hWnd = hwnd; - niData.uCallbackMessage = WM_APP+1; - niData.uVersion = NOTIFYICON_VERSION_4; } bool update() { @@ -174,7 +143,9 @@ namespace win void show() { ShowWindow(hwnd, true); - + } + void setDefaultFont() + { EnumChildWindows( hwnd, [](HWND hwnd, LPARAM lParam) -> BOOL { diff --git a/src/ws.h b/src/ws.h index ecc88b3..058f69b 100644 --- a/src/ws.h +++ b/src/ws.h @@ -4,6 +4,7 @@ using json = nlohmann::json; #include +#include namespace ws { @@ -12,10 +13,14 @@ namespace ws bool done = false; + std::function onConnect; + static void cb(struct mg_connection *c, int ev, void *ev_data, void *fn_data) { if (ev == MG_EV_WS_OPEN) { + puts("Open"); } else if (ev == MG_EV_WS_MSG) { struct mg_ws_message *wm = (struct mg_ws_message *) ev_data; + printf("Msg: %.*s\n", (int)wm->data.len, wm->data.ptr); std::string jsonStr(wm->data.ptr, wm->data.len); auto msg = json::parse(jsonStr); int op = msg["op"].get(); @@ -32,16 +37,18 @@ namespace ws } else if (op == 2) { - MessageBoxA(NULL, "hura", "connected", MB_OK); + puts("Connected"); + if (onConnect) + onConnect(); } } if (ev == MG_EV_ERROR) { - MessageBoxA(NULL, "", "Error", MB_OK); + puts("Error"); done = true; } if (ev == MG_EV_CLOSE) { - MessageBoxA(NULL, "", "Close", MB_OK); + puts("Close"); done = true; } } -- 2.50.1