I prefer to use the keyboard for swimming or lowering windows. Unfortunately, when swimming, the windows do not move or change, so there are few visual signs that they are not tiled yet. Ideally, when switching to a floating layer, I would move them to the center of the screen and / or resize.
A better solution will work along with the function below (or something similar) that I call with keybind - I would like the floating mouse click to continue working fine.
toggleFloat = withFocused (\windowId -> do { floats <- gets (W.floating . windowset); if windowId `M.member` floats then withFocused $ windows . W.sink else float windowId })
(The code is stolen, I still do not understand Haskell: c)
Edit: keyMoveWindowTo in the modified code below can actually replace the "float windowId", which makes it unnecessary.
source share