summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Main.hs9
1 files changed, 4 insertions, 5 deletions
diff --git a/Main.hs b/Main.hs
index d81d952..345e3f8 100644
--- a/Main.hs
+++ b/Main.hs
@@ -181,11 +181,10 @@ handle e@(MappingNotifyEvent {window = w}) = do
handle e@(CrossingEvent {window = w, event_type = t})
| t == enterNotify && mode e == notifyNormal && detail e /= notifyInferior
= do ws <- gets workspace
- case W.lookup w ws of
- Just n -> do setFocus w
- windows $ W.view n
- Nothing -> do b <- isRoot w
- when b setTopFocus
+ if W.member w ws
+ then setFocus w
+ else do b <- isRoot w
+ when b setTopFocus
-- left a window, check if we need to focus root
handle e@(CrossingEvent {event_type = t})