randalltux

xmonad.hs

Oct 2nd, 2014
272
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.57 KB | None | 0 0
  1. import XMonad
  2. import Control.Monad
  3. import System.IO
  4. import XMonad.Hooks.DynamicLog
  5. import XMonad.Hooks.ManageDocks
  6.  
  7. import XMonad.Util.Run (spawnPipe)
  8. import XMonad.Util.EZConfig (additionalKeys)
  9. import XMonad.Util.SpawnOnce
  10. import XMonad.Util.Loggers
  11.  
  12. import XMonad.Actions.GridSelect
  13. import XMonad.Actions.CycleWS (prevWS, nextWS)
  14.  
  15. import qualified XMonad.StackSet as W
  16. import qualified Data.Map as M
  17. import qualified GHC.IO.Handle.Types as H
  18.  
  19. import XMonad.Layout.Spacing
  20. import XMonad.Layout.Fullscreen
  21. import XMonad.Layout.NoBorders
  22. import XMonad.Layout.ResizableTile
  23.  
  24. ic = " ^i(/home/randalltux/.icons/xbm8x8/"
  25.  
  26. ruangKerja :: [String]
  27. ruangKerja = clickable $ [ ic ++ "diskette.xbm) "
  28. , ic ++ "fox.xbm) "
  29. , ic ++ "note.xbm) "
  30. , ic ++ "info_03.xbm) "
  31. , ic ++ "mail.xbm) "
  32. , ic ++ "mouse_01.xbm) "
  33. ]
  34. where clickable l = [ "^ca(1,xdotool key super+" ++ show (n) ++ ")" ++ ws ++ "^ca()" |
  35. (i,ws) <- zip [1..] l,
  36. let n = i ]
  37.  
  38. startup = do
  39. spawnOnce "xsetroot -cursor_name left_ptr &"
  40.  
  41. bg = "#2d2d2d"
  42. fg = "#ffffff"
  43. sg = "#444444"
  44. eg = "#b1b1b1"
  45.  
  46. logBar h = do
  47. dynamicLogWithPP $ tryPP h
  48. tryPP :: Handle -> PP
  49. tryPP h = defaultPP
  50. { ppOutput = hPutStrLn h
  51. , ppCurrent = dzenColor fg sg . pad
  52. , ppVisible = dzenColor eg bg . pad
  53. , ppHidden = dzenColor eg bg . pad
  54. , ppHiddenNoWindows = dzenColor eg bg . pad
  55. , ppWsSep = ""
  56. , ppSep = " | "
  57. , ppLayout = dzenColor fg bg . pad
  58. }
  59.  
  60. gsconfig2 colorizer = (buildDefaultGSConfig colorizer) { gs_cellheight = 30, gs_cellwidth = 100 }
  61.  
  62. greenColorizer = colorRangeFromClassName
  63. black
  64. (0x70,0xFF,0x70)
  65. black
  66. white
  67. white
  68. where black = minBound
  69. white = maxBound
  70.  
  71. tombol = [ ((mod4Mask, xK_r), spawn "gmrun")
  72. , ((mod4Mask, xK_m), sendMessage MirrorShrink)
  73. , ((mod4Mask, xK_u), sendMessage MirrorExpand)
  74. , ((mod4Mask, xK_g), goToSelected $ gsconfig2 greenColorizer )
  75. ]
  76.  
  77. main = do
  78. panel <- spawnPipe top
  79. info <- spawnPipe sys
  80. auto <- spawnPipe "/home/randalltux/.xmonad/autostart.sh"
  81. xmonad $ defaultConfig
  82. { manageHook = manageDocks <+> manageHook defaultConfig
  83. , layoutHook = avoidStruts $ ResizableTall 1 (2/300) (1/2) []
  84. , modMask = mod4Mask
  85. , workspaces = ruangKerja
  86. , terminal = "urxvt"
  87. , focusedBorderColor = "#444444"
  88. , normalBorderColor = "#2d2d2d"
  89. , borderWidth = 4
  90. , logHook = logBar panel
  91. } `additionalKeys` tombol
  92. where top = "dzen2 -p -ta l -e 'button3=' -fn 'drift-9' -fg '#ffffff' -bg '#2d2d2d' -h 24 -w 700"
  93. sys = "sh /home/randalltux/.xmonad/sysinfo.sh"
Advertisement
Add Comment
Please, Sign In to add comment