XMonad如何仅保留分块间间距,移除外围间距?
如何在XMonad中仅保留分块间间距、移除外围间距?
我想实现的效果是:只保留分块(tiles)之间的间距,让最左侧分块的左侧、最顶部分块的顶部等外围区域没有间距。当前的布局效果如下:
我查阅了XMonad的两个相关模块文档,但没找到合适的移除外围间距的选项:
- XMonad.Layout.Spacing
- XMonad.Layout.Gaps
以下是我当前在xmonad.hs中的间距配置:
myConfig = def ... -- , layoutHook = smartSpacingWithEdge 10 $ myLayout , layoutHook = smartSpacing 10 $ myLayout ...
编辑:测试解决方案后的问题
我尝试了相关解决方案,但发现屏幕边框、窗口边框和间隙(gaps)是完全独立的叠加关系——没法通过将屏幕边框设为0来抵消最外层的窗口边框,我也搞不清间隙和屏幕边框的区别,二者看起来都是在同一位置添加外围边框。
测试代码如下:
testSpace = spacingRaw True (Border 30 30 30 30) True (Border 40 40 40 40) True testGaps = gaps [(U,20), (D,20), (L,20), (R,20)] expandedL = testGaps . testSpace $ myLayout
我把间隙设为绿色、屏幕边框设为蓝色、窗口边框设为红色,不确定哪个层级在最外层,当前间隙(绿色)是最靠近屏幕边缘的:
进一步测试后发现,间隙、屏幕边框和窗口边框三者互不影响。比如使用以下代码:
-- `False` 和左侧参数设为全0的`True`效果一致 -- | testSpace = spacingRaw True (Border 0 0 0 0) True (Border 40 40 40 40) True testGaps = gaps [(U,0), (D,0), (L,0), (R,0)] expandedL = testGaps . testSpace $ myLayout
虽然移除了间隙和屏幕边框(绿色和蓝色矩形),但窗口边框(红色矩形)依然存在,导致外围间距还是没被去掉。
内容的提问来源于stack exchange,提问作者Andreas Näsman
相关产品推荐
相关产品推荐

