From 5b269d5272c2ff03c216c535a73ed2fccab284d7 Mon Sep 17 00:00:00 2001 From: Adam Vogt Date: Wed, 26 Aug 2009 00:03:48 +0200 Subject: Preserve backwards compatibility with H.ServerMode Ignore-this: cd5df0c49e1d0f07ede1994da9c4c865 darcs-hash:20090825220348-1499c-8f18eb208a02d11f0b7455a75021df4c927b38bd.gz --- XMonad/Hooks/ServerMode.hs | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) (limited to 'XMonad/Hooks') diff --git a/XMonad/Hooks/ServerMode.hs b/XMonad/Hooks/ServerMode.hs index cb99831..4b216e6 100644 --- a/XMonad/Hooks/ServerMode.hs +++ b/XMonad/Hooks/ServerMode.hs @@ -60,6 +60,7 @@ module XMonad.Hooks.ServerMode -- $usage ServerMode (..) , serverModeEventHook + , serverModeEventHook' ) where import Control.Monad (when) @@ -79,15 +80,20 @@ import XMonad.Actions.Commands -- -- Then edit your @handleEventHook@ by adding the 'serverModeEventHook': -- --- > main = xmonad defaultConfig { handleEventHook = serverModeEventHook defaultCommands } +-- > main = xmonad defaultConfig { handleEventHook = serverModeEventHook } -- data ServerMode = ServerMode deriving ( Show, Read ) -- | Executes a command of the list when receiving its index via a special ClientMessageEvent -- (indexing starts at 1) -serverModeEventHook :: X [(String,X ())] -> Event -> X All -serverModeEventHook cmdAction (ClientMessageEvent {ev_message_type = mt, ev_data = dt}) = do +serverModeEventHook :: Event -> X All +serverModeEventHook = serverModeEventHook' defaultCommands + +-- | serverModeEventHook' additionally takes an action to generate the list of +-- commands. +serverModeEventHook' :: X [(String,X ())] -> Event -> X All +serverModeEventHook' cmdAction (ClientMessageEvent {ev_message_type = mt, ev_data = dt}) = do d <- asks display a <- io $ internAtom d "XMONAD_COMMAND" False when (mt == a && dt /= []) $ do @@ -97,4 +103,4 @@ serverModeEventHook cmdAction (ClientMessageEvent {ev_message_type = mt, ev_data Just (c,_) -> runCommand' c Nothing -> mapM_ (io . hPutStrLn stderr) . listOfCommands $ cl return (All True) -serverModeEventHook _ _ = return (All True) +serverModeEventHook' _ _ = return (All True) -- cgit v1.2.3