diff --git a/icon.png b/icon.png new file mode 100644 index 0000000..7d07839 Binary files /dev/null and b/icon.png differ diff --git a/tray-icon-working.py b/tray-icon-working.py new file mode 100644 index 0000000..9a213e1 --- /dev/null +++ b/tray-icon-working.py @@ -0,0 +1,55 @@ +import wx.adv +import wx +TRAY_TOOLTIP = 'Name' +TRAY_ICON = 'icon.png' + + +def create_menu_item(menu, label, func): + item = wx.MenuItem(menu, -1, label) + menu.Bind(wx.EVT_MENU, func, id=item.GetId()) + menu.Append(item) + return item + + +class TaskBarIcon(wx.adv.TaskBarIcon): + def __init__(self, frame): + self.frame = frame + super(TaskBarIcon, self).__init__() + self.set_icon(TRAY_ICON) + self.Bind(wx.adv.EVT_TASKBAR_LEFT_DOWN, self.on_left_down) + + def CreatePopupMenu(self): + menu = wx.Menu() + create_menu_item(menu, 'Site', self.on_hello) + menu.AppendSeparator() + create_menu_item(menu, 'Exit', self.on_exit) + return menu + + def set_icon(self, path): + icon = wx.Icon(path) + self.SetIcon(icon, TRAY_TOOLTIP) + + def on_left_down(self, event): + print ('Tray icon was left-clicked.') + + def on_hello(self, event): + print ('Hello, world!') + + def on_exit(self, event): + wx.CallAfter(self.Destroy) + self.frame.Close() + +class App(wx.App): + def OnInit(self): + frame=wx.Frame(None) + self.SetTopWindow(frame) + TaskBarIcon(frame) + return True + +def main(): + app = App(False) + app.MainLoop() + + +if __name__ == '__main__': + main() \ No newline at end of file