From 2800a730aa119547fccce46c93603cad740704a8 Mon Sep 17 00:00:00 2001 From: Odizinne Date: Fri, 28 Jun 2024 13:43:19 +0200 Subject: [PATCH] allow only one instance --- src/BigPictureTV.py | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/src/BigPictureTV.py b/src/BigPictureTV.py index 3fbba9e..3379f21 100644 --- a/src/BigPictureTV.py +++ b/src/BigPictureTV.py @@ -9,7 +9,7 @@ from enum import Enum from PyQt5.QtWidgets import QApplication, QMainWindow, QDialog, QMessageBox, QSystemTrayIcon, QMenu, QAction from PyQt5.QtGui import QIcon, QCursor -from PyQt5.QtCore import Qt, QTimer, QPoint, pyqtSignal +from PyQt5.QtCore import Qt, QTimer, QPoint, pyqtSignal, QSharedMemory from PyQt5 import uic class Mode(Enum): @@ -371,11 +371,16 @@ def __init__(self, stylesheet=None): self.setFixedSize(self.size()) if __name__ == '__main__': + shared_memory = QSharedMemory('BigPictureTVSharedMemory') + + if shared_memory.attach() or not shared_memory.create(1): + sys.exit(0) + app = QApplication(sys.argv) current_mode = read_current_mode() constants = load_constants() - style_file = os.path.join(os.path.join(UI_FOLDER, 'style.qss')) + style_file = os.path.join(UI_FOLDER, 'style.qss') if os.path.exists(style_file): with open(style_file, 'r') as f: app.setStyleSheet(f.read()) @@ -407,4 +412,4 @@ def update_mode_timer_interval(check_rate): settings_window.show() first_run = False - sys.exit(app.exec_()) + sys.exit(app.exec_()) \ No newline at end of file