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 argparse import ArgumentParser
|
||||||
from rare import __version__
|
from rare import __version__
|
||||||
from rare.utils import singleton
|
from rare.utils import singleton
|
||||||
|
@ -22,6 +23,15 @@ def main():
|
||||||
me = singleton.SingleInstance()
|
me = singleton.SingleInstance()
|
||||||
except singleton.SingleInstanceException:
|
except singleton.SingleInstanceException:
|
||||||
print("Rare is already running")
|
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)
|
exit(0)
|
||||||
|
|
||||||
from rare.app import start
|
from rare.app import start
|
||||||
|
|
|
@ -1,6 +1,7 @@
|
||||||
|
import os
|
||||||
from logging import getLogger
|
from logging import getLogger
|
||||||
|
|
||||||
from PyQt5.QtCore import QSettings
|
from PyQt5.QtCore import QSettings, QTimer
|
||||||
from PyQt5.QtGui import QCloseEvent
|
from PyQt5.QtGui import QCloseEvent
|
||||||
from PyQt5.QtWidgets import QMainWindow, QMessageBox
|
from PyQt5.QtWidgets import QMainWindow, QMessageBox
|
||||||
|
|
||||||
|
@ -40,7 +41,6 @@ class MainWindow(QMainWindow):
|
||||||
if game != ("", 0):
|
if game != ("", 0):
|
||||||
self.rpc.set_discord_rpc(game[0]) # Appname
|
self.rpc.set_discord_rpc(game[0]) # Appname
|
||||||
|
|
||||||
self.show()
|
|
||||||
if args.subparser == "launch":
|
if args.subparser == "launch":
|
||||||
logger.info("Launching " + self.core.get_installed_game(args.app_name).title)
|
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():
|
if args.app_name in self.tab_widget.games_tab.default_widget.game_list.widgets.keys():
|
||||||
|
@ -48,6 +48,30 @@ class MainWindow(QMainWindow):
|
||||||
else:
|
else:
|
||||||
logger.info(f"Could not find {args.app_name} in Games")
|
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):
|
def closeEvent(self, e: QCloseEvent):
|
||||||
if self.settings.value("sys_tray", True, bool):
|
if self.settings.value("sys_tray", True, bool):
|
||||||
self.hide()
|
self.hide()
|
||||||
|
|
Loading…
Reference in a new issue