Document Seamless .co2 paths and fix process-name false positives.

Record Jorg desk compatdata locations for satellite setup; devices list terra; tighten watchers so syncgames argv is not mistaken for Eden.

Co-authored-by: Cursor <[email protected]>
This commit is contained in:
2026-07-15 16:01:59 -05:00
co-authored by Cursor
parent 0d6b0b2f80
commit 69ee41dc91
10 changed files with 91 additions and 19 deletions
+15 -11
View File
@@ -1,6 +1,7 @@
from __future__ import annotations
import time
from pathlib import Path
from typing import Callable
from syncgames.config import GameConfig
@@ -26,18 +27,21 @@ def is_game_running(game: GameConfig) -> bool:
pname = _norm(proc.info["name"] or "")
if names and pname in names:
return True
if names and any(pname == _norm(n) for n in names):
return True
cmd = proc.info.get("cmdline") or []
joined = " ".join(cmd).lower()
if appid and (
f"appid={appid}" in joined
or f"steam_appid={appid}" in joined
or f"AppId={appid}" in joined
):
return True
for n in game.process_names:
if n.lower() in joined:
# Match executable basenames only — never substring-search the full
# cmdline (e.g. `syncgames end eden-saves` must not look like Eden).
for part in cmd[:2]:
if not part:
continue
if _norm(Path(part).name) in names:
return True
if appid:
joined = " ".join(cmd).lower()
if (
f"appid={appid}" in joined
or f"steam_appid={appid}" in joined
or f"appid={appid}" in joined
):
return True
except (psutil.Error, TypeError):
continue