我想
- (仅)从覆盖全屏的浮动窗口(如 mplayer)中删除边框,以及
- 当工作区中只有一个窗口时,使用不同的边框颜色 (normalBorderColor)。
目前,我正在使用 XMonad.Layout.NoBorders 中的 smartBorders 从 mplayer 中删除边框,并在该窗口是工作区中唯一的窗口时删除该窗口的边框。但是,当我在两个都有一个非浮动窗口(无论模式(高/镜像/全))的两个工作区之间切换时,我会看到窗口(在我正在更改的工作区中)“跳跃”了一下,当它的边框被绘制时,然后在稍后的片刻中移除(如果你将borderWidth设置为一个大数字,效果会更明显)。
下面给出了我的 ~/.xmonad/xmonad.hs 的相关部分。
import XMonad.Hooks.ManageDocks
import XMonad.Layout.NoBorders
myLayout = tiled ||| Mirror tiled ||| Full
where
tiled = Tall 1 (3/100) (3/5)
main = xmonad $ defaultConfig
{ layoutHook = avoidStruts $ smartBorders $ myLayout
, borderWidth = 4
, normalBorderColor = "#000000" -- black
, focusedBorderColor = "#ff3f3f" -- reddish
}
你们知道我是如何达到这个效果的吗?(第 2 部分。甚至可能吗?)非常感谢对实现类似效果的扩展和/或现有配置的建议和指针。