diff options
Diffstat (limited to 'XMonad/Config')
-rw-r--r-- | XMonad/Config/Bepo.hs | 47 |
1 files changed, 47 insertions, 0 deletions
diff --git a/XMonad/Config/Bepo.hs b/XMonad/Config/Bepo.hs new file mode 100644 index 0000000..65371c7 --- /dev/null +++ b/XMonad/Config/Bepo.hs @@ -0,0 +1,47 @@ +{-# OPTIONS_GHC -fno-warn-missing-signatures #-} + +----------------------------------------------------------------------------- +-- | +-- Module : XMonad.Config.Bepo +-- Copyright : (c) Yorick Laupa <yo.eight@gmail.com> +-- License : BSD +-- +-- Maintainer : Yorick Laupa <yo.eight@gmail.com> +-- Stability : stable +-- Portability : unportable +-- +-- This module fixes some of the keybindings for the francophone among you who +-- use a BEPO keyboard layout. Based on XMonad.Config.Azerty + +module XMonad.Config.Bepo ( + -- * Usage + -- $usage + bepoConfig, bepoKeys + ) where + +import XMonad +import qualified XMonad.StackSet as W + +import qualified Data.Map as M + +-- $usage +-- To use this module, start with the following @~\/.xmonad\/xmonad.hs@: +-- +-- > import XMonad +-- > import XMonad.Config.Bepo +-- > +-- > main = xmonad bepoConfig +-- +-- If you prefer, an bepoKeys function is provided which you can use as so: +-- +-- > import qualified Data.Map as M +-- > main = xmonad someConfig { keys = \c -> bepoKeys c `M.union` keys someConfig c } + +bepoConfig = def { keys = bepoKeys <+> keys def } + +bepoKeys conf@(XConfig { modMask = modm }) = M.fromList $ + [((modm, xK_semicolon), sendMessage (IncMasterN (-1)))] + ++ + [((m .|. modm, k), windows $ f i) + | (i, k) <- zip (workspaces conf) [0x22,0xab,0xbb,0x28,0x29,0x40,0x2b,0x2d,0x2f,0x2a], + (f, m) <- [(W.greedyView, 0), (W.shift, shiftMask)]] |