diff options
Diffstat (limited to '')
-rw-r--r-- | XMonad/Prompt.hs | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/XMonad/Prompt.hs b/XMonad/Prompt.hs index 07f80c0..fa0c8f4 100644 --- a/XMonad/Prompt.hs +++ b/XMonad/Prompt.hs @@ -345,7 +345,7 @@ handle ks@(sym,_) e@(KeyEvent {ev_event_type = t, ev_state = m}) = do when (length c > 1) $ modify (\s -> s { showComplWin = True }) if complKey == sym then completionHandle c ks e - else when (t == keyPress) $ cleanMask m >>= flip keyPressHandle ks + else when (t == keyPress) $ keyPressHandle m ks handle _ (ExposeEvent {ev_window = w}) = do st <- get when (win st == w) updateWindows @@ -424,8 +424,9 @@ defaultXPKeymap = M.fromList $ ] keyPressHandle :: KeyMask -> KeyStroke -> XP () -keyPressHandle mask (ks,str) = do +keyPressHandle m (ks,str) = do km <- gets (promptKeymap . config) + mask <- cleanMask m case M.lookup (mask,ks) km of Just action -> action >> updateWindows Nothing -> case str of |