LINUX.ORG.RU

Включение-отключение полноэкранного режима в XMonad

 , ,


0

1

Есть проблема: желание сделать переход в полноэкранный режим и обратно по нажатию некоторой комбинации клавиш.

Все было бы очень просто, и две строчки в 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 несколько поверхностны, да.

У меня настроено так, что при нажатии modMak + b скрывается xmobar, соответственно открытое окно разворачивается на весь экран. При повторном нажатии modMask +b появляется xmobar, окно соответственно уменьшается на его величину.

ChubaDuba ()