Skip to content

fix: window state preservation#2099

Merged
Drakulix merged 8 commits intopop-os:masterfrom
mayakwd:fix/window-state-preservation
Feb 23, 2026
Merged

fix: window state preservation#2099
Drakulix merged 8 commits intopop-os:masterfrom
mayakwd:fix/window-state-preservation

Conversation

@mayakwd
Copy link
Contributor

@mayakwd mayakwd commented Feb 14, 2026

Fixes a bunch of issues where the maximized/snapped state of a window was lost in scenarios involving:

  • transitions to full-screen mode,
  • from full-screen mode to snapped state,
  • moving full-screen/snapped window between workspaces.

Exact fixes:

What I tested:

  • Maximize Chrome > Click fullscreen on any video > Single-click fullscreen
  • Maximize Firefox > Click fullscreen on any video > Single-click fullscreen (regression check)
  • Snap Chrome to a corner/side > Click fullscreen on any video > Single-click fullscreen
  • Snap window to a corner/side > Go fullscreen > Exit fullscreen > Window returns to the snap position
  • Maximize window > Move window to the other workspace > Window stays maximized
  • Snap window to a corner/side > Move window to the other workspace > Window stays snapped to the same corner/side

I tried to make the changes as small as possible.

I also wanted to fix the issue with returning the window to the stack from full-screen state in this PR, but it appears to be much more complicated than I initially imagined and has a lot of edge cases.

@mayakwd mayakwd changed the title Fix/window state preservation fix: window state preservation Feb 14, 2026
Copy link
Member

@Drakulix Drakulix left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks! These are very welcome and easy to review bugfixes.

I added some comments, as I would like to see some of the new code to be moved around slightly, if you don't mind.

Copy link
Member

@Drakulix Drakulix left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks! Code-wise this looks great now. Just needs a QA review.

@Drakulix Drakulix requested a review from a team February 23, 2026 17:49
@Drakulix Drakulix merged commit 3f68eee into pop-os:master Feb 23, 2026
10 of 12 checks passed
@rhessus
Copy link

rhessus commented Feb 24, 2026

@Drakulix There is a small issue with this fix. When I move a maximized window between two workspaces, the destination workspace does not apply the maximized style to the panel and dock, and the source workspace keeps that style instead (opaque/transparent panel and dock). Not sure if that’s very clear…

2026-02-24.19-34-50.mp4

@Milli189
Copy link

there is an issue with this pull request, whenever I fullscreen a chromium based browser, then the scrolling stops being smooth and goes back to 60hz, and also when I maximize a chromium based browser or I fullscreen a video and I move the cursor to the top of the monitor to activate the "X" that appears on chromium based browsers to remove the fullscreen, it doesn't always happen and the anymation can be laggy, which doesn't happen on KDE Plasma

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.

5 participants