SHARE
TWEET

My xmonad config

edv Oct 13th, 2011 82 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. import XMonad
  2. import XMonad.Hooks.ManageDocks
  3. import System.IO
  4. import XMonad.Util.Run(spawnPipe)
  5. import XMonad.Util.EZConfig(additionalKeys)
  6. import XMonad.Hooks.DynamicLog
  7. import XMonad.Layout.NoBorders
  8. import XMonad.Actions.CycleWS
  9. import XMonad.Actions.DynamicWorkspaces
  10. import XMonad.Prompt
  11. import XMonad.Prompt.RunOrRaise
  12. import XMonad.Prompt.Window
  13. import XMonad.Layout.Tabbed
  14. import XMonad.Prompt.Ssh
  15. import XMonad.Prompt.Man
  16. import XMonad.Layout.DecorationMadness
  17.  
  18. import qualified Data.Map as M
  19.  
  20. main = do
  21.         xmproc <- spawnPipe "xmobar -x 0"
  22.         xmpro2 <- spawnPipe "xmobar -x 1 ~/.xmobarrc2"
  23.         xwall  <- spawnPipe "xpmroot ~/swahili.png"
  24. --      gsetm  <- spawnPipe "gnome-settings-daemon"
  25.         xmtray <- spawnPipe "trayer --edge top --align right --SetDockType true --SetPartialStrut true --expand true --width 4 --transparent true --alpha 0 --tint 0x000000 --height 16 &"
  26.         thbird <- spawnPipe "thunderbird"
  27.         pidgin <- spawnPipe "pidgin"
  28.         boinc  <- spawnPipe "./BOINC/run_client"
  29.         xmonad $ defaultConfig
  30.                 { manageHook = manageDocks <+> manageHook defaultConfig
  31.                 , layoutHook = avoidStruts $ smartBorders $ tabbed shrinkText myTabConfig ||| layoutHook defaultConfig
  32.                 , logHook = dynamicLogWithPP $ xmobarPP
  33.                         { ppOutput = \s -> do
  34.                                                         hPutStrLn xmproc s
  35.                                                         hPutStrLn xmpro2 s
  36.                         , ppTitle = xmobarColor "green" "" . shorten 150
  37.                         }              
  38.                 , modMask = mod4Mask
  39.                 , terminal = "gnome-terminal"
  40.                 , keys = \c -> myKeys c `M.union` keys defaultConfig c
  41.                 }
  42.  
  43. myKeys conf@(XConfig {XMonad.modMask = modMask}) = M.fromList $
  44.         [   ((modMask,                 xK_w), moveTo Next NonEmptyWS)
  45.           , ((modMask,                 xK_q), moveTo Prev NonEmptyWS)
  46.           , ((modMask                , xK_p), runOrRaisePrompt myXPConfig)
  47.           , ((modMask .|. controlMask, xK_j), prevScreen)
  48.       , ((modMask .|. controlMask, xK_k), nextScreen)
  49.           , ((modMask .|. controlMask, xK_s), sshPrompt myXPConfig)
  50.           , ((modMask .|. controlMask, xK_m), manPrompt myXPConfig)
  51.           , ((modMask .|. shiftMask,   xK_g), windowPromptGoto myXPConfig)
  52.           , ((modMask .|. shiftMask,   xK_b), windowPromptBring myXPConfig)
  53. --              , ((modMask .|. shiftMask, xK_Down),  shiftToNext)
  54. --              , ((modMask .|. shiftMask, xK_Up),    shiftToPrev)
  55. --              , ((modMask,               xK_Right), nextScreen)
  56. --              , ((modMask,               xK_Left),  prevScreen)
  57. --              , ((modMask .|. shiftMask, xK_Right), shiftNextScreen)
  58. --              , ((modMask .|. shiftMask, xK_Left),  shiftPrevScreen)
  59.           , ((modMask,                           xK_Tab),  toggleWS)
  60.         ]
  61.  
  62. myTabConfig = defaultTheme { fontName = "xft:DejaVu Sans:size=9" }
  63. myXPConfig = defaultXPConfig { font = "xft:DejaVu Sans:size=9" }
  64.  
  65.  
RAW Paste Data
Top