summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Config.hs-boot2
-rw-r--r--Main.hs6
-rw-r--r--Operations.hs13
3 files changed, 13 insertions, 8 deletions
diff --git a/Config.hs-boot b/Config.hs-boot
index b6868aa..85b4339 100644
--- a/Config.hs-boot
+++ b/Config.hs-boot
@@ -1,4 +1,6 @@
module Config where
import Graphics.X11.Xlib.Types (Dimension)
+import Graphics.X11.Xlib (KeyMask)
borderWidth :: Dimension
logging :: Bool
+numlockMask :: KeyMask
diff --git a/Main.hs b/Main.hs
index d7ec4fd..03cf277 100644
--- a/Main.hs
+++ b/Main.hs
@@ -130,12 +130,6 @@ grabButtons dpy rootw = do
where grab button mask = grabButton dpy button mask rootw False buttonPressMask
grabModeAsync grabModeSync none none
-extraModifiers :: [KeyMask]
-extraModifiers = [0, numlockMask, lockMask, numlockMask .|. lockMask ]
-
-cleanMask :: KeyMask -> KeyMask
-cleanMask = (complement (numlockMask .|. lockMask) .&.)
-
-- ---------------------------------------------------------------------
-- | Event handler. Map X events onto calls into Operations.hs, which
-- modify our internal model of the window manager state.
diff --git a/Operations.hs b/Operations.hs
index a4d077d..a45a23b 100644
--- a/Operations.hs
+++ b/Operations.hs
@@ -16,11 +16,11 @@ module Operations where
import XMonad
import qualified StackSet as W
-import {-# SOURCE #-} Config (borderWidth,logging)
+import {-# SOURCE #-} Config (borderWidth,logging,numlockMask)
import Data.Maybe
import Data.List (genericIndex, intersectBy, partition, delete)
-import Data.Bits ((.|.))
+import Data.Bits ((.|.), (.&.), complement)
import Data.Ratio
import qualified Data.Map as M
@@ -433,6 +433,15 @@ withFocused f = withWindowSet $ \w -> whenJust (W.peek w) f
isClient :: Window -> X Bool
isClient w = withWindowSet $ return . W.member w
+-- | Combinations of extra modifier masks we need to grab keys/buttons for.
+-- (numlock and capslock)
+extraModifiers :: [KeyMask]
+extraModifiers = [0, numlockMask, lockMask, numlockMask .|. lockMask ]
+
+-- | Strip numlock/capslock from a mask
+cleanMask :: KeyMask -> KeyMask
+cleanMask = (complement (numlockMask .|. lockMask) .&.)
+
------------------------------------------------------------------------
-- | Floating layer support