{-# OPTIONS_GHC -fno-warn-missing-signatures #-} ----------------------------------------------------------------------------- -- | -- Module : XMonad.Config.Azerty -- Copyright : (c) Devin Mullins -- License : BSD -- -- Maintainer : Devin Mullins -- Stability : stable -- Portability : unportable -- -- This module fixes some of the keybindings for the francophone among you who -- use an AZERTY keyboard layout. Config stolen from TeXitoi's config on the -- wiki. module XMonad.Config.Azerty ( -- * Usage -- $usage azertyConfig, azertyKeys ) 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.Azerty -- > -- > main = xmonad azertyConfig -- -- If you prefer, an azertyKeys function is provided which you can use as so: -- -- > import qualified Data.Map as M -- > main = xmonad someConfig { keys = \c -> azertyKeys c `M.union` keys someConfig c } azertyConfig = defaultConfig { keys = azertyKeys <+> keys defaultConfig } azertyKeys conf@(XConfig {modMask = modm}) = M.fromList $ [((modm, xK_semicolon), sendMessage (IncMasterN (-1)))] ++ [((m .|. modm, k), windows $ f i) | (i, k) <- zip (workspaces conf) [0x26,0xe9,0x22,0x27,0x28,0x2d,0xe8,0x5f,0xe7,0xe0], (f, m) <- [(W.greedyView, 0), (W.shift, shiftMask)]]