Skip to content

Exclude Xbox / Game Pass games by default (#494)#496

Merged
mgth merged 1 commit into
masterfrom
feat/494-xbox-default-exclusion
Jul 9, 2026
Merged

Exclude Xbox / Game Pass games by default (#494)#496
mgth merged 1 commit into
masterfrom
feat/494-xbox-default-exclusion

Conversation

@mgth

@mgth mgth commented Jul 9, 2026

Copy link
Copy Markdown
Owner

Fixes #494.

Xbox / Game Pass titles install under …\XboxGames\…\Content\ and keep sliding across monitors even in fullscreen, because the default exclusion list only covered Epic / Steam / Riot.

Changes

  • ExcludedProcessDefaults (new, Core) — single source of truth for the default exclusions (Epic, Steam, Riot, \XboxGames\), with a Version and the pre-v1 LegacyV0 set. Shared by the seed file, the migration and the UI.
  • SeedCreateExcludedFile writes from ExcludedProcessDefaults instead of a hardcoded string, so fresh installs get Xbox.
  • One-time top-up migration (PersistencyExtensions.LoadOptions) — reaches existing users, not just fresh installs. Gated by a registry marker (ExcludedDefaultsVersion) so it runs once; only tops up a list that still holds all previous defaults (a customized list, or a default removed later, is left alone); rewrites Excluded.txt since the daemon reads the file, not the in-memory list.
  • "Add defaults" button (options) — adds any missing default exclusions to the list (persisted on Save, like the other edits).

Migration behaviour

Existing list Result
stock (Epic+Steam+Riot) + Xbox, file rewritten, marker=1
already has Xbox + stock no-op, marker=1
customized (a default removed) untouched, marker=1
Xbox removed later not re-added (marker already 1)
fresh install (no file) seeded with Xbox

Daemon unchanged — it has no built-in defaults, it reads Excluded.txt.

🤖 Generated with Claude Code

Xbox / Game Pass titles install under ...\XboxGames\...\Content\ and keep
sliding across monitors even in fullscreen, because the default exclusion list
only covered Epic / Steam / Riot. Add `\XboxGames\` and make sure existing users
get it too, not just fresh installs.

- New ExcludedProcessDefaults (Core): single source of truth for the default
  exclusions, shared by the seed file, the migration and the UI. Adds
  `\XboxGames\`; carries a Version + the pre-v1 (LegacyV0) set.
- CreateExcludedFile seeds from ExcludedProcessDefaults instead of a hardcoded
  string.
- One-time top-up migration in PersistencyExtensions.LoadOptions: gated by a
  registry version marker (ExcludedDefaultsVersion) so it runs once; only tops
  up a list that still holds all previous defaults (a customized list, or a
  default removed later, is left alone); rewrites Excluded.txt since the daemon
  reads the file, not the in-memory list.
- "Add defaults" button (options): adds any missing default exclusions to the
  list (persisted on Save, like the other edits).

Daemon unchanged — it has no built-in defaults, it reads Excluded.txt.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@mgth
mgth merged commit 41a7268 into master Jul 9, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Xbox Game windows PC isn't included in the default exclusion list

1 participant