diff options
author | Jason Creighton <jcreigh@gmail.com> | 2007-03-25 22:37:02 +0200 |
---|---|---|
committer | Jason Creighton <jcreigh@gmail.com> | 2007-03-25 22:37:02 +0200 |
commit | aa8bec3561acb18150281ccf5f26ab91c047cc88 (patch) | |
tree | 0ba0a63c12c8471aec5482e86c32257ea1a3c24c | |
parent | 7615f442050deda41311abd1217932403cff4ed1 (diff) | |
download | metatile-aa8bec3561acb18150281ccf5f26ab91c047cc88.tar metatile-aa8bec3561acb18150281ccf5f26ab91c047cc88.zip |
Xinerama focus bug (couldn't focus on current workspace)
darcs-hash:20070325203702-b9aa7-ed927b7df5270a9dfaebbbf0105bb8f6f4b3402e
-rw-r--r-- | Main.hs | 31 |
1 files changed, 15 insertions, 16 deletions
@@ -402,22 +402,21 @@ view o = do ws <- gets workspace ws2sc <- gets wsOnScreen let m = W.current ws - when (n /= m) $ do - -- is the workspace we want to switch to currently visible? - if M.member n ws2sc - then windows $ W.view n - else do - sc <- case M.lookup m ws2sc of - Nothing -> do - trace "Current workspace isn't visible! This should never happen!" - -- we don't know what screen to use, just use the first one. - return 0 - Just sc -> return sc - modify $ \s -> s { wsOnScreen = M.insert n sc (M.filter (/=sc) ws2sc) } - gets wsOnScreen >>= trace . show - windows $ W.view n - mapM_ hide (W.index m ws) - setTopFocus + -- is the workspace we want to switch to currently visible? + if M.member n ws2sc + then windows $ W.view n + else do + sc <- case M.lookup m ws2sc of + Nothing -> do + trace "Current workspace isn't visible! This should never happen!" + -- we don't know what screen to use, just use the first one. + return 0 + Just sc -> return sc + modify $ \s -> s { wsOnScreen = M.insert n sc (M.filter (/=sc) ws2sc) } + gets wsOnScreen >>= trace . show + windows $ W.view n + mapM_ hide (W.index m ws) + setTopFocus where n = o-1 -- | True if window is under management by us |