Advertisement
Guest User

aleax

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