diff options
author | Spencer Janssen <sjanssen@cse.unl.edu> | 2007-07-05 21:52:13 +0200 |
---|---|---|
committer | Spencer Janssen <sjanssen@cse.unl.edu> | 2007-07-05 21:52:13 +0200 |
commit | d3403c078ef9eaa5a3e95c60ef029f36fef1db96 (patch) | |
tree | 7b9c4d5156491133c0dd2e6ddf51090da4e44df8 /Main.hs | |
parent | f24cb4af6ecef4097d2ab4638dee11fc5e3e313f (diff) | |
download | xmonad-d3403c078ef9eaa5a3e95c60ef029f36fef1db96.tar.gz xmonad-d3403c078ef9eaa5a3e95c60ef029f36fef1db96.tar.xz xmonad-d3403c078ef9eaa5a3e95c60ef029f36fef1db96.zip |
Note and workaround bugs in Operations.float
darcs-hash:20070705195213-a5988-2dd794ce7f294a43fd21d88ec7974679de60afb7.gz
Diffstat (limited to '')
-rw-r--r-- | Main.hs | 8 |
1 files changed, 6 insertions, 2 deletions
@@ -29,7 +29,7 @@ import Graphics.X11.Xinerama (getScreenInfo) import XMonad import Config -import StackSet (new, floating, member) +import StackSet (new, floating, member, findIndex, workspace, tag, current, visible) import qualified StackSet as W import Operations @@ -209,7 +209,11 @@ handle e@(ConfigureRequestEvent {ev_window = w}) = withDisplay $ \dpy -> do ws <- gets windowset wa <- io $ getWindowAttributes dpy w - if M.member w (floating ws) || not (member w ws) + -- TODO temporary workaround for some bugs in float. Don't call 'float' on + -- windows that aren't visible, because it changes the focused screen + let vis = any ((== findIndex w ws) . Just . tag . workspace) (current ws : visible ws) + if (M.member w (floating ws) && vis) + || not (member w ws) then do io $ configureWindow dpy w (ev_value_mask e) $ WindowChanges { wc_x = ev_x e , wc_y = ev_y e |