我是 Haskell 和 XMonad 初学者。我正在尝试设置平铺布局以允许三个并排的列(这样我就可以在每个工作区同时拥有三个又高又瘦的 Vim 实例进行编码)。
在文档中,我发现三列布局函数,甚至设法导入它并定义自定义布局,但我不确定如何将其添加到 my layoutHook
,它已经定义了一些内容教程我读书,是为了保证我的xmobar
安全,免受窗户遮盖的影响。
我的相关行xmonad.hs
:
import XMonad.Layout.ThreeColumns
threeLayout = ThreeCol 1 (3/100) (1/2)
...
main = do
xmonad $ defaultConfig
{ manageHook = manageDocks <+> manageHook defaultConfig
, layoutHook = avoidStruts $ layoutHook defaultConfig
...
如何更改该layoutHook
行以保留现有配置,同时添加三列图块布局?
答案1
我只是忘记了默认配置并开始自己定义一些东西。所以走那条路:
myLayoutHook = avoidStruts(smartBorders(ThreeColumns ||| Circle ||| Grid ||| ANY_OTHER_LAYOUT_YOU_USE)
main = do
xmonad $ desktopConfig
{ layoutHook = myLayoutHook
...
这也有avoidStruts
,当你说你想保留现有的配置时,这似乎就是你想要的。smartBorders
不需要时隐藏边框是另一件好事,例如当一个屏幕上只有一个窗口时。