Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import XMonad
- import XMonad.Operations
- import XMonad.Util.EZConfig
- import XMonad.Util.DebugWindow
- import XMonad.Hooks.DebugStack
- import XMonad.Hooks.ManageDocks
- import qualified XMonad.StackSet as W
- import XMonad.Hooks.EwmhDesktops
- import Control.Monad
- import Control.Exception
- import Numeric
- import Data.List
- main :: IO ()
- main = do
- let xcf = docks $ def
- { modMask = mod4Mask
- , logHook = debugSt >> logH >> logHook def
- , layoutHook = avoidStruts (layoutHook def)
- , handleEventHook = handleEventHook def <+> fullscreenEventHook
- }
- `additionalKeys`
- [ ((mod4Mask, xK_b), sendMessage ToggleStruts)
- , ((mod4Mask, xK_x), spawn "xmobar ~/.xmobarrcAlt")
- , ((mod4Mask, xK_m), spawn "chromium")
- , ((mod4Mask, xK_r), refresh)
- ]
- xmonad xcf
- -- Change order of `debugStack` output to natural..
- debugSt :: X ()
- debugSt = debugStackString >>= trace . unlines . reverse . lines
- logH :: X ()
- logH = withWindowSet $ \ws -> do
- trace "Tree..."
- d <- asks display
- r <- asks theRoot
- (_, _, ts) <- liftIO $ queryTree d r
- ls <- mapM debugWindow ts
- trace (intercalate "\n" ls)
- where
- showWs :: [Window] -> ShowS
- showWs = fmap (intercalate "\n") . mapM showHex
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement