Advertisement
Guest User

Untitled

a guest
Mar 21st, 2019
79
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.38 KB | None | 0 0
  1. import XMonad
  2. import XMonad.Operations
  3. import XMonad.Util.EZConfig
  4. import XMonad.Util.DebugWindow
  5. import XMonad.Hooks.DebugStack
  6. import XMonad.Hooks.ManageDocks
  7. import qualified XMonad.StackSet as W
  8. import XMonad.Hooks.EwmhDesktops
  9.  
  10. import Control.Monad
  11. import Control.Exception
  12. import Numeric
  13. import Data.List
  14.  
  15. main :: IO ()
  16. main = do
  17. let xcf = docks $ def
  18. { modMask = mod4Mask
  19. , logHook = debugSt >> logH >> logHook def
  20. , layoutHook = avoidStruts (layoutHook def)
  21. , handleEventHook = handleEventHook def <+> fullscreenEventHook
  22. }
  23. `additionalKeys`
  24. [ ((mod4Mask, xK_b), sendMessage ToggleStruts)
  25. , ((mod4Mask, xK_x), spawn "xmobar ~/.xmobarrcAlt")
  26. , ((mod4Mask, xK_m), spawn "chromium")
  27. , ((mod4Mask, xK_r), refresh)
  28. ]
  29. xmonad xcf
  30.  
  31. -- Change order of `debugStack` output to natural..
  32. debugSt :: X ()
  33. debugSt = debugStackString >>= trace . unlines . reverse . lines
  34.  
  35. logH :: X ()
  36. logH = withWindowSet $ \ws -> do
  37. trace "Tree..."
  38. d <- asks display
  39. r <- asks theRoot
  40. (_, _, ts) <- liftIO $ queryTree d r
  41. ls <- mapM debugWindow ts
  42. trace (intercalate "\n" ls)
  43. where
  44. showWs :: [Window] -> ShowS
  45. showWs = fmap (intercalate "\n") . mapM showHex
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement