summaryrefslogtreecommitdiffstats
path: root/tv/2configs/xserver/xmonad-tv/Util/Submap.hs
diff options
context:
space:
mode:
authortv <tv@shackspace.de>2015-10-24 22:31:10 +0200
committertv <tv@shackspace.de>2015-10-24 22:31:10 +0200
commit0306ec4294f6d825ca65c7b0c98a80a3bced8fdf (patch)
treeeb9e3772407963c25a4d6bd8125b3a2a72bb29ca /tv/2configs/xserver/xmonad-tv/Util/Submap.hs
parentb2deab26bd52a994003cafc33872b6c084cdd716 (diff)
tv: lol display-manager
Diffstat (limited to 'tv/2configs/xserver/xmonad-tv/Util/Submap.hs')
-rw-r--r--tv/2configs/xserver/xmonad-tv/Util/Submap.hs31
1 files changed, 0 insertions, 31 deletions
diff --git a/tv/2configs/xserver/xmonad-tv/Util/Submap.hs b/tv/2configs/xserver/xmonad-tv/Util/Submap.hs
deleted file mode 100644
index b09b97cc..00000000
--- a/tv/2configs/xserver/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)