xmonad-contrib-0.11: Third party extensions for xmonad

Portabilityunportable
Stabilityunstable
MaintainerLukas Mai <l.mai@web.de>
Safe HaskellSafe-Infered

XMonad.Hooks.ManageHelpers

Description

This module provides helper functions to be used in manageHook. Here's how you might use this:

 import XMonad.Hooks.ManageHelpers
 main =
     xmonad defaultConfig{
         ...
         manageHook = composeOne [
             isKDETrayWindow -?> doIgnore,
             transience,
             isFullscreen -?> doFullFloat,
             resource =? "stalonetray" -?> doIgnore
         ],
         ...
     }

Synopsis

Documentation

data Side Source

Denotes a side of a screen. S stands for South, NE for Northeast etc. C stands for Center.

Constructors

SC 
NC 
CE 
CW 
SE 
SW 
NE 
NW 
C 

Instances

composeOne :: [MaybeManageHook] -> ManageHookSource

An alternative ManageHook composer. Unlike composeAll it stops as soon as a candidate returns a Just value, effectively running only the first match (whereas composeAll continues and executes all matching rules).

(-?>) :: Query Bool -> ManageHook -> MaybeManageHookSource

A helper operator for use in composeOne. It takes a condition and an action; if the condition fails, it returns Nothing from the Query so composeOne will go on and try the next rule.

(/=?) :: Eq a => Query a -> a -> Query BoolSource

q /=? x. if the result of q equals x, return False

(<==?) :: Eq a => Query a -> a -> Query (Match a)Source

q <==? x. if the result of q equals x, return True grouped with q

(</=?) :: Eq a => Query a -> a -> Query (Match a)Source

q </=? x. if the result of q notequals x, return True grouped with q

(-->>) :: Query (Match a) -> (a -> ManageHook) -> ManageHookSource

A helper operator for use in composeAll. It takes a condition and a function taking a grouped datum to action. If p is true, it executes the resulting action.

(-?>>) :: Query (Match a) -> (a -> ManageHook) -> MaybeManageHookSource

A helper operator for use in composeOne. It takes a condition and a function taking a groupdatum to action. If p is true, it executes the resulting action. If it fails, it returns Nothing from the Query so composeOne will go on and try the next rule.

currentWs :: Query WorkspaceIdSource

Return the current workspace

isInProperty :: String -> String -> Query BoolSource

Helper to check if a window property contains certain value.

isKDETrayWindow :: Query BoolSource

A predicate to check whether a window is a KDE system tray icon.

isFullscreen :: Query BoolSource

A predicate to check whether a window wants to fill the whole screen. See also doFullFloat.

isDialog :: Query BoolSource

A predicate to check whether a window is a dialog.

transientTo :: Query (Maybe Window)Source

A predicate to check whether a window is Transient. It holds the result which might be the window it is transient to or it might be Nothing.

type MaybeManageHook = Query (Maybe (Endo WindowSet))Source

A ManageHook that may or may not have been executed; the outcome is embedded in the Maybe

transience :: MaybeManageHookSource

A convenience MaybeManageHook that will check to see if a window is transient, and then move it to its parent.

doRectFloatSource

Arguments

:: RationalRect

The rectangle to float the window in. 0 to 1; x, y, w, h.

-> ManageHook 

Floats the new window in the given rectangle.

doFullFloat :: ManageHookSource

Floats the window and makes it use the whole screen. Equivalent to doRectFloat $ RationalRect 0 0 1 1.

doCenterFloat :: ManageHookSource

Floats a new window with its original size, but centered.

doSideFloat :: Side -> ManageHookSource

Floats a new window with its original size on the specified side of a screen

doFloatAt :: Rational -> Rational -> ManageHookSource

Floats a new window with its original size, and its top left corner at a specific point on the screen (both coordinates should be in the range 0 to 1).

doFloatDep :: (RationalRect -> RationalRect) -> ManageHookSource

Floats a new window using a rectangle computed as a function of the rectangle that it would have used by default.

doHideIgnore :: ManageHookSource

Hides window and ignores it.

data Match a Source

A grouping type, which can hold the outcome of a predicate Query. This is analogous to group types in regular expressions. TODO: create a better API for aggregating multiple Matches logically