xmonad-0.5: A tiling window managerSource codeContentsIndex
Portabilitynot portable, Typeable deriving, mtl, posix
manage :: Window -> X ()
unmanage :: Window -> X ()
modifyGap :: (Int -> (Int, Int, Int, Int) -> (Int, Int, Int, Int)) -> X ()
kill :: X ()
windows :: (WindowSet -> WindowSet) -> X ()
setWMState :: Window -> Int -> X ()
hide :: Window -> X ()
reveal :: Window -> X ()
clientMask :: EventMask
setInitialProperties :: Window -> X ()
refresh :: X ()
clearEvents :: EventMask -> X ()
tileWindow :: Window -> Rectangle -> X ()
rescreen :: X ()
setButtonGrab :: Bool -> Window -> X ()
setTopFocus :: X ()
focus :: Window -> X ()
setFocusX :: Window -> X ()
sendMessage :: Message a => a -> X ()
sendMessageToWorkspaces :: Message a => a -> [WorkspaceId] -> X ()
broadcastMessage :: Message a => a -> X ()
runOnWorkspaces :: (WindowSpace -> X WindowSpace) -> X ()
setLayout :: Layout Window -> X ()
screenWorkspace :: ScreenId -> X (Maybe WorkspaceId)
withFocused :: (Window -> X ()) -> X ()
isClient :: Window -> X Bool
extraModifiers :: X [KeyMask]
cleanMask :: KeyMask -> X KeyMask
initColor :: Display -> String -> IO Pixel
floatLocation :: Window -> X (ScreenId, RationalRect)
float :: Window -> X ()
mouseDrag :: (Position -> Position -> X ()) -> X () -> X ()
mouseMoveWindow :: Window -> X ()
mouseResizeWindow :: Window -> X ()
type D = (Dimension, Dimension)
applySizeHints :: Integral a => SizeHints -> (a, a) -> D
applySizeHints' :: SizeHints -> D -> D
applyAspectHint :: (D, D) -> D -> D
applyResizeIncHint :: D -> D -> D
applyMaxSizeHint :: D -> D -> D
manage :: Window -> X ()Source

Window manager operations manage. Add a new window to be managed in the current workspace. Bring it into focus.

Whether the window is already managed, or not, it is mapped, has its border set, and its event mask set.

unmanage :: Window -> X ()Source

unmanage. A window no longer exists, remove it from the window list, on whatever workspace it is.

should also unmap?

modifyGap :: (Int -> (Int, Int, Int, Int) -> (Int, Int, Int, Int)) -> X ()Source
Modify the size of the status gap at the top of the current screen Taking a function giving the current screen, and current geometry.
kill :: X ()Source

Kill the currently focused client. If we do kill it, we'll get a delete notify back from X.

There are two ways to delete a window. Either just kill it, or if it supports the delete protocol, send a delete event (e.g. firefox)

windows :: (WindowSet -> WindowSet) -> X ()Source
windows. Modify the current window list with a pure function, and refresh
setWMState :: Window -> Int -> X ()Source
setWMState. set the WM_STATE property
hide :: Window -> X ()Source
hide. Hide a window by unmapping it, and setting Iconified.
reveal :: Window -> X ()Source
reveal. Show a window by mapping it and setting Normal this is harmless if the window was already visible
clientMask :: EventMaskSource
The client events that xmonad is interested in
setInitialProperties :: Window -> X ()Source
Set some properties when we initially gain control of a window
refresh :: X ()Source

refresh. Render the currently visible workspaces, as determined by the StackSet. Also, set focus to the focused window.

This is our view operation (MVC), in that it pretty prints our model with X calls.

clearEvents :: EventMask -> X ()Source
clearEvents. Remove all events of a given type from the event queue.
tileWindow :: Window -> Rectangle -> X ()Source
tileWindow. Moves and resizes w such that it fits inside the given rectangle, including its border.
rescreen :: X ()Source
rescreen. The screen configuration may have changed (due to xrandr), update the state and refresh the screen, and reset the gap.
setButtonGrab :: Bool -> Window -> X ()Source
setButtonGrab. Tell whether or not to intercept clicks on a given window
setTopFocus :: X ()Source
Set the focus to the window on top of the stack, or root
focus :: Window -> X ()Source
Set focus explicitly to window w if it is managed by us, or root. This happens if X notices we've moved the mouse (and perhaps moved the mouse to a new screen).
setFocusX :: Window -> X ()Source
Call X to set the keyboard focus details.
sendMessage :: Message a => a -> X ()Source
Throw a message to the current LayoutClass possibly modifying how we layout the windows, then refresh.
sendMessageToWorkspaces :: Message a => a -> [WorkspaceId] -> X ()Source
Send a message to a list of workspaces' layouts, without necessarily refreshing.
broadcastMessage :: Message a => a -> X ()Source
Send a message to all visible layouts, without necessarily refreshing. This is how we implement the hooks, such as UnDoLayout.
runOnWorkspaces :: (WindowSpace -> X WindowSpace) -> X ()Source
This is basically a map function, running a function in the X monad on each workspace with the output of that function being the modified workspace.
setLayout :: Layout Window -> X ()Source
Set the layout of the currently viewed workspace
screenWorkspace :: ScreenId -> X (Maybe WorkspaceId)Source
Return workspace visible on screen sc, or Nothing.
withFocused :: (Window -> X ()) -> X ()Source
Apply an X operation to the currently focused window, if there is one.
isClient :: Window -> X BoolSource
True if window is under management by us
extraModifiers :: X [KeyMask]Source
Combinations of extra modifier masks we need to grab keys/buttons for. (numlock and capslock)
cleanMask :: KeyMask -> X KeyMaskSource
Strip numlock/capslock from a mask
initColor :: Display -> String -> IO PixelSource
Get the Pixel value for a named color
floatLocation :: Window -> X (ScreenId, RationalRect)Source

Floating layer support

Given a window, find the screen it is located on, and compute the geometry of that window wrt. that screen.

float :: Window -> X ()Source
Make a tiled window floating, using its suggested rectangle
mouseDrag :: (Position -> Position -> X ()) -> X () -> X ()Source
Accumulate mouse motion events
mouseMoveWindow :: Window -> X ()Source
XXX comment me
mouseResizeWindow :: Window -> X ()Source
XXX comment me
type D = (Dimension, Dimension)Source
Support for window size hints
applySizeHints :: Integral a => SizeHints -> (a, a) -> DSource
Reduce the dimensions if needed to comply to the given SizeHints.
applySizeHints' :: SizeHints -> D -> DSource
XXX comment me
applyAspectHint :: (D, D) -> D -> DSource
Reduce the dimensions so their aspect ratio falls between the two given aspect ratios.
applyResizeIncHint :: D -> D -> DSource
Reduce the dimensions so they are a multiple of the size increments.
applyMaxSizeHint :: D -> D -> DSource
Reduce the dimensions if they exceed the given maximum dimensions.
Produced by Haddock version 2.4.2