So far, so good, yet it doesn't work. The reason lies in Operations.hs,
specifically in the "windows" function:
io $ restackWindows d (map fst vs)
This makes all my efforts useless. For now I've put the raiseWindow line
into the logHook where it works, but I think this is not the right place.
Any suggestions how to improve this? Would a patch for making the
restacking behaviour configurable be accepted?
I can't find the original bug where I proposed changing the above to raiseWindow the focused window instead of hammering the entire z-order; but I reference it in <
https://code.google.com/p/xmonad/issues/detail?id=346#c13 >. But that change would fix or mitigate a number of issues, and probably make the floating layer issues a bit more tractable.
It could (and probably should) be argued that stacking belongs in the layout, probably by a new field which existing layouts would default. A global change to the stacking policy would then be a layout modifier along the lines of avoidStruts or smartBorders, plus custom layouts could also replace it at need.
--