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