2014-09-15 2 views
9

У меня есть несколько вертикально уложенных плиток слева, а некоторые справа. Я могу легко горизонтально изменить размер главного окна (с mod + l и mod + h), но я бы хотел, чтобы по вертикали изменил размер некоторых окон (включая не-мастер) в этой настройке.xmonad вертикальное изменение размера плитка/окно

Как это сделать ??

ответ

10

Я не думаю, что это возможно со стандартом XMonad Tall, но альтернативные макеты, такие как ResizableTall от xmonad-contrib Поддержка изменения размера мастер-панели.

Чтобы изменить размер главной панели при использовании макета ResizableTall, связывайте сообщения XMonad.Layout.ResizableTile (MirrorShrink, MirrorExpand).

Например, в my config я определяю мой layoutHook и keys использовать ResizableTall с двумя главными панелями, а также с Mod-M + клавиши со стрелками, связанные с изменение размеров мастер-панелей, используя (упрощенный)

main = xmonad gnomeConfig 
    { layoutHook = Full ||| tall ||| Mirror tall 
    , keys = myKeys 
    } 
    where 
    -- Two master panes, 1/10th resize increment, only show master 
    -- panes by default. Unlike plain 'Tall', this also allows 
    -- resizing the master panes, via the 'MirrorShrink' and 
    -- 'MirrorExpand' messages. 
    tall = ResizableTall 2 (1/10) 1 [] 
    -- Add bindings for arrow keys that resize master panes. 
    myKeys x = M.fromList (newKeys x) `M.union` keys gnomeConfig x 
    newKeys [email protected](XConfig {XMonad.modMask = modm}) = 
    [ ((modm, xK_Left), sendMessage MirrorExpand) 
    , ((modm, xK_Up), sendMessage MirrorExpand) 
    , ((modm, xK_Right), sendMessage MirrorShrink) 
    , ((modm, xK_Down), sendMessage MirrorShrink) 
    ] 
+3

Может подтвердить, что [ 'ResizableTall'] (http://xmonad.org/xmonad-docs/xmonad-contrib/XMonad-Layout-ResizableTile.html) работает для вертикального изменения размера. – ElDog

Смежные вопросы