Finally got windows icon to work
This commit is contained in:
parent
829f7b26d1
commit
7b50882738
2 changed files with 23 additions and 7 deletions
|
@ -26,7 +26,8 @@ cp ../icons/syng.ico src/
|
|||
# docker run --volume "$(pwd)/src:/src/" batonogov/pyinstaller-linux:latest "pyinstaller --onefile syng/main.py"
|
||||
# rm -rf src/build
|
||||
# rm -rf src/dist
|
||||
docker run --volume "$(pwd)/src:/src/" batonogov/pyinstaller-windows:latest "pyinstaller --onefile -w -i'.\syng.ico' --add-binary '.\mpv.exe;.' --add-binary '.\vulkan-1.dll;.' --add-binary '.\ffmpeg.exe;.' syng/main.py"
|
||||
# docker run --volume "$(pwd)/src:/src/" batonogov/pyinstaller-windows:latest "pyinstaller --onefile -w -i'.\syng.ico' --add-data='.\syng\static\syng.png;.\static' --add-binary '.\mpv.exe;.' --add-binary '.\vulkan-1.dll;.' --add-binary '.\ffmpeg.exe;.' syng/main.py"
|
||||
docker run --volume "$(pwd)/src:/src/" batonogov/pyinstaller-windows:latest "pyinstaller -F -w -i'.\syng.ico' --add-data='.\syng.ico;.' --add-binary '.\mpv.exe;.' --add-binary '.\vulkan-1.dll;.' --add-binary '.\ffmpeg.exe;.' syng/main.py"
|
||||
|
||||
# cd syng-2.0.1
|
||||
# wine python -m poetry install -E client
|
||||
|
|
27
syng/gui.py
27
syng/gui.py
|
@ -1,4 +1,5 @@
|
|||
from io import BytesIO
|
||||
import sys
|
||||
import logging
|
||||
from logging.handlers import QueueListener
|
||||
from multiprocessing import Process, Queue
|
||||
|
@ -8,12 +9,22 @@ import os
|
|||
import builtins
|
||||
from functools import partial
|
||||
import random
|
||||
from typing import Any, Optional
|
||||
from typing import TYPE_CHECKING, Any, Optional
|
||||
import multiprocessing
|
||||
import secrets
|
||||
import string
|
||||
import signal
|
||||
|
||||
try:
|
||||
if not TYPE_CHECKING:
|
||||
from ctypes import windll
|
||||
|
||||
appid = "rocks.syng.Syng.2.0.1"
|
||||
windll.shell32.SetCurrentProcessExplicitAppUserModelID(appid)
|
||||
except ImportError:
|
||||
pass
|
||||
|
||||
|
||||
from PyQt6.QtCore import QTimer
|
||||
from PyQt6.QtGui import QCloseEvent, QIcon, QPixmap
|
||||
from PyQt6.QtWidgets import (
|
||||
|
@ -379,13 +390,12 @@ class SyngGui(QMainWindow):
|
|||
super().__init__()
|
||||
self.setWindowTitle("Syng")
|
||||
|
||||
rel_path = os.path.dirname(__file__)
|
||||
qt_img = QPixmap(os.path.join(rel_path, "static/syng.png"))
|
||||
self.qt_icon = QIcon(qt_img)
|
||||
self.setWindowIcon(self.qt_icon)
|
||||
if os.name != "nt":
|
||||
rel_path = os.path.dirname(__file__)
|
||||
qt_img = QPixmap(os.path.join(rel_path, "static", "syng.png"))
|
||||
self.setWindowIcon(QIcon(qt_img))
|
||||
|
||||
self.syng_server: Optional[Process] = None
|
||||
# self.syng_client: Optional[subprocess.Popen[bytes]] = None
|
||||
self.syng_client: Optional[Process] = None
|
||||
self.syng_client_logging_listener: Optional[QueueListener] = None
|
||||
|
||||
|
@ -553,9 +563,14 @@ class LoggingLabelHandler(logging.Handler):
|
|||
|
||||
|
||||
def run_gui() -> None:
|
||||
base_dir = os.path.dirname(__file__)
|
||||
if getattr(sys, "frozen", False) and hasattr(sys, "_MEIPASS"):
|
||||
base_dir = sys._MEIPASS
|
||||
|
||||
signal.signal(signal.SIGINT, signal.SIG_DFL)
|
||||
|
||||
app = QApplication([])
|
||||
app.setWindowIcon(QIcon(os.path.join(base_dir, "syng.ico")))
|
||||
app.setApplicationName("Syng")
|
||||
app.setDesktopFileName("rocks.syng.Syng")
|
||||
window = SyngGui()
|
||||
|
|
Loading…
Add table
Reference in a new issue