Source

install / xmonad.hs

Full commit
import XMonad
import XMonad.Config.Gnome
import XMonad.Util.EZConfig
import XMonad.Actions.CycleWS
import qualified XMonad.StackSet as W

myManageHook = composeAll (
  [ manageHook gnomeConfig
  , className =? "Unity-2d-panel" --> doIgnore
  , className =? "Gimp" --> doFloat
  ])

main = xmonad $ gnomeConfig { manageHook = myManageHook }
       { modMask = mod4Mask -- set the mod key to the windows key
       , borderWidth = 2
       }
       `additionalKeysP`
       [ ("M-p",          spawn "dmenu_run -b")
       , ("M-w",          spawn "google-chrome")
       , ("M-e",          spawn "/usr/bin/sublime-text-2")
       , ("M-x",          spawn "gnome-terminal")

       , ("M-<Up>",       windows W.focusUp)
       , ("M-<Down>",     windows W.focusDown)
       , ("S-M-<Up>",     windows W.swapUp)
       , ("S-M-<Down>",   windows W.swapDown)
       , ("C-M-<Up>",     sendMessage (IncMasterN 1))
       , ("C-M-<Down>",   sendMessage (IncMasterN (-1)))

       , ("M-<Right>",    nextWS)
       , ("M-<Left>",     prevWS)
       , ("S-M-<Right>",  shiftToNext >> nextWS)
       , ("S-M-<Left>",   shiftToPrev >> prevWS)
       , ("C-M-<Left>",   sendMessage Shrink)
       , ("C-M-<Right>",  sendMessage Expand)

       , ("M-z",          toggleWS)
       , ("M-f",          shiftTo Next EmptyWS)  -- find a free workspace
       , ("M-d",          moveTo Next EmptyWS)  -- move to a free workspace
       ]