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"
|
# docker run --volume "$(pwd)/src:/src/" batonogov/pyinstaller-linux:latest "pyinstaller --onefile syng/main.py"
|
||||||
# rm -rf src/build
|
# rm -rf src/build
|
||||||
# rm -rf src/dist
|
# 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
|
# cd syng-2.0.1
|
||||||
# wine python -m poetry install -E client
|
# wine python -m poetry install -E client
|
||||||
|
|
27
syng/gui.py
27
syng/gui.py
|
@ -1,4 +1,5 @@
|
||||||
from io import BytesIO
|
from io import BytesIO
|
||||||
|
import sys
|
||||||
import logging
|
import logging
|
||||||
from logging.handlers import QueueListener
|
from logging.handlers import QueueListener
|
||||||
from multiprocessing import Process, Queue
|
from multiprocessing import Process, Queue
|
||||||
|
@ -8,12 +9,22 @@ import os
|
||||||
import builtins
|
import builtins
|
||||||
from functools import partial
|
from functools import partial
|
||||||
import random
|
import random
|
||||||
from typing import Any, Optional
|
from typing import TYPE_CHECKING, Any, Optional
|
||||||
import multiprocessing
|
import multiprocessing
|
||||||
import secrets
|
import secrets
|
||||||
import string
|
import string
|
||||||
import signal
|
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.QtCore import QTimer
|
||||||
from PyQt6.QtGui import QCloseEvent, QIcon, QPixmap
|
from PyQt6.QtGui import QCloseEvent, QIcon, QPixmap
|
||||||
from PyQt6.QtWidgets import (
|
from PyQt6.QtWidgets import (
|
||||||
|
@ -379,13 +390,12 @@ class SyngGui(QMainWindow):
|
||||||
super().__init__()
|
super().__init__()
|
||||||
self.setWindowTitle("Syng")
|
self.setWindowTitle("Syng")
|
||||||
|
|
||||||
rel_path = os.path.dirname(__file__)
|
if os.name != "nt":
|
||||||
qt_img = QPixmap(os.path.join(rel_path, "static/syng.png"))
|
rel_path = os.path.dirname(__file__)
|
||||||
self.qt_icon = QIcon(qt_img)
|
qt_img = QPixmap(os.path.join(rel_path, "static", "syng.png"))
|
||||||
self.setWindowIcon(self.qt_icon)
|
self.setWindowIcon(QIcon(qt_img))
|
||||||
|
|
||||||
self.syng_server: Optional[Process] = None
|
self.syng_server: Optional[Process] = None
|
||||||
# self.syng_client: Optional[subprocess.Popen[bytes]] = None
|
|
||||||
self.syng_client: Optional[Process] = None
|
self.syng_client: Optional[Process] = None
|
||||||
self.syng_client_logging_listener: Optional[QueueListener] = None
|
self.syng_client_logging_listener: Optional[QueueListener] = None
|
||||||
|
|
||||||
|
@ -553,9 +563,14 @@ class LoggingLabelHandler(logging.Handler):
|
||||||
|
|
||||||
|
|
||||||
def run_gui() -> None:
|
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)
|
signal.signal(signal.SIGINT, signal.SIG_DFL)
|
||||||
|
|
||||||
app = QApplication([])
|
app = QApplication([])
|
||||||
|
app.setWindowIcon(QIcon(os.path.join(base_dir, "syng.ico")))
|
||||||
app.setApplicationName("Syng")
|
app.setApplicationName("Syng")
|
||||||
app.setDesktopFileName("rocks.syng.Syng")
|
app.setDesktopFileName("rocks.syng.Syng")
|
||||||
window = SyngGui()
|
window = SyngGui()
|
||||||
|
|
Loading…
Add table
Reference in a new issue