xmonad垂直调整大小/窗口

时间:2014-09-15 22:08:09

标签: haskell window-managers xmonad

我左边有几个垂直堆叠的瓷砖,右边有一些。我可以轻松地水平调整主窗格的大小(使用 mod + l mod + h ),但我希望垂直调整大小这个设置中的一些窗口(包括非主窗口)。

我该怎么做?

1 个答案:

答案 0 :(得分:10)

我认为使用标准XMonad Tall布局无法做到这一点,但xmonad-contrib中的ResizableTall等替代布局支持调整主窗格的大小。

要在使用ResizableTall布局时调整主窗格的大小,请绑定XMonad.Layout.ResizableTile (MirrorShrink, MirrorExpand)消息。

例如,在my config中,我将layoutHookkeys定义为使用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 conf@(XConfig {XMonad.modMask = modm}) =
    [ ((modm, xK_Left),  sendMessage MirrorExpand)
    , ((modm, xK_Up),    sendMessage MirrorExpand)
    , ((modm, xK_Right), sendMessage MirrorShrink)
    , ((modm, xK_Down),  sendMessage MirrorShrink)
    ]