首页 > 解决方案 > XMonad 中浏览器窗口的零宽度边框

问题描述

我是新手XMonad。我想为所有窗口设置 1px 边框(这样我就可以知道哪个窗口处于活动状态),浏览器除外。在传统的窗口管理器中,我通常在指定的工作区中有一个最大化的 Web 浏览器窗口。我非常习惯将鼠标光标一直移动到屏幕的顶部边缘以选择浏览器选项卡。但是,如果我在浏览器窗口周围有 1px 边框,如果我将鼠标一直滑动到顶部,它最终会超过这个边框像素并且无法选择选项卡。

有没有办法为特定窗口定义关于边框宽度或任何其他此类属性的不同规则?

或者,如果它是工作区中唯一的一个,有没有办法在任何窗口周围没有边框?

标签: borderwindow-managersxmonad

解决方案


是的,一切皆有可能。

使用导入 xmonad-contrib 的NoBorders布局扩展

import XMonad.Layout.NoBorders

然后,manageHook您可以使用hasBorder检查程序等条件className(您可能希望使用 XOrg 的 Property displayerxprop来找出您的浏览器的实际情况className

className =? "firefox" --> hasBorder False

或者,您可以在给定布局中启动浏览器并在 layoutHook 定义中修改该布局以完全不显示边框noBorders,或者仅在给定的单窗口或全尺寸浮动场景中使用smartBorders

noBorders Full ||| smartBorders Tall ||| ...

推荐阅读