Xmonad/Config archive/brad's xmonad.hs
From HaskellWiki
(Difference between revisions)
(brad's xmonad 0.5 config) |
|||
| Line 1: | Line 1: | ||
| + | <pre> | ||
import XMonad | import XMonad | ||
import qualified XMonad.StackSet as W | import qualified XMonad.StackSet as W | ||
| Line 33: | Line 34: | ||
className =? "Firefox-bin" --> doF(W.shift "web") | className =? "Firefox-bin" --> doF(W.shift "web") | ||
] | ] | ||
| + | </pre> | ||
Revision as of 07:20, 12 January 2008
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")
]
