Guest User

Untitled

a guest
Jun 19th, 2018
128
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. import XMonad
  2. import qualified XMonad.StackSet as W
  3. import qualified Data.Map as M
  4. import System.IO
  5. import Data.Ratio ((%))
  6.  
  7. -- Utilities
  8. import XMonad.Util.Run (spawnPipe)
  9. import XMonad.Util.EZConfig
  10. import XMonad.Util.CustomKeys
  11.  
  12. -- Hooks
  13. import XMonad.Hooks.ManageDocks
  14. import XMonad.Hooks.DynamicLog
  15. import XMonad.Hooks.ManageHelpers
  16. import XMonad.Hooks.UrgencyHook
  17.  
  18. -- Layout
  19. import XMonad.Layout.IM
  20. import XMonad.Layout.Reflect
  21. import XMonad.Layout.NoBorders
  22. import XMonad.Layout.ResizableTile
  23. import XMonad.Layout.PerWorkspace
  24. import XMonad.Layout.ThreeColumns
  25. import XMonad.Layout.Spacing
  26.  
  27. -- Workspaces
  28. myWorkspaces  = ["1:Shells","2:Shells-2","3:Web","4:Mail","5:Docs Work","6:Web-Work","7:Media","8:File-Man","9:Minimise"]
  29.  
  30. myLayout = spacing 2 $ ( tiled ||| Mirror tiled ||| ThreeCol 1 (3/100) (1/2) ||| ThreeColMid 1 (3/100) (7/11) ||| Full )
  31.     where  
  32.       -- default tiling algorithm partitions the screen into two panes  
  33.       tiled = Tall nmaster delta ratio  
  34.       -- The default number of windows in the master pane  
  35.       nmaster = 1  
  36.       -- Default proportion of screen occupied by master pane  
  37.       ratio = 1/2
  38.       -- Percent of screen to increment by when resizing panes  
  39.       delta = 3/100
  40.  
  41. myManage = composeAll      
  42.       [ className =? "File Operation Progress"   --> doFloat  
  43.       , resource =? "desktop_window" --> doIgnore  
  44.       , className =? "xfce4-notifyd" --> doIgnore  
  45.       , className =? "Shotwell" --> doShift "5:graphic"  
  46.       , className =? "Gimp" --> doShift "5:graphic"  
  47.       , className =? "Totem" --> doShift "7:media"  
  48.       , isFullscreen --> doFullFloat
  49.       ]  
  50.  
  51. myLogHook dest = dynamicLogWithPP defaultPP { ppOutput = hPutStrLn dest
  52.                                             ,ppVisible = wrap "(" ")"
  53.                         }    
  54.  
  55. myKeys =
  56.     [ ((mod4Mask, xK_m), spawn "dmenu_run")
  57.     ]
  58.  
  59.  --newKeys x = M.union (keys defaultConfig x) (M.fromList (myKeys x))
  60.  
  61.  
  62. main = do
  63.    xmproc <- spawnPipe"/usr/bin/xmobar /home/llawwehttam/.xmobarrc"
  64.    spawn "xcompmgr -Cf"  
  65.    xmonad $ defaultConfig
  66.       {
  67.       terminal = "urxvt"
  68.       , manageHook = manageDocks <+> myManage <+> manageHook defaultConfig
  69.       , layoutHook = avoidStruts $ layoutHook defaultConfig { layoutHook = myLayout }
  70.       , logHook = myLogHook xmproc
  71.       , modMask = mod4Mask
  72.       , workspaces = myWorkspaces
  73.       , borderWidth = 1
  74.       , normalBorderColor = "#abc123"  
  75.       , focusedBorderColor = "#456def"
  76.       }
  77.        `additionalKeys` myKeys
Add Comment
Please, Sign In to add comment