mirror of
https://github.com/aclist/dztui.git
synced 2026-10-25 12:12:31 +01:00
change: treat steam clients as separate processes
This commit is contained in:
1 parent
2a08b9ba82
commit
00b5476aaf
2 files changed
+10
-12
No files matched your search
@@ -84,7 +84,8 @@ HERO_PATH = "data/images/_hero.png"
|
|||||||
CSS_PATH = "data/app.css"
|
CSS_PATH = "data/app.css"
|
||||||
VDF_PATH = "steamapps/libraryfolders.vdf"
|
VDF_PATH = "steamapps/libraryfolders.vdf"
|
||||||
DEFAULT_STEAM_PATH = ".local/share/Steam"
|
DEFAULT_STEAM_PATH = ".local/share/Steam"
|
||||||
FLATPAK_STEAM_PATH = ".var/app/com.valvesoftware.Steam/data/Steam"
|
FLATPAK_ROOT_PATH = ".var/app/com.valvesoftware.Steam"
|
||||||
|
FLATPAK_STEAM_PATH = FLATPAK_ROOT_PATH + "/data/Steam"
|
||||||
UBUNTU_STEAM_PATH = ".steam/steam"
|
UBUNTU_STEAM_PATH = ".steam/steam"
|
||||||
DEBIAN_STEAM_PATH = ".steam/debian-installation"
|
DEBIAN_STEAM_PATH = ".steam/debian-installation"
|
||||||
|
|
||||||
|
|||||||
+8
-11
@@ -10,6 +10,7 @@ from dzgui.const.constants import (
|
|||||||
FLATPAK_CMD,
|
FLATPAK_CMD,
|
||||||
FLATPAK_RUN_CMD,
|
FLATPAK_RUN_CMD,
|
||||||
FLATPAK_SANDBOX,
|
FLATPAK_SANDBOX,
|
||||||
|
FLATPAK_ROOT_PATH,
|
||||||
FLATPAK_STEAM_PATH,
|
FLATPAK_STEAM_PATH,
|
||||||
)
|
)
|
||||||
|
|
||||||
@@ -17,15 +18,10 @@ logger = logging.getLogger(APP_NAME)
|
|||||||
|
|
||||||
|
|
||||||
def is_steam_running(cmd: str) -> bool:
|
def is_steam_running(cmd: str) -> bool:
|
||||||
is_flatpak_running = is_flatpak_steam_running()
|
|
||||||
if cmd in (FLATPAK_RUN_CMD, FLATPAK_SANDBOX):
|
if cmd in (FLATPAK_RUN_CMD, FLATPAK_SANDBOX):
|
||||||
return is_flatpak_running
|
return is_flatpak_steam_running()
|
||||||
elif cmd == STEAM_CMD:
|
elif cmd == STEAM_CMD:
|
||||||
if is_flatpak_running:
|
return is_native_steam_running()
|
||||||
return False
|
|
||||||
if has_cmd(STEAM_CMD) is False:
|
|
||||||
return False
|
|
||||||
return is_running(STEAM_CMD)
|
|
||||||
else:
|
else:
|
||||||
raise TypeError("Not a valid Steam client selection")
|
raise TypeError("Not a valid Steam client selection")
|
||||||
|
|
||||||
@@ -42,11 +38,12 @@ def is_flatpak_steam_running() -> bool:
|
|||||||
return False
|
return False
|
||||||
|
|
||||||
|
|
||||||
def is_running(proc: str) -> bool:
|
def is_native_steam_running() -> bool:
|
||||||
for process in psutil.process_iter(["pid", "name"]):
|
if has_cmd(STEAM_CMD) is False:
|
||||||
if process.info["name"] == proc:
|
|
||||||
return True
|
|
||||||
return False
|
return False
|
||||||
|
procs = [p.cmdline() for p in psutil.process_iter(["pid", "name"]) if STEAM_CMD in p.info["name"]]
|
||||||
|
steam_procs = [p for p in procs if not any(FLATPAK_ROOT_PATH in sub for sub in p)]
|
||||||
|
return bool(steam_procs)
|
||||||
|
|
||||||
|
|
||||||
def has_cmd(cmd: str) -> bool:
|
def has_cmd(cmd: str) -> bool:
|
||||||
|
|||||||
Reference in new issue
Block a user