Guest User

aleax

a guest
May 13th, 2009
177
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. import System.IO
  2. import Data.Ratio ((%))
  3.  
  4. import XMonad
  5.  
  6. import XMonad.Actions.CycleWS
  7. import XMonad.Actions.WindowGo
  8.  
  9. import XMonad.Hooks.DynamicLog
  10. import XMonad.Hooks.ManageDocks
  11. import XMonad.Hooks.ManageHelpers
  12.  
  13. import XMonad.Layout
  14. import XMonad.Layout.DragPane
  15. import XMonad.Layout.Grid
  16. import XMonad.Layout.NoBorders
  17. import XMonad.Layout.PerWorkspace
  18. import XMonad.Layout.IM
  19.  
  20. import XMonad.Prompt
  21. import XMonad.Prompt.Shell
  22.  
  23. import XMonad.Util.EZConfig
  24. import XMonad.Util.Run(spawnPipe)
  25. import XMonad.Util.Run
  26.  
  27. import qualified XMonad.StackSet as W
  28.  
  29.  
  30. main = do
  31.     h <- spawnPipe myStatusBar
  32.     xmonad $ defaultConfig
  33.       { manageHook = manageDocks <+> myManageHook <+> manageHook defaultConfig
  34.       , layoutHook = myLayoutHook
  35.       , logHook    = myLogHook h
  36.       , modMask    = myModMask
  37.       , terminal   = myTerminal        
  38.       , workspaces = myWorkSpaces
  39.       , startupHook        = myStartupHook
  40.       , normalBorderColor  = myNormalBorderColor
  41.       , focusedBorderColor = myFocusedBorderColor
  42.       } `additionalKeysP`
  43.       [
  44.       --- myKeyBindings ---
  45.  
  46.       ----------------------    
  47.       ---- applications ----
  48.       ----------------------
  49.  
  50.       --------------------
  51.       ---- navigation ----
  52.       --------------------
  53.  
  54.  
  55.  
  56.       ]`additionalKeys`
  57.       [ ((myModMask, xK_p), spawn "dmenu_run")
  58.        --- screenshots ----
  59.       , ((0, xK_Print), spawn "scrot '%Y-%m-%d-%H%M%S_$wx$h_full.png' --exec 'mv $f ~/screenshots && ln -sf $f ~/screenshots/last'")
  60.       ]
  61.  
  62. myStartupHook = do
  63.         --spawn "~/.autostart.sh"
  64.         --spawn "firefox"
  65.         spawn "inet-param"
  66.         --spawn "unclutter"
  67.         --spawn "stalonetray"
  68.         --spawn "echo \"bottom\" | dzen2 -y 1006 -bg '#006600' -p"
  69. --    spawn myBottomBar
  70.  
  71. --myIM = withIM (1%7) (And (ClassName "Qutim") (Role "qutIMClass") ) $ Grid
  72.  
  73. myLayoutHook = avoidStruts $ smartBorders $ layoutHook defaultConfig |||
  74.       Tall 1 (3 / 100) (1 / 2) ||| dragPane Horizontal 0.1 0.5 ||| Grid ||| Full
  75. --      ||| myIM
  76.      
  77. myLogHook h = dynamicLogWithPP $ xmobarPP
  78.       { ppOutput = hPutStrLn h
  79.         --ppOutput = System.IO.UTF8.hPutStrLn h
  80.       , ppTitle = xmobarColor "green" "" . shorten 75
  81.       }
  82.  
  83. myManageHook = composeAll
  84.       [ className =? "feh"        --> doCenterFloat --
  85.       , className =? "MPlayer"    --> doCenterFloat -- set these apps to float ontop of other windows --
  86.       , className =? "Smplayer"   --> doCenterFloat --
  87.       , className =? "Tilda"      --> doFloat       --
  88.  
  89.       , className =? "stalonetray"--> doIgnore
  90.  
  91.       , className =? "Wine"       --> doShiftAndGo "3:misc" --
  92.  
  93.       , className =? "MPlayer"    --> doShiftAndGo "6:media"  --
  94.       , className =? "Smplayer"   --> doShiftAndGo "6:media"  --
  95.  
  96.       , className =? "Opera"      --> doShiftAndGo "8:www" --
  97.       , className =? "Firefox"    --> doShiftAndGo "8:www" --
  98.  
  99.       , className =? "Qutim"      --> doShiftAndGo "9:im" --
  100.       , className =? "Skype"      --> doShiftAndGo "9:im" --
  101.       ]
  102.  
  103. doShiftAndGo :: WorkspaceId -> ManageHook
  104. doShiftAndGo ws = doF (W.greedyView ws) <+> doShift ws
  105.  
  106.  
  107. myModMask  = mod4Mask
  108.  
  109. -- Color, font and iconpath definitions:
  110. myNormalBorderColor  = "#dddddd"
  111. myFocusedBorderColor = "#ff6600"
  112. myNormalFGColor = "#ffffff"
  113. myNormalBGColor = "#0f0f0f"
  114. myDzenFGColor = "#555555"
  115. myDzenBGColor = ""
  116. myFocusedFGColor = "#f0f0f0"
  117. myFocusedBGColor = "#333333"
  118. myUrgentFGColor = "#0099ff"
  119. myUrgentBGColor = "#0077ff"
  120. myIconFGColor = "#777777"
  121. myIconBGColor = ""
  122. mySeperatorColor = "#555555"
  123. myFont = "-xos4-terminus-medium-r-normal-*-14-*-*-*-c-*-*-1"
  124. myIconDir = "~/.dzen"
  125.  
  126.  
  127. myTerminal = "gnome-terminal"
  128.  
  129. myWorkSpaces = ["1:work", "2:dev", "3:misk", "4:sys", "5:gfx", "6:media", "7:msg", "8:www", "9:im"]
  130.  
  131.  
  132. --myXPConfig = defaultXPConfig
  133. --      { font        = "-*-terminus-*-*-*-*-14-*-*-*-*-*-iso10646-1"
  134. --      , bgColor     = "Black"
  135. --      , fgColor     = "Cyan"
  136. --      , bgHLight    = "Cyan"
  137. --      , fgHLight    = "Black"
  138. --      , borderColor = "Black"
  139. --      , position    =  Top
  140. --      }
  141.  
  142. -- Statusbars
  143. myStatusBar = "xmobar ~/.xmonad/xmostatusbar"
  144.  
  145.  
  146.  
Advertisement
Add Comment
Please, Sign In to add comment