Advertisement
Guest User

hellomynameisphil's xmonad.hs (Dec 20, 2010)

a guest
Dec 20th, 2010
270
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. ----------------------------------
  2. -- Import
  3. ----------------------------------
  4.  
  5. import System.Posix.Unistd
  6. import XMonad
  7. import XMonad.Actions.GridSelect
  8. import XMonad.Hooks.DynamicLog
  9. import XMonad.Hooks.EwmhDesktops
  10. import XMonad.Hooks.ManageDocks
  11. import XMonad.Layout
  12. import XMonad.Layout.LayoutHints
  13. import XMonad.Layout.MouseResizableTile
  14. import XMonad.Layout.NoBorders
  15. import XMonad.Layout.NoFrillsDecoration
  16. import XMonad.Layout.ShowWName
  17. import XMonad.Layout.Tabbed
  18. import XMonad.Prompt
  19. import XMonad.Prompt.Shell
  20. import XMonad.Prompt.Workspace
  21. import XMonad.Prompt.XMonad
  22. import XMonad.Util.EZConfig
  23. import XMonad.Util.Run
  24.  
  25. ----------------------------------
  26. -- Main
  27. ----------------------------------
  28.  
  29. main = do
  30.    spawn myTerminal
  31.    xmonad $ ewmh defaultConfig
  32.     { borderWidth        = myBorderWidth
  33.     , terminal           = myTerminal
  34.     , modMask            = myModMask
  35.     , focusedBorderColor = myFocusedBorderColor
  36.     , normalBorderColor  = myNormalBorderColor
  37.     , layoutHook         = myLayoutHook
  38.     , manageHook         = newManageHook
  39.     , workspaces         = myWorkspaces
  40.     } `additionalKeys`
  41.         [ ((myModMask,                 xK_b),  spawn myStatusBar)
  42.         , ((myModMask .|. shiftMask,   xK_b),  sendMessage ToggleStruts)
  43.         , ((myModMask,                 xK_c),  spawn myBrowserSelector)
  44.         , ((myModMask,                 xK_d),  spawn myWorkspaceSelector)
  45. --        , ((myModMask .|. shiftMask,   xK_d),  workspacePrompt myXPConfig (windows . W.shift))
  46.         , ((myModMask,                 xK_g),  goToSelected myGSConfig)
  47.         , ((myModMask,                 xK_p),  shellPrompt myXPConfig)
  48.         , ((myModMask .|. shiftMask,   xK_p),  xmonadPrompt myXPConfig)
  49.         , ((myModMask,                 xK_w),  spawn myWindowSelector)
  50.         , ((myModMask,                 xK_x),  spawn myDmenuRun)
  51.         , ((myModMask .|. controlMask, xK_Return), spawn "x-terminal-emulator -e 2menu")
  52.         ]
  53.  
  54. ----------------------------------
  55. -- Settings and hooks
  56. ----------------------------------
  57.  
  58. myBorderWidth        = 1
  59. myTerminal           = "x-terminal-emulator"
  60. myModMask            = mod4Mask
  61. myFocusedBorderColor = "#ffffff"
  62. myNormalBorderColor  = "#303030"
  63. myLayoutHook         = showWName' mySWNConfig (avoidStruts $ layoutHintsWithPlacement (0.5,0) (noBorders (tabbed shrinkText myTabConfig) ||| noFrillsDeco shrinkText myTabConfig (mouseResizableTile ||| noBorders Full))) ||| noBorders Full
  64. myManageHook         = composeAll [ className =? "Chromium"   --> doShift "myWS2"
  65.                                  , className =? "Conky"      --> doFloat
  66.                                  , className =? "Jumanji"    --> doShift "myWS2"
  67.                                  , className =? "Midori"     --> doShift "myWS2"
  68.                                  , className =? "Tilda"      --> doFloat
  69.                                  , className =? "Zenity"     --> doFloat
  70.                                  ]
  71. newManageHook        = manageDocks <+> myManageHook
  72. myWorkspaces         = [myWS1,myWS2,myWS3,myWS4,myWS5]
  73.                         where
  74.                           myWS1 = "t3rm"
  75.                           myWS2 = "web"
  76.                           myWS3 = "3hree"
  77.                           myWS4 = "fuzz"
  78.                           myWS5 = "5ive"
  79.  
  80. ----------------------------------
  81. -- Themes and stuff
  82. ----------------------------------
  83.  
  84. -- Gridselect theme options
  85. myGSConfig           = defaultGSConfig { gs_cellheight = 50
  86.                                       , gs_cellwidth  = 150
  87.                                       , gs_font       = "xft:" ++ myDmenuFont
  88.                                       }
  89.  
  90. -- Show Workspace Name options
  91. mySWNConfig          = defaultSWNConfig { swn_font    = "xft:" ++ myDmenuFontFamily ++ "-24:bold"
  92.                                        , swn_bgcolor = myDmenuColor1
  93.                                        , swn_color   = myDmenuColor2
  94.                                        , swn_fade    = 0.3
  95.                                        }
  96.                                        
  97. -- Tab theme options
  98. myTabConfig          = defaultTheme { activeColor         = myActiveColor
  99.                                    , inactiveColor       = myInactiveColor
  100.                                    , urgentColor         = myUrgentColor
  101.                                    , activeBorderColor   = myActiveTabBorderColor
  102.                                    , inactiveBorderColor = myInactiveTabBorderColor
  103.                                    , urgentBorderColor   = myUrgentTabBorderColor
  104.                                    , activeTextColor     = myActiveTextColor
  105.                                    , inactiveTextColor   = myInactiveTextColor
  106.                                    , urgentTextColor     = myUrgentTextColor
  107.                                    , fontName            = "xft:" ++ myFontName
  108.                                    , decoHeight          = myDecoHeight
  109.                                    }
  110.  
  111. myActiveColor            = "#202020"
  112. myInactiveColor          = "#111111"
  113. myUrgentColor            = "#ff0000"
  114. myActiveTabBorderColor   = "#303030"
  115. myInactiveTabBorderColor = "#000000"
  116. myUrgentTabBorderColor   = "#ffffff"
  117. myActiveTextColor        = "#00ff00"
  118. myInactiveTextColor      = "#007700"
  119. myUrgentTextColor        = "#ffffff"
  120. myFontName               = "snap"
  121. myDecoHeight             = 13
  122.  
  123. -- Prompt config
  124. myXPConfig           = defaultXPConfig { font        = myFontName
  125.                                       , bgColor     = myActiveColor
  126.                                       , fgColor     = myActiveTextColor
  127.                                       , fgHLight    = myActiveColor
  128.                                       , bgHLight    = myActiveTextColor
  129.                                       , borderColor = myActiveTabBorderColor
  130.                                       , height      = myDecoHeight
  131.                                       }
  132.  
  133. -- Theme settings for d{zen2,menu}
  134. myDmenuFontFamily   = "Sony Sketch EF"
  135. myDmenuFontSize     = "12"
  136. myDmenuFontStyle    = ""
  137. myDmenuFont         = myDmenuFontFamily ++ "-" ++ myDmenuFontSize ++ myDmenuFontStyle
  138. myDmenuColor1       = myActiveColor
  139. myDmenuColor2       = myActiveTextColor
  140. myDmenuOptions      = "-b -fn '" ++ myDmenuFont ++ "' -i -nb '" ++ myDmenuColor1 ++ "' -nf '" ++ myDmenuColor2 ++ "' -sb '" ++ myDmenuColor2 ++ "' -sf '" ++ myDmenuColor1 ++ "'"
  141. myBrowserSelector   = "choosebrwsr2 -p 'Choose a browser:' " ++ myDmenuOptions
  142. myDmenuRun          = "dmenu_run -p 'Run:' " ++ myDmenuOptions
  143. myStatusBar         = "xmonad-status -bg '#000000' -fn '" ++ myFontName ++ "' -y 587 -h 13"
  144. myWindowSelector    = "dtask -p 'Choose a window:' " ++ myDmenuOptions
  145. myWorkspaceSelector = "ddesk -p 'Choose a workspace:' " ++ myDmenuOptions
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement