diff options
Diffstat (limited to 'XMonad/Actions')
-rw-r--r-- | XMonad/Actions/GridSelect.hs | 8 |
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 |