diff options
-rw-r--r-- | XMonad/Actions/GridSelect.hs | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/XMonad/Actions/GridSelect.hs b/XMonad/Actions/GridSelect.hs index 86ef379..989e453 100644 --- a/XMonad/Actions/GridSelect.hs +++ b/XMonad/Actions/GridSelect.hs @@ -312,8 +312,10 @@ handle (ks,_) (KeyEvent {ev_event_type = t, ev_state = m }) | t == keyPress && ks == xK_Return = do (TwoDState { td_curpos = pos, td_elementmap = elmap }) <- get return $ fmap (snd . snd) $ findInElementMap pos elmap - | t == keyPress = maybe eventLoop diffAndRefresh . M.lookup (m,ks) - =<< gets (gs_navigate . td_gsconfig) + | t == keyPress = do + m' <- liftX (cleanMask m) + keymap <- gets (gs_navigate . td_gsconfig) + maybe eventLoop diffAndRefresh . M.lookup (m',ks) $ keymap where diffAndRefresh diff = do state <- get let elmap = td_elementmap state |