Operating system: Windows 11
wxPython version & source: wxPython 4.1.1, pypip
Python version & source: Python 3.9, downloaded from website
Description of the problem: The documentation for wxWidgets states that if I override GetPopupMenu then the right-click menu on the system tray icon will not get re-created after each use, this does not seem to happen though, when I override GetPopupMenu I do not see a menu popup when right-clicking the system tray icon. The documentation states use GetPopupMenu if you do not want the menu to get recreated (it is called first) and then if that is not present it will try CreatePopupMenu. The CreatePopupMenu function does work however but the menu gets recreated each time I right-click the system tray icon.
Code Example (click to expand)import wx import wx.adv from wx.core import OK, YES_NO # base64 encoded image created with img2py from wx.lib.embeddedimage import PyEmbeddedImage TRAY_TOOLTIP = "ShutMeDown" TRAY_ICON = PyEmbeddedImage( b"iVBORw0KGgoAAAANSUhEUgAAAQAAAAEACAYAAABccqhmAAApbklEQVR42u2dB5QU1baG/44T" b"enJiAlzFAIJgAgETGFCCSFYBUUkiSRRMBAFBBCNBBQQFwQRIVoISryAqoAKKmJDM5By6Zzq+" b"OjWX+7wKClPV51R17W+tXoOzcNfZRddfJ+xgOoJLAiAIwpCYSAAIwriQABCEgSEBIAgDQwJA" b"EAaGBIAgDAwJAEEYGBIAgjAwJAAEYWBIAAjCwJAAEISBIQEgCANDAkAQBoYEgCAMDAkAQRgY" b"EgCCMDAkAARhYEgACMLAkAAQhIEhASAIA0MCQBAGhgSAIAwMCQBBGBgSAIIwMCQABGFgSAAI" b"wsCQAIQSJlP1x2KGKSwM5mgHzAmx1Z/4WJhsVpgdEQhI/+Im6aeJ/V2JgM+PgKuy+s/Sz0Bl" b"FfzFpfAXlVb/LKuQfwevD/L/HKCvTKhAAqBHzOwBt8OcGAdb/YtgrVsbtnoXwnphbVgvyIAl" b"oxYs0kNvCg+rFgQlSA97wO2Br6AYvlPZ8J7Igu9YJjyHjsH7+3G4Dx6Cv6AIgSoP4POJvjPE" b"eUICoHWkB9gUFQnrv9IR1vxK2K9sANtlF8kfS+1UmCQxEEnAH5CEIQeeX36H5+fDqPr2R7h3" b"75eFIlDupNmCxiEB0CDmuBj5AQ9r2Qzh110F29UNYZMEQPHbnBfSQ+89ngn3/p9RJYlB5bZd" b"8Px0SF5SENqCBEALSGtz+Q1/Y1NEtm8Fe4urqh/4EMLDBEESA9f67ajcsQfeY6ekX3pFD8vw" b"kACIwmKW1u0XIaLDLYjs3Br2qxrAHBkhelRc8Dsr4d53EK41W+Bct01aPhyu3mAkuEMCwBnr" b"hRmIuPMWOO69E/YmlxvmoT8b7NTBve8nVCz/FM7Vm+A9fEL0kAwFCQAH2I59WKtmiO5/NyJa" b"3yAfyxF/hR05urbtQvnbS+V9g9NHk0TwIAEIIpb0FDh6d0J0n26wXnohTFaL6CHpgoDPJ88E" b"yheuRPm7q+A7mS16SCELCUAQYDv40UN6w9GrAyyJ8aKHo2t8hcVwLtuA0lkfwPPDL6KHE3KQ" b"AKiIvUkjxD71kLyxZ/S1vdqwSETXZztQMvVNVO3aL3o4IQMJgArYGtdH3IRhiOx4G0w2m+jh" b"hDQBrw+uDZ+jeOLrcH93QPqF6BHpGxIABVjr1UXcM0PkHX2TnR58nrB9AueaLSiZ+BrcP/xK" b"EYc1hASgBpiTE+SpPlvnmyPDRQ/H0ASq3Ch7aylKpsyBLytP9HB0BwnAeWCKCIfjgS6IGz8M" b"1vQU0cMh/oAvrxAlL85D2dzF1TkIxDlBAnCOhN3YBAnTxiLs2saih0L8DVX7f0LRiCmo3Pa1" b"6KHoAhKAf8AcH4PYcUMRPfg+mFl6LaF5Am5pWfD2MhRPmAl/fpHo4WgaEoC/IaLtTUiY/ox8" b"rq8X/KyYR2GJnKPPpsX+wmLpISiGT3oQ/PnSf7Ppsc8nF/n4L4EATI5IeSOTfSy1kmBOiocl" b"JVEuJGKR/sz2PdjvzGF20S6eM57DJ1A0cgqcazaLHopmIQE4A6ZoB+InPSa99XvJYbxahFXx" b"8Z7IhO/oKXh+PSLn4bOUW19uAQKskk9JmbxBpgo2SRSkmZBJ+lhSk2GrVxf2axpWFyO5IAPW" b"OmlytSEtEvB4pdnARyge8wr8xWWih6M5SAD+BDvTT5o/RVrrXyF6KP8DC4Rxf/+znGNfueMb" b"uL89AF9WrvSgl0uvfb+YQZlNMMdEwSzNFOzXNELELc3lrEZ2D80R2jodYfctv/9o+b4R/w8J" b"wGlMJkQP7Y34ySNgjo0WPRoZVlWH5c67NlTn0Puz8uTyXFpGLlUmCUJ1bYOWCLuhKWx1a4se" b"loy/vEIOICqd9o440dQYJABgFXiikTh7IiJZQI/gElueY5lwrd2KimUb5LdVoMKp62g3trdg" b"a3SpHCwV2ak1bBfVETqegPTgO1d+hoKHx8l7JUbH8AJga3gJkpfMgF2atgohEICvuFT6Um6U" b"M9/cu7+vrsAbgrDZgV1aWkXd1xGR3dvCkhgnrMyZ++ffkd9zhFyLwMgYVwCk711k1zZIeut5" b"eaebN2xzitXLK1+wHBUrPkWAreUNhCk6Co5udyBqwL0Ia3aFkE1EtlFaMGwiKj5Yo+tZlhKM" b"KQBWC2KfHIC4ySO5T/n9Tpc0xd+GkmkL4KasNhl708aIGdlXTqYyS0sGngSkGVjxs6+hZMqb" b"gNd4NQoNJwCsVn78K6MQM7Q31+uyt035+2tQ9sZ7cvls4q+woinRg3oi6sEu3OsolM1fhsJH" b"JhmuCpGhBIDt7icufBGOzrdzu6b84H/wMUpfnU/17s4RS500xIzoi+g+Xbkuz1i9gbyeI+Av" b"Ms7moGEEwCy9UVJWz0H4jU24XM8vvUkqlqyTC1h4fzsq2n1dYr2ojpx1ycqq8VoaVO3+Hjl3" b"DYQ/t0C0+1wwhACw0NaUtfMQ1pRDIo+0pnRt+RLF42ag6ut9ol0PCezXXI7450cios1NXE4N" b"WMBVTvsBcsejUCfkBYD1yau17m3Yr7ws6NfyHD2F4jGvyrv60HjAju6wWhHZ5XbET3kctksu" b"CPrlWK+CnHb94T1yUrTnQSWkBYD1zqu1cSHsDS4O6nXYkR47zisaNx3+vELRboc0rKR63MRH" b"ET2wR9CrMHl+P4bs1n3gOxq6IhCyAmBJTap++IMc4MPeFAVDn0Xl1q+pLBUvpFVAeKvmSHh9" b"POyN6gX1UixgKOf2PiFbmjwkBYC1za61YUHQi3ewLLOip16kppeCYIlIcdKSgNVqMJmDtzfg" b"PvCrJAIPwpedL9pl1Qk5AWBHfWzDL/zGpkG7Bku5LRg6UY4pp6QSwZhMiOx4KxLmPAdrWnLQ" b"LlO196AsAv6CYtEeq0pICQAL8mFx/SzpJChIU/zKnd8iv/cT1d1tCc3AujAlLXoZEbddF7ST" b"AtemncjtPBgBp0u0u6oROgJgsSBhxljEDLs/KOYDXi/KZn+AolGvGC5aTC+wZKO450Yg5rE+" b"QcstKFuwHAWDxoVMa/OQEQAWMBL/4lNBsc3KZxUOmyhn6xHax9HrLiTOmSTvEQQDVlOA5Q+E" b"AiEhAJHd2iJ56QyYLOo33/Tl5CPv3kdR+flu0W4S5wHLMExeMQvW2qnqG5eWgnkPPImK99eI" b"dlMxuhcAls+f9sVSuXqv2rCknZxOg+D99YhoN4kaYK1bGymrZsN+ZQPVbftLy5Hdqpfu6wno" b"WgDYjn/qzqWwX36p6rar9nyP3I6D4MumbjN6hlUzTvnoNYTf3Fx1255Dx5DVoruuTwb0KwAm" b"E5LefwVRvTqqbrpy+x7kdhtKNeVDBHNcDJIXT0dE25aq23Z+slX+ruh1U1C3AhD9yP1InDlO" b"9SMf56fbkd9rBAX3hBimmCgkv/eKXHREbYrGvCpnfeoRXQoAS+xJ3b5Y9V1e18YdyL17OAKl" b"xirPZRRMUZFIeu9VODqrGyfir3DJQUJVX+0V7eL53xO9CQBT8tQt7yGsaSNV7bJd/twug+nN" b"H+Kwpi/Jy15HJEstVhH3wUPIvqmH7ioN604A4qeNQexjfVSd+ldKyp3b8WFa8xsEVmWInQ6E" b"t2qmqt2ytz5CwcCxot07L3QlABF33oyUlbNgsqvXrsvz0+/IvvV+2u03GOx0IPWzd2C/uqFq" b"NgNeH/J6PArnis9Eu3fO6EYAzAlxSPtqGWz1LlTNJnvos1r1gvfXo6LdIwRguSADaTsWy70N" b"1cJ79CQym3eDP1cfdSH0IQAmNvUfWz31VwkW3ptz50Oo2rFHtHeEQFhJ8tRNC+WjQrUom7sE" b"BYPH66I+hC4EIOz6a5C6eRFMKjWcDPh80lrtGbmKD0GwLkXJH0xTrcIQ69/ICotWbvxCtGv/" b"iOYFwBQZgdTtHyKsiXq7/qWvv4vC4c+Jdo3QEHHPj0TcmMGq2WNFRLKuuxuBcqdo1/4WzQtA" b"9KBeSJj9LEwq7fqzKL+ctn0RcIVm/z2ihkhv/1ofz62uPKwShY9PRem0BaI9+1s0LQCsln/6" b"92thTU9RxZ4vrxCZTTrBdyI067sRymDl49O+WaVaBqGvoBiZjdvDl6XdEyZNC0D8y08j9okB" b"6hgLBOQoPycr2U0QZyGi7U1IWfuWaqnlZXMXo2DQeNFunRXNCoC1Xl1k7PsEpogwVeyVzluC" b"QlbJRZPeEloiYfpYuaqQGrCS8VnXdoF7/8+i3TojmhUAlr3l6NFBFVssr19O2ywpE+0WoQNM" b"UQ6kfbFYtToCzlUbkdt1qGi3zuyrFgXA1qge0r9bo0pdNxadxTq8VG7eKdotPphMiBs/DCaV" b"e+l5fvwN5YtWivaOG/LR89b35DqDSmHHzlnX3wP37u9Fu/UXNCkAySvegKNrG1Vslc35EAVD" b"Jxhn6m82o07mTnlDS02cqzZV573rILhFLeJfHY3Ykf1UseXasB057fuLdukvaE4A7NdegbSd" b"S1V5+3sOn0BWs27wFxgoyYcJwKmdcmckNTGiALDowLSvl8NWv65iW2wWkH3bA6jSWG1JzQlA" b"ysrZchNIpQT8fuTfN1Ju0W0oSABUJeKuW5Gyag5MFrNiW84NnyO3vUqnWiqhKQGwXX4p0r9Z" b"JTf4UApr0c1aPBuuSy8JgLpYLHLqcKQkBEoJVLnl6ED33oOivfovmhKAhDcmIGZob8V2WOOO" b"7JvvQ5UGN12CDgmA6tiuqC8tSz+COUr5xqrcWKT/aNEu/RfNCABr7ZT+wzpYEuIU22JNOwse" b"0ldhBtUgAQgKCTPHIWb4A4rtsKPozKvugveoNlrLaUYAYscORvzkkYrtsBuc1awrPEbN8ScB" b"CAqWOmlI37sGlsR4xbaKn5uF4vEzRLskowkBYGetLObfVk/5bmvp6++hcPgk0S6JgwQgaMS/" b"PAqxTyg/yvMcPo7Mxnci4BTfY1ITAhDRrhVSPpmneKeVFWQ8dU0n+IzcuZcEIGjIy9T9a2FJ" b"UjYLYCdUed2Gwbl6k2iXtCEAycteg6N7O8V2Sma8g6IRU0S7IxYSgKCiVt0A5/rPkXun+CNB" b"4QLA+rexsF+lJZn8Thcyr+5EffxIAIKK9V/pSD+wHuZohyI7/vIKOUiNFaUViXABYFlXLPtK" b"KRVL1yGvx2MiXdEGJABBJ3H+VET3667YjhY6CokVAItFLvcVfv01isywlMvsm3qiatc+Ya5o" b"BhKAoGO/qiHSdi1XXEOQNaDNuqEH4BEXrCZUAOTIvz0rFRf7rPp6nxxhRYAEgBO1Ni1CROvr" b"FdmQIwNbdBfaYlyoAMQ+NRDxLz6p2E7+gDEon79MlBvaggSAC4572iN56UzFdoomzETJpDeE" b"+SFOAKzS9P9z5dN/X2EJTta9mRp6noYEgAts1lr7yDbFadfyMuDGHsJyVoQJgPXSC5Hx/VrF" b"iT9l85ag4OFxIlzQJiQA3FCjdBjrIZB5ZQe5apUIhAlAVN9uSFrwgmI7WS17omrHNyJc0CYk" b"ANxgfQXTv12tuFFtweAJKHvzQyE+CBMA1qLZ0b2tIhveIydxqkEbeTOF+A8kAPywWZGxfy1s" b"DS5WZMb58Rbkdh4s5N4KEQAW9CPX+1fYlLF0xjsoNHrk358hAeBK/ItPIfaphxTZYP0qTjVs" b"K6Q9vRABCLvuarnsl9KpE+vCqsVCi0IhAeCKvcnlSP9mtWI7rFxY5davuI9fiADEjh2C+Mkj" b"FNnwHDuFzMvbI1Ch7d5r3CEB4Ao7DUjf97HiTNbi5+eg+Jlp/MfPXQCkt75cYqlTa0Vmyt9f" b"g/z7n+A6dF1AAsCdxHmTEf3QvYpsuDbuQE67AYDfz3Xs3AXAFO1Axg/rYL0gQ5GdvF4jUbH4" b"E55D1wckANyJ7Hy7/FJTgrwPUP92+ItKuY6duwDYGl6CjAPrFa3/WWffk/VbU5PPM0ECwB1L" b"ajIyft0Ic3SUIjsi9rS4C0BUv7uRNF/Zzj2LnmLJP3T8dwZIAPjDkto2L0L4zc0VmWEnWuxk" b"iyfcBSBh1rOIGXKfIhtlby1FwcBneA5bP5AACCF++ljEKowKLHtnBQr6jeI6br4CICllrc8W" b"IOI2ZVlUeb1GSOv/tdyGrStIAIQQ2bm13EBECZVf7UV2y56A18dt3FwFgB2ZZPy2CdaM1Brb" b"CHi9ONWwHby/HeU1bH1BAiAEVtkq46fPFDUT9RUU4+SFrRAo53e0zVUAWDmljCPbYDLXvPin" b"5/fjyGrSmVp9nw0SACGYHBFI270S9oaXKLJz8rI74P2FX1k7rgIQ0a4laq2fr8iGa+tXyGn9" b"IH0RzwYJgDBS1r2FyPY3K7KRy6oFr/yM25i5CkD00N5IfGOCIhulsz9A4dBneQ1Zf5AACEON" b"vIDCx6eidNoCbmPmKgAJ08cg5rG+imzkPzQW5W9/xGvI+oMEQBiOHh2QvHi6IhssLZilB/OC" b"nwCYTEhe/jocXdsoMkP5//8ACYAwWGJQ2p5V0le95kFuzvX/Rm6HgdzuMz8BkL6YabtXIKxJ" b"oxqb8FdWydVTvEbt+3cukAAIg4W3p+//BObY6BrbcB/4VW4eCh+fnAB+AmC3oc6xz+WwyZri" b"PZmNzGs6wZ9XyGXIuoQEQBiszkXat6thu6hOjW3IR4G1b0RAetnxgJsAmCRV/Ffebphs1hrb" b"cO89KMdLw+PlcnN0CQmAOCzSLPfLZQhrdkWNTQR8PpxIaQF/YTGXIXMTANZeuc7x7YpsuDZ+" b"gZw2yjYRQx4SAKGkrJ2HyDtvUWTj5CW3wfv7cS7j5SYAtsb15SrASqD2X+cACYBQEhe8gOi+" b"3RTZyGzWFe49P3AZLzcBCLvpWqRtV1b5tPT1d1E4/DkuN0a3kAAIJf6VUYh9vL8iG9lt+qFy" b"4w4u4+UmAKwCUMpqZckSReNmoGTyLC43RreQAAgldtTDiJ+qrFJVXs/HULFkHZfxchMAR88O" b"SP5QWZBE/qDxKJ+7mMuN0S0kAEKJ6n83kt5WVu8iv8/TKF+0kst4+QnA/Z2R/O7Lym5MX+nG" b"LORzY3QLCYBQIu9ph5SlrymykT9wLMrf4hPtyk0Aovp1R9L8qYps8Jwa6RYSAKFEdGyNWmuU" b"LXULhj6LstkfcBkvPwF4uCeS3pykyEZulyFwrt7E5cboFhIAoUS0a4Va699WZKNg5BSUTedT" b"GoybAKiRCZjT4SG41v2bx3D1CwmAUMJb34DUTQsV2Sh6+mWUvDSPy3j5CcDwB5E4U1kdv5wO" b"AyUB2MblxugWEgChhN/SAqlb31Nko+jplyQBeIvLePktAQZJS4A5CpcA0hfQuXIjlxujW0gA" b"hBLR5ibU+lRZPn/BiOdRNmMhl/HqaxOQioH+MyQAQonocAtqfaJs+l4wbCLKZr3PZbz8jgEf" b"6ILkRS8pspH34FOoeHcVlxujW0gAhBLZtQ1SVryhyEb+oHEon7uEy3h1FQjE83hEt5AACMXR" b"uyOS33tVkY38/qNRvmA5l/HyCwXuJinjcmXKWDRhJkomKbMR8pAACCXm0QeRMEPZZndeT2mp" b"u4TPUpebAITf2gKpW5TtjlIy0DlAAiCUuOdHIm7MYEU2ctr3h2uDstT5c4VfOvCVlyFjn7Ju" b"vuUffoL8+0ZyuTG6hQRAKGq0Cs+87m64v97HZbzcBIA1Bal97HNFNlyf7UBO235cboxuIQEQ" b"SvKqOXB0bq3IxqmGbeH56Xcu4+VYEizqPyXBbDW2UfXdj8hq0Z1Kgv0dJADiMJmQ+sUShF9/" b"Tc1tSPf3RPr18GXn8xkyt6KgYXbUObYdllqJNTbhPZ5ZXRS0gE+9NF1CAiAMc0xUdVHQSy6o" b"sQ1/aTlOpF2HgLOSy5j5CYDFjPRvVsN+VYOa35wKV3VZcE710nQJCYAwrBekI33/WkVlwT0/" b"/45TjdqHYFlw1hhk1Ww4OtV8fRSQvnzZ19+DKk4bJLqEBEAY9iaNkLZnpaLGIK5NO5HTtq/0" b"tgu1xiBgrcHGIuaxPops5PcdhfKFK3gNWX+QAAgj8u52SPlIWTGQsgXLUdB/NLcx820OOuQ+" b"JM56VpGN0tfeReGjFAtwVkgAhKFGDEDRmFdRMvVNbmPm2x68fSvUWqesWII8RWrTR/oi8hq1" b"ziABEEbKx3MRedetimzk9ngMzqX8ql5xFQBr3drIOLQVJnPN10ie344is2kXBErLeQ1bX5AA" b"CMEUGY60XStgb1RPkZ1Tl7eD5+AhfuPmKQCmyAjU/n2Lov6AAY9XvkleSQiIM0ACIATW+Srj" b"4KcwR0XW2Ia/uBQn/tUSgbIKbuPmKgCwWFBr00JE3NJCkZnce4fD+dEGbsPWFSQAQlCjFmDV" b"7v3IurEH10A3vgIgkThnEqIH9VRko3TW+ygcNpHnsPUDCYAQ4l96GrFPDlBko/zd1ch/8Emu" b"4+YuANGDeyFxtrKHt/KLb5F9a28KCT4TJAD8YTPbje8g4tbrFJkpfHwqSqcpKyd2vnAXABYJ" b"mL73Y0U2/OVOnKp/B3yZOTyHrg9IALhjTk5Axs8bYUmIVWQns0V3uHft5zp27gLAwiTTD34K" b"a3qKIju59wyHcxntA/wFEgDuhLdtidQN8xXZ8BUU4VS9O+Av5Jvnwl0AYDZVn5cq7KFe/s4K" b"5PcbxXXouoAEgDsJr49HzLD7FdlwbfkKOW36Skrg4zp2/gIgETt+GOInPqrIhufQMTkxiFfW" b"lG4gAeCKKTxMjv9Xev5f8up8FD3xAv/xixCAsJbXIu3zDxXbyWzWFe49P/AevrYhAeCK7bKL" b"kP7jBpik+66E7Hb9UfkpnzJgf0SIAJgT45BxYIPiL6ko1dQ0JABcUWM26yssQWaDNvDlFnAf" b"vxABkFODV86Co/PtisywZQCLCoTbw90FzUICwA+rRZr+r0KYghoXDLnUXfv+3FKA/4gYAZCI" b"GtgDSXOVZ/VlNusmLQO+F+GCNiEB4IatcX2k7/tEUW4LQ8T5/2mECYC1fl1k7F8LU5hdkR0q" b"Ff4nSAC4ETf1ccSNGqTIRsDrQ1bTznDv/1mID8IEAHYb0nYuRVjTxorMsHXTybo302nAaUgA" b"uMBeXBmHtsBaO1WRHfe+n5B13d0IVFaJ8UOYAECdDRQGz04qmocEgAuRnVsjZdUcxXZY8Q9W" b"BEQUQgWANQtJ/3q5fJaqBNeWL5HT+kFRbmgLEgAupKx/G5HtWimywVLbs264V+gellABgM2K" b"tC+WIKzZlYrMBNweZDXvLk2nDgpzRTOQAAQd+eyfbf4p3L9y75em/y3ETf8ZYgVAIvaJAYh/" b"+WnFdsoXrkR+X+V2dA8JQNBJmDUBMUN6K7ZTPHkWisfNEOqLcAGw1a8rn6Waox2K7PjLK5B5" b"RQd4j5wU6Y54SACCiiU9pbryj4La/wy/0yW//T0//CLUH+ECwFCjmCKj5JW3UfTki6LdEQsJ" b"QFCJe/YRxE0YrtiOnPzT+gHR7mhDACI7tZYjA5XGU8shlVfdBd+JLNEuiYMEIGjIef8/rIOl" b"lrJ7yxrcsC7XFYvFn1xpQgBMEeFIl26s7eJ/KbZl+PwAEoCgETfxUcSNH6bYjvdUNk5d3h6B" b"kjLRLmlDABhxkx5D3Lihiu2wwgqsgajvuEFnASQAQYGt/dnOv0WaBSilZNoCFD0+VbRLMpoR" b"AOuFtaUb/LHizRVG6RvvofCRSaJdEgMJQFCIm/I44kYrC/tlsHJ2mU06w/vrEdEuyWhGABiJ" b"86ciul93xXbYTWYBFp7vxcRXC4UEQHXkk6qvl8McF6PYVrm07s/vNUK0S/9FUwJgv7oh0r5a" b"pjjAguH8ZCtyuw6RFlx8SywJhwRAXcwmJC+eAcc97RWbCng8yG7ZS1PdrTUlAAw1QiwZAZ8f" b"uV0GwyUJgaEgAVCV8DtulPtZmqwWxbZcW/9z9KehW6g5AQi7uTlSNy+CyaL8hnt+PoysFt3h" b"18BuKzdIAFTDFO1A6vbFigt+MAI+H3Ju74PKbV+Ldut/fdSaADBqrZ+PiHYtVbFluGNBJgCZ" b"OxWfVf8ZIwpA3OQRiBs7RBVb8tv/NvGBP39GkwIQ1uIqpH6xVJoFKAsMYrBEi+xbemtq3RVU" b"TCb5rNrkqHmTyjPh+fE3lC9aKdo7btibNELq5x/C7IhQbCvgD0jfwftQtX2PaLf+giYFgJGy" b"cjYiuyirGXga996DyGrZE4Fyp2i3CB3AAtNSt74nv4jUwLX5S2n6r810dc0KgP2qhkjbvQIm" b"m1UVeyXT30HRyCmi3SJ0gFpBaQxW8itbevlUfbVXtFtnRLMCwEh863lED7hHFVvsHyK340C4" b"NvCvvU7oB9azInXTQpjsyo+iGeUffIz83o+LduusaFoALGkpSD+wDpaEOFXseU9mI6tpF/hy" b"8kW7RmgQc3ys3OVHjZwUhr+0HJlXdYT3yAnRrp0VTQsAI+bx/kh4Rb0egK5PdyBHmglQa3Hi" b"fzCbkbx0Jhzd26pmsnjSGyieMFO0Z3+L5gXAFBWJtC+Xwd5YWe+1P1I8eTaKx00X7RqhIWJH" b"D0L8FPWm6qxpTda1XeEvLhXt2t+ieQFgRLS5CSmfzIXJZlPFHqshmHfvo3Cu3iTaNUIDRNx5" b"M1KWv6G4OO1pAn4/crsOhWvNZtGu/SO6EAB2tp345iRED+yhmkl/UQmyb3tAPiIkjAsr8Mmi" b"/dRI8z2NvPF3/xO6CJrShwBImFMSkL5rhZw2rBbe45lyfIDvWKZo9wgBsBz/1G3vw1avrmo2" b"vVm5yGrWDb6T2aLdOyd0IwCMyG5tkLxkpiqJGaep+u5H5LTpC39+kWj3CI6YYqNRa+08hN/Y" b"VDWbrNRXQd9RuoqY1JUAMNSMDTgNS9Bgazatb9gQ6mByRCD5/VcRqbA79Z8p//A/U38BXX5r" b"fC/0JgDmhFik7lgCe8NLVLXrXPdv5PV4lMKFQxwW5pv0zgtw3HunqnY9h09UZ57mFYp28fzu" b"h94EgBF23dWotWmRKokaf6Ri2Qbk93kaAadLtItEEGCFZtgMMur+zqraDVS5kdPxYVRu/EK0" b"i+d/T/QoAAy1z21PI4tAv1E0Ewgx2Js/cc4kRD3YRXXbJS/OQ9Gol0W7WCN0KwCsr6CcMdjh" b"FtVNOz/ejLzeTyBQViHaS0IFWDCZPO3v3k5126wxbW6HgUL7+ylBvwIgYU6Kl4s1qhW7/Udc" b"n25H3n0j4S8sEe0moQBWZTqJbfgF4UXhPZGFrObd4MvKE+1mjdG1ADDsTRvJZ7nmKGW9Bc9E" b"1a79yL17GHwn9HGmS/wvLJks+aOZqh71ncbvqpSPj6t2fCPaTUXoXgAYUX27I2lBcBotsN3d" b"vK5D4N5vwBLjOoZF+KWsngNb/YuCYr9g2ESUzXpftJuKCQkBYKHC8c+PlDcGgwELG87vN5py" b"B3RCeJubkPzeK6qG9/4RubPPky/o6rz/bISGADBsViS9PQVRD6i/y8sIuN0omTpX7uluuF4D" b"esFsRuxTDyFu/CMwRaiT2PNn5FOi+5+Qj/5CgdARAOaMIxIpH7+JiFuvC84FAgE4125Dfv/R" b"ugv4CHVYMY/EeZPlcHGTNCMMBpVf75PX/YHSctHuqkZICQDDnBiP1C3vwn7lZUG7hvdYJvIH" b"jEbllq90kfEV6oTd2ARJC16A7dILg3YN98FDyLntfviyQ6uaVMgJAIPt/tbavEj1cOE/EvB4" b"UTr9HRRPeh2BCoocFAEL7okd/bA07R+oSju5s+H59QiyWz8I34nQ6zgdkgLAsPwrXe4wFMy3" b"AoNlExYMmQD3rv2iXTYUrI9k4uyJqpXuPhveo6eQfUcfeH87KtrloBCyAsCwXnIBUjctgvXC" b"jKBeh50Jl732Loqfn03Rg0GGRfXFPPUQYkf0gzlK3eYnf8aXmYvstv3g+eEX0W4HjZAWAIa1" b"Xl3U2jAftovqBP1a7gO/ofDJF6qTQvx+0a6HHOG3XoeEaWOCur9zGlZBOqf9gJB++BkhLwAM" b"ywUZsgjYG1wc9GsFvF64Pt6KonHT4Tl4SLTrIQGr2BM3cTgiu7aBya5OXci/w3v0pPzm9/5y" b"RLTrQccQAsCQNwaZCHB4ezBYTfiyeUtQOmMhfKdyRLuvS1iH4+hHHkDMkPtgjovhck1WzTeH" b"rfmPnBTtPhcMIwAMljyUsux1hN/cnNs1fXmF1ULw2rvw5xaIvgW6wJycgOjBvRAjfSypydyu" b"yxrIsg7IbO1vFAwlALLDjggkzn0OUfd14npd1o2obO4SlL29lJKLzgJ72KMG3INo6Y1vTeP3" b"4DMqlm9Afv8xIRXkcy4YTgBkbDbEPTsccWOCkzvwd/hLylDx0XqUzlwkt9wmpH+OBhcjelhv" b"OHreBUt8LPfrs8axxaNfCZnw3vPBmAIge25CVP+7kTBjLMyO4B4nnQn2ZWPFSNnygLUrC7gq" b"Rd8RrrDAnfDbb0T0wHsQIf1UqynH+eCvcKHo6ZdQNudDw57aGFcA/kNY8yuR9OF0LseEZyQQ" b"gFdac1a8vwbli9fCc/C30O1baLXIO/oOafkV1bsjrHXSZCEWAesJkddrJKp2fiv6rgjF8ALA" b"MKckInnhi4ho21LYF/I07u9/hnPNZlQsXQ/v78d1W2rqNOzNbr24DiK7t0Nkx9vkCL5gJeuc" b"E5LgVm7bhbzej8OXZZzNvrNBAnAati8wdrCcTspizEUT8Afg+ekQKrfvgWvtVlR98wP8BSWA" b"T+OpyGYzzIlxsDdpJJfhCr+pKWyN6sEk/V40TEyr8zfe0L2wqgUJwJ8Ib9UMiXMnw1ZfvXZR" b"auArKoFn30+o2vMDKv+9C+4Dv8rdjETvHbC8e3NyIuyXX4ow6WEPu7ax9Ja/HBZJBLSE9/AJ" b"5D/8DCo3fyl6KJqCBOAMsHiBhFdGwdG7E0wW9dqQqYm/wiktEU7Ae+yktGz4BW5JHNiSwVdQ" b"BH9xGQJl5dIrT6WLSVN2U7RDLrDJ8u5ZEVb7NQ1ha1wftgtrw3rpBTBHqtujQS1Yp16ntJwq" b"eGwyxWGcARKAv8HR6y7Ev/gUrLVTRQ/lnGC96Vh7MzYz8Elfdvbx50g/8wvhYz9z8+VqRnL6" b"Mvu70jTYZLVW91q02+SdeZP0IFtSEuS6ChZJCFlZLXOtJPnPbGrPRECrovhn2OYqO94rf3+N" b"YXf5/wkSgH+AhaPGTXkCUfd3kh8WQvuwt37FknUoeupFCsP+B0gAzgVpCsxOCFgmGqs2S2gX" b"FsvPHnznmi301j8HSADOA3NMFKKHP4CYkf2ERKwRZ4clX5XMXIiy6e/AX0Rdns8VEoAaYKmT" b"hrjxwxDVpystCwTD9j2cS6Xp/thp8k4/cX6QANQUaVnAzrrjJj4qLQ9u0sQ5t5FgcRKVW79E" b"8bOvo+qrvTTdryEkAEoxAWEtrkbchEcQ3vp63eyQ6xW2wVe18zsUj5+Bys93U1VmhZAAqAgL" b"IoodO1j62ZxL5RojEfB4UPXlXpS8NA+u9Z+LHk7IQAIQBOzXXoGY4Q8gstNtMEdHiR6OrvGX" b"O+Fat00uqFL15XeihxNykAAEEVaVOPqhe+Ho2aE6mEhwopGeYK23Wd2Esrc+gveXw6KHE7KQ" b"AHDAFBMlxxFED7gHYddfA7NDm2GzomF5Daz9VvlbS+VpPiueQgQXEgDOsMw4x93tECEtD+wN" b"LjH8XkHA7YH7p0NwfbIVzhWfyTkNBD9IAARhCrdLYlAfkV3vkGcH9sb1DBNTwEqne348BOen" b"2+Fc/ik8B35BoNJ45bi0AAmABpCLZlx6ASJa34CI22+AvdkVsCTGix6WqrB0Zvfu7+H6bAdc" b"m3fC+9sxysnXACQAWsNsgjkpQa6cI4vBVQ1gv7KBnI2nJ+QHXprOu789ANfWr+HZe1DOTqSA" b"HW1BAqB1LBY5B4G1OAu/4RpZGGz1L4KN5eBzapbxT7DNOo/0Rvf8ehju/T/Lx3Wenw5Lvy+V" b"048J7UICoEdsVrlsGTtatDeuLy8fWJEOlqPAfmdJr1XdOFOlY0cWdsuanvqyc+XjOe/xLLlb" b"Lmuhxfoh+o5nyg1SQ7aYaQhDAhBKSMsHmMzyBqNcvUeaIZjjY6p/Sh9TdFS1JlitMP+p7qH8" b"AHu98mZcwO2Wqwr5C4vlzDpWZYgVEZHr5rMpPIXfhgwkAARhYEgACMLAkAAQhIEhASAIA0MC" b"QBAGhgSAIAwMCQBBGBgSAIIwMCQABGFgSAAIwsCQABCEgSEBIAgDQwJAEAaGBIAgDAwJAEEY" b"GBIAgjAwJAAEYWBIAAjCwJAAEISBIQEgCANDAkAQBoYEgCAMDAkAQRgYEgCCMDAkAARhYEgA" b"CMLA/B+R1aIPJ+78tQAAAABJRU5ErkJggg==" ) class TaskBarIcon(wx.adv.TaskBarIcon): def __init__(self, frame): self.frame = frame super(TaskBarIcon, self).__init__() self.SetIcon(TRAY_ICON.GetIcon(), "ShutMeDown") self.Bind(wx.adv.EVT_TASKBAR_LEFT_DOWN, self.on_exit) def on_exit(self, event): self.frame.Close() self.Destroy() def allow_sleep(self, event): menu.Check(1, True) wx.MessageBox( "Windows will now be able to sleep", "Info", style=OK | wx.ICON_INFORMATION, ) def deny_sleep(self, event): menu.Check(2, True) wx.MessageBox( "Windows will not be able to sleep", "Info", style=OK | wx.ICON_INFORMATION, ) def GetPopupMenu(self): return menu class App(wx.App): def OnInit(self): frame = wx.Frame(None) self.SetTopWindow(frame) Taskbar = TaskBarIcon(frame) global menu menu = wx.Menu() create_menu_item(menu, "Allow Sleep", Taskbar.allow_sleep, 1) create_menu_item(menu, "Deny Sleep", Taskbar.deny_sleep, 2) menu.AppendSeparator() create_menu_item(menu, "Exit", Taskbar.on_exit, 3) return True def create_menu_item(menu, label, func, itemid): item = wx.MenuItem(menu, itemid, label, kind=wx.ITEM_CHECK) menu.Bind(wx.EVT_MENU, func, id=item.GetId()) menu.Append(item) return item def main(): app = App(False) app.MainLoop() if __name__ == "__main__": main()