Xmonad/Config archive/TeXitoi's xmonad.hs

From HaskellWiki
< Xmonad‎ | Config archive
Revision as of 12:09, 15 March 2010 by Texitoi (talk | contribs)
Jump to navigation Jump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.
import XMonad
import XMonad.Config.Desktop
import XMonad.Hooks.FadeInactive
import XMonad.Hooks.SetWMName
import XMonad.Layout.NoBorders
import qualified XMonad.Layout.HintedTile as HT
import qualified Data.Map as M
import qualified XMonad.StackSet as W
import Data.Bits ((.|.))

main = xmonad desktopConfig {
    modMask = mod4Mask,
    terminal = "urxvtc",
    keys = \c -> mykeys c `M.union` keys desktopConfig c,
    logHook = logHook desktopConfig >> fadeInactiveLogHook 0xcccccccc >> setWMName "LG3D",
    layoutHook = desktopLayoutModifiers . smartBorders $ tiled ||| Full,
    workspaces = map show [1..8],
    focusedBorderColor = "#729fcf",
    normalBorderColor = "#aaaaaa"
}

tiled = HT.HintedTile nmaster delta ratio HT.TopLeft HT.Tall where
    nmaster = 1
    ratio = 1/2
    delta = 3/100

mykeys conf@(XConfig {modMask = modm}) = M.fromList $
    [((mod1Mask, xK_Tab), windows W.focusDown),
     ((mod1Mask .|. shiftMask, xK_Tab), windows W.focusUp),
     ((mod4Mask, xK_i), sendMessage NextLayout)]
    ++
    [((m .|. modm, k), windows $ f i) |
       (i, k) <- zip (workspaces conf) numbepo,
       (f, m) <- [(W.greedyView, 0), (W.shift, shiftMask)]]

numbepo = [0x22,0xab,0xbb,0x28,0x29,0x40,0x2b,0x2d,0x2f,0x2a]
numazerty = [0x26,0xe9,0x22,0x27,0x28,0x2d,0xe8,0x5f,0xe7,0xe0]