aboutsummaryrefslogtreecommitdiffstats
path: root/XMonad/Actions/GridSelect.hs
diff options
context:
space:
mode:
Diffstat (limited to 'XMonad/Actions/GridSelect.hs')
-rw-r--r--XMonad/Actions/GridSelect.hs8
1 files changed, 5 insertions, 3 deletions
diff --git a/XMonad/Actions/GridSelect.hs b/XMonad/Actions/GridSelect.hs
index 5d8307d..59e7172 100644
--- a/XMonad/Actions/GridSelect.hs
+++ b/XMonad/Actions/GridSelect.hs
@@ -154,9 +154,11 @@ handle d win (ks,_) (KeyEvent {ev_event_type = t})
(TwoDState pos win' _ _ _ _) <- get
return $ fmap (snd . snd) $ find ((== pos) . fst) win'
where diffAndRefresh diff = do
- (TwoDState pos windowlist gsconfig font paneX paneY) <- get
- put $ TwoDState (pos `tupadd` diff) windowlist gsconfig font paneX paneY
- updateWindows d win
+ (TwoDState pos windowmap gsconfig font paneX paneY) <- get
+ let newpos = pos `tupadd` diff
+ when (isJust $ find ((newpos ==).fst) windowmap) $ do
+ put $ TwoDState newpos windowmap gsconfig font paneX paneY
+ updateWindows d win
eventLoop d win
handle d win _ _ = do