From 6d2d3006806eb73959a6c5d68896f7bc05c6598e Mon Sep 17 00:00:00 2001 From: Jason Creighton Date: Wed, 6 Jun 2007 02:50:56 +0200 Subject: move extraModifiers/cleanMask to Operations.hs so XMonadContrib can use them darcs-hash:20070606005056-b9aa7-96a3bb09f8e6dabd707eed7b5f19d733e5e1778e.gz --- Config.hs-boot | 2 ++ Main.hs | 6 ------ Operations.hs | 13 +++++++++++-- 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 -- cgit v1.2.3