目前我使用

import XMonad.Layout.NoBorders
...
xmonad $ defaultConfig { layoutHook = noBorders  $  layoutHook defaultConfig }

但这使noBorder成为所有布局,而不仅仅是“Full”。

我知道,我可以简单地从默认配置中复制layoutHook定义,并在“noBorder”之前添加Full,但是我想要一个漂亮的方法,希望Haskell为它提供一些方法。

最佳答案

可以使用 noBorders 代替smartBorders,当只有一个窗口(或浮动窗口覆盖整个屏幕)时,它会隐藏边框。这与仅使用Full布局将其隐藏并不完全相同,但是对于您的目的而言,它可能足够接近。

失败的话,最好的选择可能是复制默认的layoutHook。它不是很大,而且您将来很有可能要自定义它。您也许可以为将LayoutClass应用于noBorders的所有标准 Full 的实例编写一个带有实例的类型类,但这比简单地复制默认的layoutHook更为丑陋。

08-26 10:45