Xmonad 如何防止浮动 window 始终保持在顶部?

Xmonad how to prevent floating window from staying always on top?

这是我的布局配置:

mySpacing :: Integer -> l a -> XMonad.Layout.LayoutModifier.ModifiedLayout Spacing l a
mySpacing i = spacingRaw False (Border i i i i) True (Border i i i i) True

tiled    =   renamed [Replace "tiled"]
           $ smartBorders
           $ limitWindows 12
           $ mySpacing 5
           $ ResizableTall 1 (3/100) (1/2) []
full    =    renamed [Replace "full"]
           $ noBorders
           $ Full
magnify  =   renamed [Replace "magnify"]
           $ magnifier
           $ limitWindows 4
           $ mySpacing 5
           $ ResizableTall 1 (3/100) (1/2) []

myLayout = T.toggleLayouts full $ desktopLayoutModifiers $ onWorkspaces ["7"] magnify $ myDefaultLayout
  where
    myDefaultLayout = tiled
                  ||| magnify

如何防止浮动 window 始终停留在顶部,而是隐藏在工作区中的活动 window 下方?

所问问题的答案是无法从 xmonad 库外部完成。 xmonad 有一个根深蒂固的假设,即所有浮动 windows 应该出现在任何平铺 window.

之上

如果您永远不需要调整浮动 windows 的大小,您可以考虑使用 SimplestFloat, LayoutCombinators, and sending messages in your manageHook,但我怀疑它会比它的价值更麻烦。

否则你唯一的办法就是获取 xmonad 源的副本并修改它。