rendered paste bodyclass TaskBarIcon(wx.TaskBarIcon): def __init__(self, IconFilePath, ToolTip, Frame): wx.TaskBarIcon.__init__(self) def CreateChildren(): self.IDMoveRight = wx.NewId() self.IDMoveLeft = wx.NewId() self.IDExit = wx.NewId() self.Icon = wx.EmptyIcon() self.Frame = Frame self.Menu = wx.Menu() def Configure(self): def LoadBitmap(): image = wx.Image(IconFilePath, wx.BITMAP_TYPE_ANY) image.SetMaskColour(255, 0, 255) return wx.BitmapFromImage(image) self.Icon.CopyFromBitmap(LoadBitmap()) self.SetIcon(self.Icon, ToolTip) self.Menu.Append(self.IDMoveRight, "Move Desktop Right") self.Menu.Append(self.IDMoveLeft, "Move Desktop Left") self.Menu.AppendSeparator() self.Menu.Append(self.IDExit, "Exit") def BindEvents(): def LeftDoubleClickEvent(self, Event): if self.Frame.IsIconized(): self.Frame.Iconize(False) if not self.Frame.IsShown(): self.Frame.Show(True) self.Frame.Raise() self.Bind(wx.EVT_TASKBAR_LEFT_DCLICK, LeftDoubleClickEvent) self.Bind(wx.EVT_TASKBAR_RIGHT_UP, lambda self, Event: self.PopupMenu(self.Menu)) self.Bind(wx.EVT_MENU, self.Frame.OnExitEvent, id=self.IDExit) self.Bind(wx.EVT_MENU, self.Frame.MoveUserRightClickEvent, id=self.IDMoveRight) self.Bind(wx.EVT_MENU, self.Frame.MoveUserLeftClickEvent, id=self.IDMoveLeft) CreateChildren() Configure(self) BindEvents()class PreferencesWindow(wx.Frame): def __init__(self): wx.Frame.__init__(self, None, -1, "DesktopManager", (100,100), (400,400), style=wx.CLOSE_BOX | wx.SYSTEM_MENU | wx.CAPTION | wx.FRAME_TOOL_WINDOW) #Event ID's MoveUserRight = 1 MoveUserLeft = 2 MoveWindowRight = 3 MoveWindowLeft = 4 DebugWindow = 5 def CreateChildren(): self.Icon = TaskBarIcon("Resources/icon.bmp", "Desktop Manager", self) def Configure(): def RegisterHotKeys(): self.RegisterHotKey(MoveUserRight, win32con.MOD_WIN | win32con.MOD_ALT, win32con.VK_RIGHT) self.RegisterHotKey(MoveUserLeft, win32con.MOD_WIN | win32con.MOD_ALT, win32con.VK_LEFT) self.RegisterHotKey(MoveWindowRight, win32con.MOD_WIN | win32con.MOD_CONTROL, win32con.VK_RIGHT) self.RegisterHotKey(MoveWindowLeft, win32con.MOD_WIN | win32con.MOD_CONTROL, win32con.VK_LEFT) self.RegisterHotKey(DebugWindow, 0, win32con.VK_F9) vdesk.InitDesktops(4) RegisterHotKeys() def BindEvents(): def BindHotKey(Functor, ID): self.Bind(wx.EVT_HOTKEY, Functor, id=ID) def DiagnosticEvent(self, Event): HTWindow = HashTagWindow() HTWindow.Show() HTWindow.Raise() BindHotKey(self.MoveUserRightClickEvent, MoveUserRight) BindHotKey(self.MoveUserLeftClickEvent, MoveUserLeft) BindHotKey(self.MoveWindowRightClickEvent, MoveWindowRight) BindHotKey(self.MoveWindowLeftClickEvent, MoveWindowLeft) BindHotKey(DiagnosticEvent, DebugWindow) self.Bind(wx.EVT_CLOSE, lambda self, Event: self.Hide()) CreateChildren() Configure() BindEvents() def OnExitEvent(self, Event): import sys self.Icon.RemoveIcon() sys.exit(1) def MoveUserRightClickEvent(self, Event): vdesk.MoveUser(vdesk.Move.Right) def MoveUserLeftClickEvent(self, Event): vdesk.MoveUser(vdesk.Move.Left) def MoveWindowRightClickEvent(self, Event): vdesk.MoveWindow(vdesk.Move.Right) def MoveWindowLeftClickEvent(self, Event): vdesk.MoveWindow(vdesk.Move.Left) def DiagnosticEvent(self, Event): htwindow = HashTagWindow() htwindow.Show() htwindow.Raise()