简体   繁体   中英

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

This is my layout config:

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

How to prevent floating window from always staying on top and rather hide below the active window on a workspace?

The answer to the question as asked is that it can't be done from outside the xmonad library. xmonad has a deeply-baked assumption that all floating windows should appear above any tiled window.

If you don't ever need to resize your floating windows, you could consider playing with SimplestFloat , LayoutCombinators , and sending messages in your manageHook , but I suspect it's going to be more trouble than it's worth.

Otherwise your only recourse is grabbing a copy of the xmonad source and modifying it.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM