xmonad

Portability | not portable, uses cunning newtype deriving
Stability | unstable
Maintainer | spencerjanssen@gmail.com

XMonad.ManageHook

Description

An EDSL for ManageHooks

Synopsis

- liftX :: X a -> Query a
- idHook :: Monoid m => m
- (<+>) :: Monoid m => m -> m -> m
- composeAll :: Monoid m => [m] -> m
- (-->) :: (Monad m, Monoid a) => m Bool -> m a -> m a
- (=?) :: Eq a => Query a -> a -> Query Bool
- (<&&>) :: Monad m => m Bool -> m Bool -> m Bool
- (<||>) :: Monad m => m Bool -> m Bool -> m Bool
- title :: Query String
- appName :: Query String
- resource :: Query String
- className :: Query String
- stringProperty :: String -> Query String
- getStringProperty :: Display -> Window -> String -> X (Maybe String)
- doF :: (s -> s) -> Query (Endo s)
- doFloat :: ManageHook
- doIgnore :: ManageHook
- doShift :: WorkspaceId -> ManageHook

# Documentation

liftX :: X a -> Query a

Lift an `X` action to a `Query`.

idHook :: Monoid m => m

The identity hook that returns the WindowSet unchanged.

(<+>) :: Monoid m => m -> m -> m

Infix `mappend`. Compose two `ManageHook` from right to left.

composeAll :: Monoid m => [m] -> m

Compose the list of `ManageHook`s.

(-->) :: (Monad m, Monoid a) => m Bool -> m a -> m a

`p --> x`. If `p` returns `True`, execute the `ManageHook`.

     (-->) :: Monoid m => Query Bool -> Query m -> Query m -- a simpler type

(=?) :: Eq a => Query a -> a -> Query Bool

`q =? x`. if the result of `q` equals `x`, return `True`.

(<&&>) :: Monad m => m Bool -> m Bool -> m Bool

`&&` lifted to a `Monad`.

(<||>) :: Monad m => m Bool -> m Bool -> m Bool

`||` lifted to a `Monad`.

title :: Query String

Return the window title.

appName :: Query String

Return the application name.

resource :: Query String

Backwards compatible alias for `appName`.

className :: Query String

Return the resource class.

stringProperty :: String -> Query String

A query that can return an arbitrary X property of type `String`, identified by name.

getStringProperty :: Display -> Window -> String -> X (Maybe String)

doF :: (s -> s) -> Query (Endo s)

Modify the `WindowSet` with a pure function.

doFloat :: ManageHook

Move the window to the floating layer.

doIgnore :: ManageHook

Map the window and remove it from the `WindowSet`.

doShift :: WorkspaceId -> ManageHook

Move the window to a given workspace