Я предпочитаю использовать клавиатуру для плавания или опускания окон. К сожалению, при плавании окна не перемещаются и не изменяются в размерах, поэтому визуально не видно, что они все еще плиточные. В идеале, при переходе на плавающий слой, я должен заставить их перемещаться в центр экрана и/или изменять размер.
Лучшее решение будет работать вместе с приведенной ниже функцией (или чем-то подобным), которую я вызываю с привязкой к клавишам - я бы хотел, чтобы плавание по щелчку мыши по-прежнему работало нормально.
toggleFloat = withFocused (\windowId -> do
{ floats <- gets (W.floating . windowset);
if windowId `M.member` floats
then withFocused $ windows . W.sink
else float windowId })
(Код украден, я все еще не разбираюсь в Haskell :c)
Edit: keysMoveWindowTo в модифицированном коде ниже может фактически просто заменить "float windowId", что делает его излишним.