import XMonad import qualified XMonad.StackSet as W import XMonad.Layouts import XMonad.Layout.Tabbed import XMonad.Operations import XMonad.Config (defaultConfig) import XMonad.Layout.NoBorders import XMonad.Actions.WindowBringer import XMonad.Hooks.DynamicLog import XMonad.Util.Run (spawnPipe) import Data.Bits import qualified Data.Map as M import Graphics.X11 import System.IO (hPutStrLn) main = do xmobar <- spawnPipe "xmobar" xmonad defaultConfig { defaultGaps = [(13,0,0,0)] , terminal = "urxvt" , workspaces = map show [1 .. 9 :: Int] --, workspaces = ["irc", "web"] ++ map show [3 .. 7 :: Int] ++ ["mail", "im"] --, logHook = dynamicLogWithPP $ sjanssenPP { ppOutput = hPutStrLn xmobar } , logHook = dynamicLogWithPP $ defaultPP { ppOutput = hPutStrLn xmobar } , manageHook = composeAll [className =? "trayer" --> doIgnore] , modMask = mod4Mask , layoutHook = smartBorders (tiled ||| Mirror tiled ||| Full ||| tabbed shrinkText defaultTConf) , keys = \c -> iddoKeys `M.union` keys defaultConfig c } where tiled = Tall 1 (4/100) (1/2) iddoKeys = M.fromList $ [ ((mod4Mask .|. shiftMask, xK_g ), gotoMenu) , ((mod4Mask .|. shiftMask, xK_b ), bringMenu) ]