summaryrefslogtreecommitdiffstats
path: root/tv/5pkgs/xmonad-tv/Util/Submap.hs
diff options
context:
space:
mode:
authormakefu <github@syntax-fehler.de>2015-11-14 01:50:39 +0100
committermakefu <github@syntax-fehler.de>2015-11-14 01:50:39 +0100
commita0fbe917ac45cda4de0f16bced3ce3ebfc556fe8 (patch)
tree44b66f4c43eeec674dcd763eb50141dd567c35e7 /tv/5pkgs/xmonad-tv/Util/Submap.hs
parent79b890670100d08c3640fffade2caf3eced192d8 (diff)
parentebba531273715c1a9c124007b97f3547d16e780f (diff)
Merge remote-tracking branch 'cd/master' into pre-merge
Diffstat (limited to 'tv/5pkgs/xmonad-tv/Util/Submap.hs')
-rw-r--r--tv/5pkgs/xmonad-tv/Util/Submap.hs31
1 files changed, 0 insertions, 31 deletions
diff --git a/tv/5pkgs/xmonad-tv/Util/Submap.hs b/tv/5pkgs/xmonad-tv/Util/Submap.hs
deleted file mode 100644
index b09b97cc2..000000000
--- a/tv/5pkgs/xmonad-tv/Util/Submap.hs
+++ /dev/null
@@ -1,31 +0,0 @@
--- This module is based on Jason Creighton's XMonad.Actions.Submap
-
-module Util.Submap
- ( submapString
- ) where
-
-import Data.Bits
-import XMonad hiding (keys)
-import qualified Data.Map as M
-import Control.Monad.Fix (fix)
-
-
--- | Like 'XMonad.Actions.Submap.submapDefault', but provides the looked up string to the default action.
-submapString :: (String -> X ()) -> M.Map (KeyMask, KeySym) (X ()) -> X ()
-submapString def keys = do
- XConf { theRoot = root, display = d } <- ask
-
- (m, s, str) <- io $ allocaXEvent $ \p -> fix $ \nextkey -> do
- maskEvent d keyPressMask p
- KeyEvent { ev_keycode = code, ev_state = m } <- getEvent p
- keysym <- keycodeToKeysym d code 0
- if isModifierKey keysym
- then nextkey
- else do
- (mbKeysym, str) <- lookupString (asKeyEvent p)
- return (m, keysym, str)
-
- -- Remove num lock mask and Xkb group state bits
- m' <- cleanMask $ m .&. ((1 `shiftL` 12) - 1)
-
- maybe (def str) id (M.lookup (m', s) keys)