| |||||||||||
| |||||||||||
| |||||||||||
Description | |||||||||||
A layout modifier that implements an event hook at the layout level. Since it operates at the Workspace level, it will install itself on the first current Workspace and will broadcast a Message to all other Workspaces not to handle events. | |||||||||||
Synopsis | |||||||||||
| |||||||||||
Usage | |||||||||||
You can use this module with the following in your ~/.xmonad/xmonad.hs: import XMonad.Hooks.EventHook Then edit your layoutHook by adding the eventHook: layoutHook = eventHook EventHookExample $ avoidStruts $ simpleTabbed ||| Full ||| etc.. and then: main = xmonad defaultConfig { layoutHook = myLayouts } For more detailed instructions on editing the layoutHook see: | |||||||||||
Writing a hook | |||||||||||
Writing a hook is very simple. This is a basic example to log all events: data EventHookExample = EventHookExample deriving ( Show, Read ) instance EventHook EventHookExample where handleEvent _ e = io $ hPutStrLn stderr . show $ e --return () This is an EventHook to log mouse button events: data EventHookButton = EventHookButton deriving ( Show, Read ) instance EventHook EventHookButton where handleEvent _ (ButtonEvent {ev_window = w}) = do io $ hPutStrLn stderr $ "This is a button event on window " ++ (show w) handleEvent _ _ = return () Obviously you can compose event hooks: layoutHook = eventHook EventHookButton $ eventHook EventHookExample $ avoidStruts $ simpleTabbed ||| Full ||| etc.. | |||||||||||
| |||||||||||
| |||||||||||
| |||||||||||
| |||||||||||
| |||||||||||
Produced by Haddock version 2.3.0 |