Skip to content

gwl: Improve window state management#13599

Open
anaximeno wants to merge 9 commits intolinuxmint:masterfrom
anaximeno:gwl/improve-window-state-management
Open

gwl: Improve window state management#13599
anaximeno wants to merge 9 commits intolinuxmint:masterfrom
anaximeno:gwl/improve-window-state-management

Conversation

@anaximeno
Copy link
Contributor

Decided to join here some fixes I did to the state management of gwl, most are related to state inconsistencies during window removal or focus handling.

Replaces #13582, #13365

This works well enough and guarantees all workspaces are in the same state both when enabling and disabling the title display options.
This was triggering when using the show window in all workspaces option and was leading the app group representation to an irregular state where removed windows would still be counted and show irresponsible thumbnails.
This fixes some annyoing issues during the removal of windows that would some time leave a ghost window instance in app groups. I've also improved the handled of some signals to ensure the window is only added again if it is inside a valid workspace and the workspace is similar to the current workspace receiving the signal.
It makes sense to call the callback to clean the appGroup if willUnmount is set true as well, however no need to only perform updates to the groupstate otherwise considering things like removing thumbnails have to be performed anyways, and considering the appGroup, in case of no open windows in the appGroup, or willUnmount is set, will be removed anyways, it likely shouldn't cause issues.
@anaximeno anaximeno force-pushed the gwl/improve-window-state-management branch from eda15c6 to b1db347 Compare February 25, 2026 13:18
… added to the workspace

This already checks if window is in correct workspace and/or windows should be shown in all workspaces, plus checking the monitor using the shouldWindowBeAdded method.
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