Add timer to start from other inctance
This commit is contained in:
parent
24e987dc66
commit
4653e519f9
2 changed files with 36 additions and 2 deletions
|
@ -1,3 +1,4 @@
|
|||
import os
|
||||
from argparse import ArgumentParser
|
||||
from rare import __version__
|
||||
from rare.utils import singleton
|
||||
|
@ -22,6 +23,15 @@ def main():
|
|||
me = singleton.SingleInstance()
|
||||
except singleton.SingleInstanceException:
|
||||
print("Rare is already running")
|
||||
|
||||
with open(os.path.expanduser("~/.cache/rare/lockfile"), "w") as file:
|
||||
if args.subparser == "launch":
|
||||
file.write("launch " + args.app_name)
|
||||
else:
|
||||
print("write start")
|
||||
file.write("start")
|
||||
file.close()
|
||||
|
||||
exit(0)
|
||||
|
||||
from rare.app import start
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
import os
|
||||
from logging import getLogger
|
||||
|
||||
from PyQt5.QtCore import QSettings
|
||||
from PyQt5.QtCore import QSettings, QTimer
|
||||
from PyQt5.QtGui import QCloseEvent
|
||||
from PyQt5.QtWidgets import QMainWindow, QMessageBox
|
||||
|
||||
|
@ -40,7 +41,6 @@ class MainWindow(QMainWindow):
|
|||
if game != ("", 0):
|
||||
self.rpc.set_discord_rpc(game[0]) # Appname
|
||||
|
||||
self.show()
|
||||
if args.subparser == "launch":
|
||||
logger.info("Launching " + self.core.get_installed_game(args.app_name).title)
|
||||
if args.app_name in self.tab_widget.games_tab.default_widget.game_list.widgets.keys():
|
||||
|
@ -48,6 +48,30 @@ class MainWindow(QMainWindow):
|
|||
else:
|
||||
logger.info(f"Could not find {args.app_name} in Games")
|
||||
|
||||
self.timer = QTimer()
|
||||
self.timer.timeout.connect(self.timer_finished)
|
||||
self.timer.start(1000)
|
||||
|
||||
self.show()
|
||||
|
||||
def timer_finished(self):
|
||||
file_path = os.path.expanduser("~/.cache/rare/lockfile")
|
||||
if os.path.exists(file_path):
|
||||
file = open(file_path, "r")
|
||||
action = file.read()
|
||||
file.close()
|
||||
if action.startswith("launch"):
|
||||
game = action.replace("launch ", "").replace("\n", "")
|
||||
if game in self.tab_widget.games_tab.default_widget.game_list.widgets.keys():
|
||||
self.tab_widget.games_tab.default_widget.game_list.widgets[game][1].launch()
|
||||
else:
|
||||
logger.info(f"Could not find {game} in Games")
|
||||
|
||||
elif action.startswith("start"):
|
||||
self.show()
|
||||
os.remove(file_path)
|
||||
self.timer.start(1000)
|
||||
|
||||
def closeEvent(self, e: QCloseEvent):
|
||||
if self.settings.value("sys_tray", True, bool):
|
||||
self.hide()
|
||||
|
|
Loading…
Reference in a new issue