Вертикальные плитки Xmonad с изменяемым размером скрывают панель xfce

Я пытаюсь иметь окна с изменяемым размером по вертикали, используя xmonads и xfce. Проблема в том, что как только я изменяю свой файл конфигурации, чтобы добиться этого с помощью Xmonad.Layout.ResizableTile, окна закрывают мою панель. Как я могу это исправить?

Вот мой xmonad.hs:

import XMonad
import XMonad.Config.Xfce
import XMonad.Layout.ResizableTile
import qualified Data.Map as M

myLayout = tall ||| Mirror tall ||| Full 
    where
    tall = ResizableTall 1 (3/100) (1/2) []

myKeys conf@(XConfig {XMonad.modMask = modm}) = M.fromList
    [ ((modm, xK_a), sendMessage MirrorShrink),
      ((modm, xK_z), sendMessage MirrorExpand)
    ]
newKeys x = myKeys x `M.union` keys xfceConfig x

main = xmonad $ xfceConfig
            { layoutHook = myLayout, 
              keys = newKeys
            }

Может кто-нибудь хотя бы объяснить, почему эта конфигурация скрывает панель? Спасибо!


person Questionbeggar    schedule 19.12.2015    source источник


Ответы (1)


Редактировать: я ответил слишком быстро, кажется, что приведенного ниже ответа недостаточно. У меня не установлен XFCE для тестирования, но здесь и здесь дополнительная информация об использовании XMonad и XFCE .

Извините, что не дал однозначного ответа...


Использование avoidStruts должно помочь.

import XMonad.Hooks.ManageDocks
...
myLayout = avoidStruts (tall ||| Mirror tall ||| Full)
    where tall = ResizableTall 1 (3/100) (1/2) []

Если это должно применяться только к определенным макетам, используйте его как

    myLayout = (myTall ||| myFull)
    where myTall = avoidStruts $ ResizableTall 1 (3/100) (1/2) []
          myFull = Full
person deshtop    schedule 19.12.2015
comment
Спасибо, вторая ссылка очень помогла. - person Questionbeggar; 19.12.2015