Swatto
December 31, 2021, 12:35pm
1
Good Afternoon and Happy New Year!
I have a little utility I wrote for myself, it runs in the system tray on Windows but when I right-click the popup menu the icon I think it is getting recreated each time as I am trying to check the item on the menu when it is clicked but it is not working, here is the full application:
I read something in the documentation about overriding GetPopupMenu() but I am not sure how to do that. I just want the menu created once so I can act on the items inside the menu when I want to.
Thanks very much, I hope that makes sense.
Swatto
December 31, 2021, 10:17pm
2
This paste is a little easier to read, the TaskbarIcon works but the menu gets re-created each time I right-click on the icon, I do not want this to happen but I am unsure as how to stop it:
Swatto
December 31, 2021, 11:46pm
3
Looking at the C++ documentation for wxWidgets it states I have to override the GetPopupMenu function instead of the CreatePopupMenu function to ensure the menu that gets created is not destroyed.
opened 12:48PM - 01 Jan 22 UTC
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:...
When I do this the popup menu does not show on right-click:
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()