Есть проблема: желание сделать переход в полноэкранный режим и обратно по нажатию некоторой комбинации клавиш.
Все было бы очень просто, и две строчки в xmonad.hs все решали бы
((modMask, xK_f), withFocused $ windows . (\w -> W.float w (W.RationalRect 0 0 1 1))),
((modMask .|. shiftMask), xK_f), withFocused $ windows . W.sink)
,
вот только они задействуют разные комбинации клавиш, а мне хотелось бы свести к одной.
Пока что идей немного, можно было бы сделать какой-то селектор, наподобие
((modMask, xK_f), withFocused $ windows . (if isFullscreen then W.sink else (\w -> W.float w (W.RationalRect 0 0 1 1))))
, однако isFullscreen обладает иной сигнатурой и, как я понял, предназначена для использования в ManageHook.
Итак, как это сделать? Я лишь вкатываюсь в XMonad, и знания Haskell несколько поверхностны, да.
fullscreen, haskell, xmonad