diff --git a/gotify-tray.spec b/gotify-tray.spec index 60b6a66..848f1cc 100644 --- a/gotify-tray.spec +++ b/gotify-tray.spec @@ -4,6 +4,8 @@ import platform block_cipher = None +logo = "gotify_tray/gui/images/logo.ico" if platform.system() != "Darwin" else "gotify_tray/gui/images/logo-macos.ico" + a = Analysis(['gotify_tray/__main__.py'], pathex=[os.getcwd()], binaries=[], @@ -29,7 +31,7 @@ exe = EXE(pyz, upx=True, console=False, version='version.py', - icon='logo.ico') + icon=logo) coll = COLLECT(exe, a.binaries, a.zipfiles, @@ -41,5 +43,5 @@ coll = COLLECT(exe, if platform.system() == "Darwin": app = BUNDLE(coll, name='Gotify Tray.app', - icon='logo.ico', + icon=logo, bundle_identifier=None) diff --git a/gotify_tray/gui/MainApplication.py b/gotify_tray/gui/MainApplication.py index d5651b6..580f38f 100644 --- a/gotify_tray/gui/MainApplication.py +++ b/gotify_tray/gui/MainApplication.py @@ -18,7 +18,7 @@ from gotify_tray.tasks import ( GetMessagesTask, ServerConnectionWatchdogTask, ) -from gotify_tray.utils import get_abs_path, verify_server +from gotify_tray.utils import get_icon, verify_server from PyQt6 import QtCore, QtGui, QtWidgets from ..__version__ import __title__ @@ -410,9 +410,7 @@ def start_gui(): app = MainApplication(sys.argv) app.setApplicationName(title) app.setQuitOnLastWindowClosed(False) - app.setWindowIcon( - QtGui.QIcon(get_abs_path("gotify_tray/gui/images/gotify-small.png")) - ) + app.setWindowIcon(QtGui.QIcon(get_icon("gotify-small"))) app.setStyle("fusion") init_logger(logger) diff --git a/gotify_tray/gui/images/gotify-small-macos.png b/gotify_tray/gui/images/gotify-small-macos.png new file mode 100644 index 0000000..6424998 Binary files /dev/null and b/gotify_tray/gui/images/gotify-small-macos.png differ diff --git a/gotify_tray/gui/images/logo-macos.ico b/gotify_tray/gui/images/logo-macos.ico new file mode 100644 index 0000000..b0b86b2 Binary files /dev/null and b/gotify_tray/gui/images/logo-macos.ico differ diff --git a/logo.ico b/gotify_tray/gui/images/logo.ico similarity index 100% rename from logo.ico rename to gotify_tray/gui/images/logo.ico diff --git a/gotify_tray/gui/images/tray-error-macos.png b/gotify_tray/gui/images/tray-error-macos.png new file mode 100644 index 0000000..da9a363 Binary files /dev/null and b/gotify_tray/gui/images/tray-error-macos.png differ diff --git a/gotify_tray/gui/images/gotify-small-error.png b/gotify_tray/gui/images/tray-error.png similarity index 100% rename from gotify_tray/gui/images/gotify-small-error.png rename to gotify_tray/gui/images/tray-error.png diff --git a/gotify_tray/gui/images/tray-macos.png b/gotify_tray/gui/images/tray-macos.png new file mode 100644 index 0000000..f419a66 Binary files /dev/null and b/gotify_tray/gui/images/tray-macos.png differ diff --git a/gotify_tray/gui/images/tray.png b/gotify_tray/gui/images/tray.png new file mode 100644 index 0000000..eb03248 Binary files /dev/null and b/gotify_tray/gui/images/tray.png differ diff --git a/gotify_tray/gui/widgets/Tray.py b/gotify_tray/gui/widgets/Tray.py index 74ffdbb..6339d0c 100644 --- a/gotify_tray/gui/widgets/Tray.py +++ b/gotify_tray/gui/widgets/Tray.py @@ -2,7 +2,7 @@ import logging from PyQt6 import QtGui, QtWidgets from gotify_tray.__version__ import __title__ -from gotify_tray.utils import get_abs_path +from gotify_tray.utils import get_icon logger = logging.getLogger("gotify-tray") @@ -44,7 +44,7 @@ class Tray(QtWidgets.QSystemTrayIcon): self.setContextMenu(menu) def set_icon_ok(self): - self.setIcon(QtGui.QIcon(get_abs_path("gotify_tray/gui/images/gotify-small.png"))) + self.setIcon(QtGui.QIcon(get_icon("tray"))) def set_icon_error(self): - self.setIcon(QtGui.QIcon(get_abs_path("gotify_tray/gui/images/gotify-small-error.png"))) + self.setIcon(QtGui.QIcon(get_icon("tray-error"))) diff --git a/gotify_tray/utils.py b/gotify_tray/utils.py index f1f581a..d36c3cf 100644 --- a/gotify_tray/utils.py +++ b/gotify_tray/utils.py @@ -57,3 +57,10 @@ def open_file(filename: str): os.startfile(filename) elif platform.system() == "Darwin": subprocess.call(["open", filename]) + + +def get_icon(name: str) -> str: + if platform.system() == "Darwin": + name += "-macos" + + return get_abs_path(f"gotify_tray/gui/images/{name}.png") diff --git a/requirements.txt b/requirements.txt index 9da2385..e36d7dd 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,4 +1,4 @@ requests==2.28.1 -websocket-client==1.4.0 +websocket-client==1.3.3 pyqt6==6.3.1 python-dateutil==2.8.2