moveW :: Position -> Position -> Window -> X () moveW x y w = withDisplay $ moveWindow' w moveWindow' :: Position -> Position -> Window -> Display -> X () moveWindow' x y w d = do float w io $ moveWindow d w x y fromWindowOp :: (Window -> X()) -> ManageHook fromWindowOp fn = ask >>= \w -> liftX (fn w) >> doF id doMove :: Position -> Position -> ManageHook doMove x y = fromWindowOp (moveW x y) ... [ className =? "xxx" --> doMove 150 300,