From f40412c645d45897cce0647530e89528d73b541b Mon Sep 17 00:00:00 2001 From: themixray <35273590+themixray@users.noreply.github.com> Date: Mon, 8 Nov 2021 13:51:45 +0300 Subject: [PATCH] Add files via upload --- build/lib/pygwin/__init__.py | 22 +-------------- build/lib/pygwin/_win.py | 6 ++-- build/lib/pygwin/tray.py | 53 +++++++++++++++++++++++++++++++++++ dist/pygwin-0.1.0-py3.7.egg | Bin 289179 -> 291089 bytes pygwin.egg-info/SOURCES.txt | 2 +- pygwin/__init__.py | 22 +-------------- pygwin/_win.py | 6 ++-- pygwin/tray.py | 53 +++++++++++++++++++++++++++++++++++ 8 files changed, 115 insertions(+), 49 deletions(-) create mode 100644 build/lib/pygwin/tray.py create mode 100644 pygwin/tray.py diff --git a/build/lib/pygwin/__init__.py b/build/lib/pygwin/__init__.py index 75a5dd3..2d0e236 100644 --- a/build/lib/pygwin/__init__.py +++ b/build/lib/pygwin/__init__.py @@ -1,4 +1,3 @@ -# try: from pygwin.surface import surface import pygwin.keyboard as keyboard from pygwin.console import console @@ -7,29 +6,10 @@ import pygwin.mouse as mouse from pygwin.rect import rect import pygwin.image as image import pygwin.mixer as mixer +from pygwin.tray import tray from pygame.locals import * import pygwin.font as font from pygwin._win import * from pygwin._pg import pg import pygwin.ui as ui gamepad = _gp.gamepad(pg) -# except ModuleNotFoundError as e: -# import pip,os,sys -# if 'imofpgw' in sys.argv: -# os.system('cls' if os.name in ('nt', 'dos') else 'clear') -# raise e -# def install(package): -# if hasattr(pip,'main'):pip.main(['install',package]) -# else:pip._internal.main(['install',package]) -# os.system('cls' if os.name in ('nt', 'dos') else 'clear') -# modules = ['datetime', -# 'tempfile', -# 'pywin32', -# 'pickle', -# 'pygame', -# 'inputs', -# 'pydub', -# 'ctypes'] -# for i in modules: -# install(i) -# os.execv(sys.executable, ['python']+sys.argv+['imofpgw']) diff --git a/build/lib/pygwin/_win.py b/build/lib/pygwin/_win.py index 2202f57..8c4cb1d 100644 --- a/build/lib/pygwin/_win.py +++ b/build/lib/pygwin/_win.py @@ -1,5 +1,5 @@ from pygwin.surface import surface as _surface -from pygwin._tray import tray as _tray +from pygwin.tray import tray as _tray from datetime import datetime as _dt from pygwin.image import save as _s from pygwin._pg import pg as _pg @@ -21,7 +21,7 @@ class win(_surface): self._clock = _pg.time.Clock() self._withfps = False self._iconpath = iconpath - self.tray = _tray(_pg.display.get_caption(),self._iconpath) + self.tray = _tray(self.title,iconpath) def update(self, fps=-1): if fps != -1: self._clock.tick(fps) @@ -108,6 +108,7 @@ def create(title=None, size=(0,0), icon=None, resizable=False, noframe=False): _pg.display.set_caption(title) if icon != None: _pg.display.set_icon(_pg.image.load(icon)) + return win(icon) else: surf = _img.fromBytes(_icon.iconbytes) try: @@ -115,7 +116,6 @@ def create(title=None, size=(0,0), icon=None, resizable=False, noframe=False): except: orig = surf._orig _pg.display.set_icon(orig) - return win(icon) return win() def ramLimit(memory_limit): diff --git a/build/lib/pygwin/tray.py b/build/lib/pygwin/tray.py new file mode 100644 index 0000000..802633d --- /dev/null +++ b/build/lib/pygwin/tray.py @@ -0,0 +1,53 @@ +import threading +import wx +import wx.adv +from pygwin._pg import pg + +class tray(wx.adv.TaskBarIcon): + def __init__(self, tooltip, iconpath): + class App(wx.App): + def OnInit(self): + self.frame = wx.Frame(None) + self.SetTopWindow(self.frame) + return True + self._app = App(False) + self.frame = self._app.frame + super().__init__() + self._tooltip = tooltip + self.setIcon(iconpath) + self.Bind(wx.adv.EVT_TASKBAR_LEFT_DOWN, + lambda x:self.onLeftMouseButton()) + self._menu = wx.Menu() + + def CreatePopupMenu(self): + return self._menu + + def setIcon(self, path): + self._bicon = wx.Icon(wx.Bitmap(path)) + self.SetIcon(self._bicon, self._tooltip) + + def setTooltip(self, tooltip): + self.SetIcon(self._bicon, tooltip) + self._tooltip = tooltip + + def onLeftMouseButton(self): + pass + + def addSeparator(self): + self._menu.AppendSeparator() + + def addCommand(self,text,func=lambda:None): + item = wx.MenuItem(self._menu,-1,text) + self._menu.Bind(wx.EVT_MENU, + lambda x:func(), + id=item.GetId()) + self._menu.Append(item) + + def start(self, thread=True): + if thread: threading.Thread( + target=self._app.MainLoop, + daemon=1).start() + else: self._app.MainLoop() + + def stop(self): + wx.CallAfter(self._app.frame.Close) diff --git a/dist/pygwin-0.1.0-py3.7.egg b/dist/pygwin-0.1.0-py3.7.egg index 2f8a614f23827edd9937fbec8e6103dd966fb89a..74fe41ff1b1d2da8c8e5eac61a1a3b7e6f881b30 100644 GIT binary patch delta 8381 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 delta 6529 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