aboutsummaryrefslogtreecommitdiffstats
path: root/XMonad/Hooks/ServerMode.hs
diff options
context:
space:
mode:
authorDaniel Schoepe <asgaroth_@gmx.de>2009-02-03 17:00:46 +0100
committerDaniel Schoepe <asgaroth_@gmx.de>2009-02-03 17:00:46 +0100
commit43e952a307c22f7098963061f7f6127974158c13 (patch)
treeadeef00961b45644558d6068522e77b36f0b2ff9 /XMonad/Hooks/ServerMode.hs
parenta76661c77c488d648dfdae72b2b8ab98d72c338d (diff)
downloadXMonadContrib-43e952a307c22f7098963061f7f6127974158c13.tar.gz
XMonadContrib-43e952a307c22f7098963061f7f6127974158c13.tar.xz
XMonadContrib-43e952a307c22f7098963061f7f6127974158c13.zip
Adjustments to use the new event hook feature instead of Hooks.EventHook
Ignore-this: f8c239bc8e301cbd6fa509ef748af542 darcs-hash:20090203160046-cb1c6-d66821c5b8a5a60e3b76148654c6e28806b37749.gz
Diffstat (limited to 'XMonad/Hooks/ServerMode.hs')
-rw-r--r--XMonad/Hooks/ServerMode.hs22
1 files changed, 8 insertions, 14 deletions
diff --git a/XMonad/Hooks/ServerMode.hs b/XMonad/Hooks/ServerMode.hs
index 4ff9c95..66e3943 100644
--- a/XMonad/Hooks/ServerMode.hs
+++ b/XMonad/Hooks/ServerMode.hs
@@ -59,16 +59,16 @@ module XMonad.Hooks.ServerMode
( -- * Usage
-- $usage
ServerMode (..)
- , eventHook
+ , serverModeEventHook
) where
import Control.Monad (when)
import Data.List
+import Data.Monoid
import System.IO
import XMonad
import XMonad.Actions.Commands
-import XMonad.Hooks.EventHook
-- $usage
-- You can use this module with the following in your
@@ -76,22 +76,15 @@ import XMonad.Hooks.EventHook
--
-- > import XMonad.Hooks.ServerMode
--
--- Then edit your @layoutHook@ by adding the 'eventHook':
+-- Then edit your @handleEventHook@ by adding the 'serverModeEventHook':
--
--- > layoutHook = eventHook ServerMode $ avoidStruts $ simpleTabbed ||| Full ||| etc..
+-- > main = xmonad defaultConfig { handleEventHook = serverModeEventHook }
--
--- and then:
---
--- > main = xmonad defaultConfig { layoutHook = myLayouts }
---
--- For more detailed instructions on editing the layoutHook see:
---
--- "XMonad.Doc.Extending#Editing_the_layout_hook"
data ServerMode = ServerMode deriving ( Show, Read )
-instance EventHook ServerMode where
- handleEvent _ (ClientMessageEvent {ev_message_type = mt, ev_data = dt}) = do
+serverModeEventHook :: Event -> X All
+serverModeEventHook (ClientMessageEvent {ev_message_type = mt, ev_data = dt}) = do
d <- asks display
a <- io $ internAtom d "XMONAD_COMMAND" False
when (mt == a && dt /= []) $ do
@@ -100,4 +93,5 @@ instance EventHook ServerMode where
case lookup (fromIntegral (head dt) :: Int) (zip [1..] cl) of
Just (c,_) -> runCommand' c
Nothing -> mapM_ (io . hPutStrLn stderr) . listOfCommands $ cl
- handleEvent _ _ = return ()
+ return (All True)
+serverModeEventHook _ = return (All True)