`ewmhFullscreen` doesn't restore floating windows
If a floating window is made fullscreen and then toggled back, it is sunk instead of floated. The code at https://github.com/xmonad/xmonad-contrib/blob/afd6824ce00063bb8e9b7a1c5daf0737c2f61616/XMonad/Hooks/EwmhDesktops.hs#L442C5-L444 unconditionally sinks the window when _NET_WM_STATE_FULLSCREEN is removed.
This will require saving the old window position for floats; the current code assumes sinking the window will handle positioning.
Checklist
-
[x] I've read CONTRIBUTING.md
-
I tested my configuration
- [x] With
xmonadversion 0.17.2 - [x] With
xmonad-contribversion 0.17.1
- [x] With
This could reasonably be parked until it matters to someone. Also, it's better not to try to address it until #866 goes in, since otherwise there will be a merge conflict.
I believe https://github.com/xmonad/xmonad-contrib/pull/768 solved this already.
"This commit only adds the hooks. Neither of the motivations are dealt with yet, so the docs are a bit terse still."
Well that's the first commit. The following one adds the thing.