diff options
| author | Danilo M. <danix@danix.xyz> | 2026-10-27 13:08:31 +0100 |
|---|---|---|
| committer | Danilo M. <danix@danix.xyz> | 2026-10-27 13:08:31 +0100 |
| commit | 583ac2e98c3ff4fa379194b2eb4e7530c07b275d (patch) | |
| tree | 73edd610bc767082a8671be1155dd7e78f74a713 /games/README.md | |
| parent | a35688e2e3a4e94d0f43f2548dfa6384a1bf1276 (diff) | |
| download | quickshell-583ac2e98c3ff4fa379194b2eb4e7530c07b275d.tar.gz quickshell-583ac2e98c3ff4fa379194b2eb4e7530c07b275d.zip | |
games: route every Steam-launched window to workspace 8
Hyprland's class rules only catch Proton games (steam_app_N) and
whatever else is listed by name, so a non-Steam shortcut, here a GOG
Ren'Py build with its own class, opened on the current workspace.
Steam sets SteamGameId in the environment of everything it launches,
native, Proton and shortcuts alike, so on openwindow the shell looks up
the window's pid and moves it when /proc/<pid>/environ carries that
variable. Checked with the shortcut that motivated it.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Diffstat (limited to 'games/README.md')
| -rw-r--r-- | games/README.md | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/games/README.md b/games/README.md index 26e592e..b0b6f5b 100644 --- a/games/README.md +++ b/games/README.md @@ -29,6 +29,13 @@ they come from `~/.cache/keystone/games/owned.json`, which key is read with `pass show "$GAMES_PASS_ENTRY"`; the SteamID is derived from the userdata account directory. +Every game window lands on workspace 8, however it was started. Steam +sets `SteamGameId` in the environment of every game it runs, native, +Proton or a non-Steam shortcut, so the shell moves any newly opened +window whose process carries it. Class rules in the Hyprland config miss +games that name themselves: a GOG Ren'Py build added as a shortcut had no +`steam_app_` class and opened wherever focus was. + ## Running qs -p ./games |
