Skip to content

window: Slow down decoration changes when (un)fullscreening

Old SDL versions causes a feedback loop when a decorated client toggles fullscreen, where the reparent events makes it revert its fullscreen change over and over indefinitely. While this is fixed in newer versions of SDL, many games still use the old version, statically built into their binaries, and will likely never update.

To mitigate these feedback loops, don't update the decoration state for 250 ms after it changed. This gives clients enough time to settle into the state they expect to be, and we'll avoid the feedback loop.

Closes: #2678 (closed)

Merge request reports