From 45e4bd4ff66a411d965600a91a1c9de7c89a89c8 Mon Sep 17 00:00:00 2001 From: Adam Vogt Date: Tue, 10 Mar 2015 21:43:14 +0000 Subject: [PATCH] Add XMonad.Config.Bepo (Yorick Laupa) --- XMonad/Config/Bepo.hs | 47 +++++++++++++++++++++++++++++++++++++++++++ xmonad-contrib.cabal | 1 + 2 files changed, 48 insertions(+) create mode 100644 XMonad/Config/Bepo.hs diff --git a/XMonad/Config/Bepo.hs b/XMonad/Config/Bepo.hs new file mode 100644 index 00000000..65371c7e --- /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 +-- License : BSD +-- +-- Maintainer : Yorick Laupa +-- 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)]] diff --git a/xmonad-contrib.cabal b/xmonad-contrib.cabal index c949aca5..320b4003 100644 --- a/xmonad-contrib.cabal +++ b/xmonad-contrib.cabal @@ -147,6 +147,7 @@ library XMonad.Config.Arossato XMonad.Config.Azerty XMonad.Config.Bluetile + XMonad.Config.Bepo XMonad.Config.Desktop XMonad.Config.Dmwit XMonad.Config.Droundy