summaryrefslogtreecommitdiffstats
path: root/XMonad
diff options
context:
space:
mode:
Diffstat (limited to 'XMonad')
-rw-r--r--XMonad/Core.hs6
-rw-r--r--XMonad/Operations.hs3
2 files changed, 5 insertions, 4 deletions
diff --git a/XMonad/Core.hs b/XMonad/Core.hs
index feeae6e..253e3fe 100644
--- a/XMonad/Core.hs
+++ b/XMonad/Core.hs
@@ -27,7 +27,7 @@ module XMonad.Core (
runX, catchX, userCode, io, catchIO, doubleFork,
withDisplay, withWindowSet, isRoot, runOnWorkspaces, broadcastMessage,
getAtom, spawn, restart, getXMonadDir, recompile, trace, whenJust, whenX,
- atom_WM_STATE, atom_WM_PROTOCOLS, atom_WM_DELETE_WINDOW, ManageHook, Query(..), runManageHook
+ atom_WM_STATE, atom_WM_PROTOCOLS, atom_WM_DELETE_WINDOW, ManageHook, Query(..), runQuery
) where
import XMonad.StackSet hiding (modify)
@@ -131,8 +131,8 @@ newtype Query a = Query (ReaderT Window X a)
deriving (Functor, Monad, MonadReader Window, MonadIO)
#endif
-runManageHook :: ManageHook -> Window -> X (WindowSet -> WindowSet)
-runManageHook (Query m) w = appEndo <$> runReaderT m w
+runQuery :: Query a -> Window -> X a
+runQuery (Query m) w = runReaderT m w
instance Monoid a => Monoid (Query a) where
mempty = return mempty
diff --git a/XMonad/Operations.hs b/XMonad/Operations.hs
index faa5ad2..0e96893 100644
--- a/XMonad/Operations.hs
+++ b/XMonad/Operations.hs
@@ -23,6 +23,7 @@ import XMonad.Layout (Full(..))
import qualified XMonad.StackSet as W
import Data.Maybe
+import Data.Monoid (appEndo)
import Data.List (nub, (\\), find)
import Data.Bits ((.|.), (.&.), complement)
import Data.Ratio
@@ -65,7 +66,7 @@ manage w = whenX (not <$> isClient w) $ withDisplay $ \d -> do
where i = fromMaybe (W.tag . W.workspace . W.current $ ws) $ W.lookupWorkspace sc ws
mh <- asks (manageHook . config)
- g <- runManageHook mh w `catchX` return id
+ g <- fmap appEndo (runQuery mh w) `catchX` return id
windows (g . f)
-- | unmanage. A window no longer exists, remove it from the window