From 2360e0ff921e7a3c03cb93a47f91911947614645 Mon Sep 17 00:00:00 2001 From: Andrea Rossato Date: Thu, 14 Jun 2007 16:43:48 +0200 Subject: Submap.hs: info and documentation darcs-hash:20070614144348-32816-3eaae908dbc6d07810fdb8ae4d6a598b5c07cd01.gz --- Submap.hs | 54 ++++++++++++++++++++++++++++++++++++------------------ 1 file changed, 36 insertions(+), 18 deletions(-) (limited to 'Submap.hs') diff --git a/Submap.hs b/Submap.hs index 987ff46..0dee401 100644 --- a/Submap.hs +++ b/Submap.hs @@ -1,21 +1,22 @@ -{- -Allows you to create a sub-mapping of keys. Example: - - , ((modMask, xK_a), submap . M.fromList $ - [ ((0, xK_n), spawn "mpc next") - , ((0, xK_p), spawn "mpc prev") - , ((0, xK_z), spawn "mpc random") - , ((0, xK_space), spawn "mpc toggle") - ]) - -So, for example, to run 'spawn "mpc next"', you would hit mod-a (to trigger the -submapping) and then 'n' to run that action. (0 means "no modifier"). You are, -of course, free to use any combination of modifiers in the submapping. However, -anyModifier will not work, because that is a special value passed to XGrabKey() -and not an actual modifier. --} - -module XMonadContrib.Submap where +----------------------------------------------------------------------------- +-- | +-- Module : XMonadContrib.Submap +-- Copyright : (c) Jason Creighton +-- License : BSD3-style (see LICENSE) +-- +-- Maintainer : Jason Creighton +-- Stability : unstable +-- Portability : unportable +-- +-- A module that allows the user to create a sub-mapping of keys bindings. +-- +----------------------------------------------------------------------------- + +module XMonadContrib.Submap ( + -- * Usage + -- $usage + submap + ) where import Control.Monad.Reader @@ -25,6 +26,23 @@ import Graphics.X11.Xlib import Graphics.X11.Xlib.Extras import qualified Data.Map as M +{- $usage +Allows you to create a sub-mapping of keys. Example: + +> , ((modMask, xK_a), submap . M.fromList $ +> [ ((0, xK_n), spawn "mpc next") +> , ((0, xK_p), spawn "mpc prev") +> , ((0, xK_z), spawn "mpc random") +> , ((0, xK_space), spawn "mpc toggle") +> ]) + +So, for example, to run 'spawn \"mpc next\"', you would hit mod-a (to trigger the +submapping) and then 'n' to run that action. (0 means \"no modifier\"). You are, +of course, free to use any combination of modifiers in the submapping. However, +anyModifier will not work, because that is a special value passed to XGrabKey() +and not an actual modifier. +-} + submap :: M.Map (KeyMask, KeySym) (X ()) -> X () submap keys = do XConf { theRoot = root, display = d } <- ask -- cgit v1.2.3