rendered paste bodyimport XMonadimport System.Exitimport System.IOimport Data.Ratio ((%))import qualified XMonad.StackSet as Wimport qualified Data.Map as Mimport XMonad.Hooks.ManageHelpersimport XMonad.Actions.CycleWSimport XMonad.Hooks.DynamicLogimport XMonad.Hooks.ManageDocksimport XMonad.Util.Run(spawnPipe)import XMonad.Layout.Tabbedimport XMonad.Layout.DecorationMadnessimport XMonad.Layout.NoBordersimport XMonad.Layout.DragPaneimport XMonad.Layout.Gridimport XMonad.Layout.ShowWNameimport XMonad.Promptimport XMonad.Prompt.Shellimport qualified XMonad.Actions.ConstrainedResize as SqrmyManageHook = composeAll [ className =? "MPlayer" --> doCenterFloat , className =? "Gimp-2.6" --> doFloat , className =? "Gimp" --> doFloat , className =? "feh" --> doCenterFloat , className =? "XCalc" --> doCenterFloat , className =? "Gtk-chtheme" --> doCenterFloat , className =? "XFontSel" --> doCenterFloat , className =? "Xmag" --> doCenterFloat , title =? "Event Tester" --> doFloat , title =? "gThumb" --> doFullFloat , className =? "Xmessage" --> doCenterFloat , className =? "Gmessage" --> doCenterFloat ] <+> composeOne [ isFullscreen -?> doFullFloat ]myNormalBGColor = "#2c2c2c"myFocusedBGColor = "#3f3f3f"myNormalFGColor = "#9c9c9c"myFocusedFGColor = "#C4B089"myUrgentFGColor = "#f57900"myUrgentBGColor = myNormalBGColormySeperatorColor = "#2e3436"myFont = "-*-bitstream vera sans mono-medium-r-normal-*-10-*-*-*-*-*-*-*"myNormalBorderColor = "#606060"myFocusedBorderColor = "#9c9c9c"myXPConfig = defaultXPConfig { bgColor = myNormalBGColor , fgColor = myNormalFGColor , fgHLight = myFocusedFGColor , bgHLight = myNormalBGColor , height = 14 , position = Top , font = myFont , borderColor = myNormalBorderColor }-- keybindings {{{myKeys conf@(XConfig {modMask = modm}) = M.fromList $ [ ((0, xK_Redo), nextWS) , ((0, xK_Undo), prevWS) , ((shiftMask, xK_Redo), shiftToNext) , ((shiftMask , xK_Undo), shiftToPrev) , ((modm , xK_x), shellPrompt myXPConfig) , ((modm, xK_p), spawn ("exec `dmenu_path | dmenu -fn '" ++ myFont ++ "' -nb '" ++ myNormalBGColor ++ "' -nf '" ++ myNormalFGColor ++ "' -sb '" ++ myFocusedBGColor ++ "' -sf '" ++ myFocusedFGColor ++ "'`"))]-- }}}-- mouse bindingsmyMouseBindings (XConfig {XMonad.modMask = modm}) = M.fromList $ [ ((modm, button1), (\w -> focus w >> mouseMoveWindow w)) , ((modm, button2), (\w -> focus w >> windows W.swapMaster)) -- raise window to top of stack , ((modm, button3), (\w -> focus w >> Sqr.mouseResizeWindow w False)) , ((modm .|. shiftMask, button3), (\w -> focus w >> Sqr.mouseResizeWindow w True))] -- constrained resize-- }}}-- layouts {{{tabbedConf = defaultTheme { inactiveBorderColor = "#707070" , activeBorderColor = "#707070" , activeColor = myFocusedBGColor , inactiveColor = myNormalBGColor , activeTextColor = myFocusedFGColor , inactiveTextColor = myNormalFGColor , decoHeight = 14 , fontName = myFont }tabbedLayout = tabbedBottomAlways shrinkText tabbedConf -- retain tab for single window in tabbed layoutmyLayoutHook = avoidStruts $ showWName $ smartBorders $ Tall 1 (3 / 100) (1 / 2) ||| dragPane Horizontal 0.1 0.5 ||| tabbedLayout ||| Grid ||| Full-- }}}main = do xmproc <- spawnPipe "xmobar" xmonad $ defaultConfig { borderWidth = 1, focusFollowsMouse = True, workspaces = ["1","2","3","4","5","6","7","8","9"], terminal = "xfce4-terminal", modMask = mod4Mask, manageHook = myManageHook <+> manageHook defaultConfig, layoutHook = myLayoutHook, normalBorderColor = myNormalBorderColor, focusedBorderColor = myFocusedBorderColor, keys = \c -> myKeys c `M.union` keys defaultConfig c, mouseBindings = myMouseBindings }