diff options
| author | Danilo M. <danix@danix.xyz> | 2026-09-21 19:13:06 +0200 |
|---|---|---|
| committer | Danilo M. <danix@danix.xyz> | 2026-09-21 19:13:06 +0200 |
| commit | 34a6a3cd65370fd31877da0c54abcae15d69d3a4 (patch) | |
| tree | cfdf3302af210f12aac6015ba731341f157933f0 /desktop/modules/status/README.md | |
| parent | e4f2082fa742611fb787f73d5ef5f046c77eab5d (diff) | |
| download | quickshell-34a6a3cd65370fd31877da0c54abcae15d69d3a4.tar.gz quickshell-34a6a3cd65370fd31877da0c54abcae15d69d3a4.zip | |
feat(status): detect PCSX2 for game mode
PCSX2 joins gamescope, Steam and DuckStation in the game detector, so
presentation is set automatically while a PS2 game runs and the idle
lock, DND and breaktimer stay out of the way.
The binary is /usr/bin/pcsx2-qt, the same -qt shape as duckstation-qt,
so it takes the same pgrep -x exact name match and cannot self-match the
way the bracketed steam pattern has to guard against.
Verified against the real emulator rather than a stand-in: with
pcsx2-qt running, status.gaming reads 1.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Diffstat (limited to 'desktop/modules/status/README.md')
| -rw-r--r-- | desktop/modules/status/README.md | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/desktop/modules/status/README.md b/desktop/modules/status/README.md index 438ead8..4d18342 100644 --- a/desktop/modules/status/README.md +++ b/desktop/modules/status/README.md @@ -103,14 +103,14 @@ edited from here; `breaktimer.sh config` prints what is in effect. Presentation is set automatically while a game runs, so a fullscreen game does not get locked or interrupted by the idle timer, DND or breaktimer. The shell polls every five seconds for a `gamescope` process, a running Steam binary, or -DuckStation, and any one is enough: +the DuckStation or PCSX2 emulators, and any one is enough: - pgrep -x gamescope || pgrep -f 'steamapps/commo[n]' || pgrep -x duckstation-qt + pgrep -x gamescope || pgrep -f 'steamapps/commo[n]' || pgrep -x duckstation-qt || pgrep -x pcsx2-qt The steam pattern is bracketed so it cannot match the check's own command line: `pgrep -f` reads the whole argv, and a literal `steamapps/common` would match the `sh` running the check and report a game forever. `gamescope` and -`duckstation-qt` use `pgrep -x`, an exact match on the process name, which +the emulators use `pgrep -x`, an exact match on the process name, which cannot self-match. The result is written to `status.gaming`, a file separate from |
