Personal tools

Xmonad/Config archive/brad's xmonad.hs

From HaskellWiki

< Xmonad | Config archive
Revision as of 07:20, 12 January 2008 by B7j0c (Talk | contribs)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

import XMonad import qualified XMonad.StackSet as W import qualified Data.Map as M

-- hopefully it is obvious what changes i want to impose in xmonad: -- 1. no borders -- 2. urxvt is my terminal -- 3. mod+shift+w launches ff in worksapce 2 -- 4. mod+shift+u launches my shell -- 5. mod+shift+l locks the screen -- thats it! thanks to all the posters on xmonad.org whose configs i copied!

main :: IO () main = xmonad $ defaultConfig

      { borderWidth        = 0
      , terminal           = "urxvt -bg black -fg white -vb +sb"
      , workspaces         = ["shell", "web"] ++ map show [3..9]
      , normalBorderColor  = "#000000"
      , focusedBorderColor = "#000000"
      , keys = \c -> myKeys c `M.union` keys defaultConfig c
      , manageHook         = manageHook defaultConfig <+> myManageHook
      }

myKeys conf@(XConfig {modMask = modm}) = M.fromList $

   [
    ((modm .|. shiftMask, xK_w), spawn "firefox"),
    ((modm .|. shiftMask, xK_u), spawn "urxvt -fg white -bg black -vb +sb -fn \"xft:Liberation Mono:pixelsize=20\""),
    ((modm .|. shiftMask, xK_l), spawn "xlock -mode blank")
   ]

myManageHook :: ManageHook myManageHook = composeAll [

               className   =? "Firefox-bin"        --> doF(W.shift "web")
              ]