Я использую приведенную ниже привязку, чтобы сделать окно плавающим и перетаскиваемым:
myMouseBindings (XConfig {XMonad.modMask = modMask}) = M.fromList $
[
-- mod-button1, Set the window to floating mode and move by dragging
((modMask, button1),
(\w -> focus w >> mouseMoveWindow w))
-- mod-button2, Raise the window to the top of the stack
, ((modMask, button2),
(\w -> focus w >> windows W.swapMaster))
-- mod-button3, Set the window to floating mode and resize by dragging
, ((modMask, button3),
(\w -> focus w >> mouseResizeWindow w))
-- you may also bind events to the mouse scroll wheel (button4 and button5)
]
Это очень полезно, однако иногда я хочу заново вставить окно обратно в макет листов .Есть ли механизм в XMonad, чтобы сделать это?Некоторая функция funcThatInsertWindowBack :
((modMask .|. shiftMask, button1),
(\w -> focus w >> funcThatInsertWindowBack w))