change: treat steam clients as separate processes

This commit is contained in:
aclist committed 2026-10-21 14:51:56 +09:00
1 parent 2a08b9ba82
commit 00b5476aaf
2 files changed
+10 -12

No files matched your search

+2 -1
View File
@@ -84,7 +84,8 @@ HERO_PATH = "data/images/_hero.png"
CSS_PATH = "data/app.css"
VDF_PATH = "steamapps/libraryfolders.vdf"
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"
DEBIAN_STEAM_PATH = ".steam/debian-installation"
+8 -11
View File
@@ -10,6 +10,7 @@ from dzgui.const.constants import (
FLATPAK_CMD,
FLATPAK_RUN_CMD,
FLATPAK_SANDBOX,
FLATPAK_ROOT_PATH,
FLATPAK_STEAM_PATH,
)
@@ -17,15 +18,10 @@ logger = logging.getLogger(APP_NAME)
def is_steam_running(cmd: str) -> bool:
is_flatpak_running = is_flatpak_steam_running()
if cmd in (FLATPAK_RUN_CMD, FLATPAK_SANDBOX):
return is_flatpak_running
return is_flatpak_steam_running()
elif cmd == STEAM_CMD:
if is_flatpak_running:
return False
if has_cmd(STEAM_CMD) is False:
return False
return is_running(STEAM_CMD)
return is_native_steam_running()
else:
raise TypeError("Not a valid Steam client selection")
@@ -42,11 +38,12 @@ def is_flatpak_steam_running() -> bool:
return False
def is_running(proc: str) -> bool:
for process in psutil.process_iter(["pid", "name"]):
if process.info["name"] == proc:
return True
def is_native_steam_running() -> bool:
if has_cmd(STEAM_CMD) is 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: