Skip to content

fix(settings): consolidate borderlessWindows and fix settings persistence#12

Merged
hikaps merged 3 commits intodevelopfrom
fix/settings-save
Apr 22, 2026
Merged

fix(settings): consolidate borderlessWindows and fix settings persistence#12
hikaps merged 3 commits intodevelopfrom
fix/settings-save

Conversation

@hikaps
Copy link
Copy Markdown
Owner

@hikaps hikaps commented Apr 21, 2026

Summary

  • Consolidate borderlessWindows as a global-only setting in SettingsManager, removing the duplicate per-instance borderless from InstanceConfig and profile persistence
  • Wire the borderlessWindows setting to the KWin window positioning script (was hardcoded noBorder = true regardless of the setting)
  • Remove leftover steamIntegration property from SettingsManager (already handled per-preset by PresetManager)
  • Remove dead per-instance borderless checkbox from SessionSetupPage (read-only, no onToggled handler)
  • Fix broken QML property binding in SettingsPage (binding would break after first toggle)
  • Make SettingsManager save only the changed setting instead of rewriting all settings on every change

Test Plan

  • Build compiles cleanly (zero errors)
  • All 62 existing test cases pass (1 pre-existing testVersion failure unrelated)
  • Manual: Toggle borderless setting in Settings → verify gamescope -b flag is passed when enabled
  • Manual: Verify KWin window decorations respect the setting (on/off)
  • Manual: Verify settings persist across app restarts (~/.config/couchplayrc)

@hikaps hikaps force-pushed the fix/settings-save branch from cf2e346 to d0a0a13 Compare April 22, 2026 17:30
hikaps added 3 commits April 22, 2026 13:13
Remove per-instance borderless from InstanceConfig and profile
persistence. Inject SettingsManager into SessionRunner to read
borderlessWindows at session start instead of maintaining a
duplicate property. Remove leftover steamIntegration from
SettingsManager (already handled per-preset by PresetManager).
Pass borderless setting through WindowManager to KWin script
instead of hardcoding noBorder=true. The KWin script now
conditionally removes window decorations based on the global
borderlessWindows setting from SettingsManager.
Remove dead per-instance borderless checkbox from SessionSetupPage
(read-only, no onToggled handler). Fix SettingsPage borderless
checkbox to read/write only from settingsManager. Remove leftover
steamIntegration checkbox from SettingsPage.
@hikaps hikaps force-pushed the fix/settings-save branch from d0a0a13 to 8d75993 Compare April 22, 2026 20:16
@hikaps hikaps merged commit 1fa1ddb into develop Apr 22, 2026
1 check passed
@hikaps hikaps deleted the fix/settings-save branch April 22, 2026 20:29
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.

1 participant