| Copyright | (c) David Roundy <droundy@darcs.net> |
|---|---|
| License | BSD |
| Maintainer | none |
| Stability | unstable |
| Portability | portable |
| Safe Haskell | None |
| Language | Haskell2010 |
XMonad.Layout.LayoutModifier
Contents
Description
A module for writing easy layout modifiers, which do not define a layout in and of themselves, but modify the behavior of or add new functionality to other layouts. If you ever find yourself writing a layout which takes another layout as a parameter, chances are you should be writing a LayoutModifier instead!
In case it is not clear, this module is not intended to help you configure xmonad, it is to help you write other extension modules. So get hacking!
Synopsis
- class (Show (m a), Read (m a)) => LayoutModifier (m :: Type -> Type) a where
- modifyLayout :: LayoutClass l a => m a -> Workspace WorkspaceId (l a) a -> Rectangle -> X ([(a, Rectangle)], Maybe (l a))
- modifyLayoutWithUpdate :: LayoutClass l a => m a -> Workspace WorkspaceId (l a) a -> Rectangle -> X (([(a, Rectangle)], Maybe (l a)), Maybe (m a))
- handleMess :: m a -> SomeMessage -> X (Maybe (m a))
- handleMessOrMaybeModifyIt :: m a -> SomeMessage -> X (Maybe (Either (m a) SomeMessage))
- pureMess :: m a -> SomeMessage -> Maybe (m a)
- redoLayout :: m a -> Rectangle -> Maybe (Stack a) -> [(a, Rectangle)] -> X ([(a, Rectangle)], Maybe (m a))
- pureModifier :: m a -> Rectangle -> Maybe (Stack a) -> [(a, Rectangle)] -> ([(a, Rectangle)], Maybe (m a))
- hook :: m a -> X ()
- unhook :: m a -> X ()
- modifierDescription :: m a -> String
- modifyDescription :: LayoutClass l a => m a -> l a -> String
- data ModifiedLayout (m :: Type -> Type) (l :: Type -> Type) a = ModifiedLayout (m a) (l a)
Usage
The LayoutModifier class is provided to help extension developers
write easy layout modifiers. End users won't find much of interest
here. =)
To write a layout modifier using the LayoutModifier class, define
a data type to represent the layout modification (storing any
necessary state), define an instance of LayoutModifier, and
export an appropriate function for applying the modifier. For example:
data MyModifier a = MyModifier MyState deriving (Show, Read) instance LayoutModifier MyModifier a where -- override whatever methods from LayoutModifier you like modify :: l a -> ModifiedLayout MyModifier l a modify = ModifiedLayout (MyModifier initialState)
When defining an instance of LayoutModifier, you are free to
override as many or as few of the methods as you see fit. See the
documentation below for specific information about the effect of
overriding each method. Every method has a default implementation;
an instance of LayoutModifier which did not provide a non-default
implementation of any of the methods would simply act as the
identity on any layouts to which it is applied.
For more specific usage examples, see
- XMonad.Layout.WorkspaceDir
- XMonad.Layout.Magnifier
- XMonad.Layout.NoBorders
- XMonad.Layout.Reflect
- XMonad.Layout.Renamed
- XMonad.Layout.WindowNavigation
and several others. You probably want to start by looking at some
of the above examples; the documentation below is detailed but
possibly confusing, and in many cases the creation of a
LayoutModifier is actually quite simple.
Important note: because of the way the LayoutModifier class is
intended to be used, by overriding any of its methods and keeping
default implementations for all the others, LayoutModifier
methods should never be called explicitly. It is likely that such
explicit calls will not have the intended effect. Rather, the
LayoutModifier methods should only be called indirectly through
the LayoutClass instance for ModifiedLayout, since it is this
instance that defines the semantics of overriding the various
LayoutModifier methods.
The LayoutModifier class
class (Show (m a), Read (m a)) => LayoutModifier (m :: Type -> Type) a where Source #
Minimal complete definition
Nothing
Methods
Arguments
| :: LayoutClass l a | |
| => m a | the layout modifier |
| -> Workspace WorkspaceId (l a) a | current workspace |
| -> Rectangle | screen rectangle |
| -> X ([(a, Rectangle)], Maybe (l a)) |
modifyLayout allows you to intercept a call to runLayout
before it is called on the underlying layout, in order to
perform some effect in the X monad, and/or modify some of
the parameters before passing them on to the runLayout
method of the underlying layout.
The default implementation of modifyLayout simply calls
runLayout on the underlying layout.
modifyLayoutWithUpdate :: LayoutClass l a => m a -> Workspace WorkspaceId (l a) a -> Rectangle -> X (([(a, Rectangle)], Maybe (l a)), Maybe (m a)) Source #
Similar to modifyLayout, but this function also allows you
update the state of your layout modifier(the second value in the
outer tuple).
If both modifyLayoutWithUpdate and redoLayout return a
modified state of the layout modifier, redoLayout takes
precedence. If this function returns a modified state, this
state will internally be used in the subsequent call to
redoLayout as well.
handleMess :: m a -> SomeMessage -> X (Maybe (m a)) Source #
handleMess allows you to spy on messages to the underlying
layout, in order to have an effect in the X monad, or alter
the layout modifier state in some way (by returning Just
nm, where nm is a new modifier). In all cases, the
underlying layout will also receive the message as usual,
after the message has been processed by handleMess.
If you wish to possibly modify a message before it reaches
the underlying layout, you should use
handleMessOrMaybeModifyIt instead. If you do not need to
modify messages or have access to the X monad, you should use
pureMess instead.
The default implementation of handleMess calls unhook
when receiving a Hide or ReleaseResources method (after
which it returns Nothing), and otherwise passes the message
on to pureMess.
handleMessOrMaybeModifyIt :: m a -> SomeMessage -> X (Maybe (Either (m a) SomeMessage)) Source #
handleMessOrMaybeModifyIt allows you to intercept messages
sent to the underlying layout, in order to have an effect in
the X monad, alter the layout modifier state, or produce a
modified message to be passed on to the underlying layout.
The default implementation of handleMessOrMaybeModifyIt
simply passes on the message to handleMess.
pureMess :: m a -> SomeMessage -> Maybe (m a) Source #
pureMess allows you to spy on messages sent to the
underlying layout, in order to possibly change the layout
modifier state.
The default implementation of pureMess ignores messages
sent to it, and returns Nothing (causing the layout
modifier to remain unchanged).
Arguments
| :: m a | the layout modifier |
| -> Rectangle | screen rectangle |
| -> Maybe (Stack a) | current window stack |
| -> [(a, Rectangle)] | (window,rectangle) pairs returned by the underlying layout |
| -> X ([(a, Rectangle)], Maybe (m a)) |
redoLayout allows you to intercept a call to runLayout on
workspaces with at least one window, after it is called on
the underlying layout, in order to perform some effect in the
X monad, possibly return a new layout modifier, and/or
modify the results of runLayout before returning them.
If you don't need access to the X monad, use pureModifier
instead. Also, if the behavior you need can be cleanly
separated into an effect in the X monad, followed by a pure
transformation of the results of runLayout, you should
consider implementing hook and pureModifier instead of
redoLayout.
On empty workspaces, the Stack is Nothing.
The default implementation of redoLayout calls hook and
then pureModifier.
Arguments
| :: m a | the layout modifier |
| -> Rectangle | screen rectangle |
| -> Maybe (Stack a) | current window stack |
| -> [(a, Rectangle)] | (window, rectangle) pairs returned by the underlying layout |
| -> ([(a, Rectangle)], Maybe (m a)) |
pureModifier allows you to intercept a call to runLayout
after it is called on the underlying layout, in order to
modify the list of window/rectangle pairings it has returned,
and/or return a new layout modifier.
The default implementation of pureModifier returns the
window rectangles unmodified.
hook is called by the default implementation of
redoLayout, and as such represents an X action which is to
be run each time runLayout is called on the underlying
layout, after runLayout has completed. Of course, if you
override redoLayout, then hook will not be called unless
you explicitly call it.
The default implementation of hook is return () (i.e., it
has no effect).
unhook :: m a -> X () Source #
unhook is called by the default implementation of
handleMess upon receiving a Hide or a ReleaseResources
message.
The default implementation, of course, does nothing.
modifierDescription :: m a -> String Source #
modifierDescription is used to give a String description to
this layout modifier. It is the empty string by default; you
should only override this if it is important that the
presence of the layout modifier be displayed in text
representations of the layout (for example, in the status bar
of a XMonad.Hooks.StatusBar user).
modifyDescription :: LayoutClass l a => m a -> l a -> String Source #
modifyDescription gives a String description for the entire
layout (modifier + underlying layout). By default, it is
derived from the concatenation of the modifierDescription
with the description of the underlying layout, with a
"smart space" in between (the space is not included if the
modifierDescription is empty).
Instances
| LayoutModifier MouseResize Window Source # | |
Defined in XMonad.Actions.MouseResize Methods modifyLayout :: LayoutClass l Window => MouseResize Window -> Workspace WorkspaceId (l Window) Window -> Rectangle -> X ([(Window, Rectangle)], Maybe (l Window)) Source # modifyLayoutWithUpdate :: LayoutClass l Window => MouseResize Window -> Workspace WorkspaceId (l Window) Window -> Rectangle -> X (([(Window, Rectangle)], Maybe (l Window)), Maybe (MouseResize Window)) Source # handleMess :: MouseResize Window -> SomeMessage -> X (Maybe (MouseResize Window)) Source # handleMessOrMaybeModifyIt :: MouseResize Window -> SomeMessage -> X (Maybe (Either (MouseResize Window) SomeMessage)) Source # pureMess :: MouseResize Window -> SomeMessage -> Maybe (MouseResize Window) Source # redoLayout :: MouseResize Window -> Rectangle -> Maybe (Stack Window) -> [(Window, Rectangle)] -> X ([(Window, Rectangle)], Maybe (MouseResize Window)) Source # pureModifier :: MouseResize Window -> Rectangle -> Maybe (Stack Window) -> [(Window, Rectangle)] -> ([(Window, Rectangle)], Maybe (MouseResize Window)) Source # hook :: MouseResize Window -> X () Source # unhook :: MouseResize Window -> X () Source # modifierDescription :: MouseResize Window -> String Source # modifyDescription :: LayoutClass l Window => MouseResize Window -> l Window -> String Source # | |
| LayoutModifier WorkspaceCursors a Source # | |
Defined in XMonad.Actions.WorkspaceCursors Methods modifyLayout :: LayoutClass l a => WorkspaceCursors a -> Workspace WorkspaceId (l a) a -> Rectangle -> X ([(a, Rectangle)], Maybe (l a)) Source # modifyLayoutWithUpdate :: LayoutClass l a => WorkspaceCursors a -> Workspace WorkspaceId (l a) a -> Rectangle -> X (([(a, Rectangle)], Maybe (l a)), Maybe (WorkspaceCursors a)) Source # handleMess :: WorkspaceCursors a -> SomeMessage -> X (Maybe (WorkspaceCursors a)) Source # handleMessOrMaybeModifyIt :: WorkspaceCursors a -> SomeMessage -> X (Maybe (Either (WorkspaceCursors a) SomeMessage)) Source # pureMess :: WorkspaceCursors a -> SomeMessage -> Maybe (WorkspaceCursors a) Source # redoLayout :: WorkspaceCursors a -> Rectangle -> Maybe (Stack a) -> [(a, Rectangle)] -> X ([(a, Rectangle)], Maybe (WorkspaceCursors a)) Source # pureModifier :: WorkspaceCursors a -> Rectangle -> Maybe (Stack a) -> [(a, Rectangle)] -> ([(a, Rectangle)], Maybe (WorkspaceCursors a)) Source # hook :: WorkspaceCursors a -> X () Source # unhook :: WorkspaceCursors a -> X () Source # modifierDescription :: WorkspaceCursors a -> String Source # modifyDescription :: LayoutClass l a => WorkspaceCursors a -> l a -> String Source # | |
| LayoutModifier AvoidStruts a Source # | |
Defined in XMonad.Hooks.ManageDocks Methods modifyLayout :: LayoutClass l a => AvoidStruts a -> Workspace WorkspaceId (l a) a -> Rectangle -> X ([(a, Rectangle)], Maybe (l a)) Source # modifyLayoutWithUpdate :: LayoutClass l a => AvoidStruts a -> Workspace WorkspaceId (l a) a -> Rectangle -> X (([(a, Rectangle)], Maybe (l a)), Maybe (AvoidStruts a)) Source # handleMess :: AvoidStruts a -> SomeMessage -> X (Maybe (AvoidStruts a)) Source # handleMessOrMaybeModifyIt :: AvoidStruts a -> SomeMessage -> X (Maybe (Either (AvoidStruts a) SomeMessage)) Source # pureMess :: AvoidStruts a -> SomeMessage -> Maybe (AvoidStruts a) Source # redoLayout :: AvoidStruts a -> Rectangle -> Maybe (Stack a) -> [(a, Rectangle)] -> X ([(a, Rectangle)], Maybe (AvoidStruts a)) Source # pureModifier :: AvoidStruts a -> Rectangle -> Maybe (Stack a) -> [(a, Rectangle)] -> ([(a, Rectangle)], Maybe (AvoidStruts a)) Source # hook :: AvoidStruts a -> X () Source # unhook :: AvoidStruts a -> X () Source # modifierDescription :: AvoidStruts a -> String Source # modifyDescription :: LayoutClass l a => AvoidStruts a -> l a -> String Source # | |
| LayoutModifier RefocusLastLayoutHook a Source # | |
Defined in XMonad.Hooks.RefocusLast Methods modifyLayout :: LayoutClass l a => RefocusLastLayoutHook a -> Workspace WorkspaceId (l a) a -> Rectangle -> X ([(a, Rectangle)], Maybe (l a)) Source # modifyLayoutWithUpdate :: LayoutClass l a => RefocusLastLayoutHook a -> Workspace WorkspaceId (l a) a -> Rectangle -> X (([(a, Rectangle)], Maybe (l a)), Maybe (RefocusLastLayoutHook a)) Source # handleMess :: RefocusLastLayoutHook a -> SomeMessage -> X (Maybe (RefocusLastLayoutHook a)) Source # handleMessOrMaybeModifyIt :: RefocusLastLayoutHook a -> SomeMessage -> X (Maybe (Either (RefocusLastLayoutHook a) SomeMessage)) Source # pureMess :: RefocusLastLayoutHook a -> SomeMessage -> Maybe (RefocusLastLayoutHook a) Source # redoLayout :: RefocusLastLayoutHook a -> Rectangle -> Maybe (Stack a) -> [(a, Rectangle)] -> X ([(a, Rectangle)], Maybe (RefocusLastLayoutHook a)) Source # pureModifier :: RefocusLastLayoutHook a -> Rectangle -> Maybe (Stack a) -> [(a, Rectangle)] -> ([(a, Rectangle)], Maybe (RefocusLastLayoutHook a)) Source # hook :: RefocusLastLayoutHook a -> X () Source # unhook :: RefocusLastLayoutHook a -> X () Source # modifierDescription :: RefocusLastLayoutHook a -> String Source # modifyDescription :: LayoutClass l a => RefocusLastLayoutHook a -> l a -> String Source # | |
| Eq w => LayoutModifier AutoMaster w Source # | |
Defined in XMonad.Layout.AutoMaster Methods modifyLayout :: LayoutClass l w => AutoMaster w -> Workspace WorkspaceId (l w) w -> Rectangle -> X ([(w, Rectangle)], Maybe (l w)) Source # modifyLayoutWithUpdate :: LayoutClass l w => AutoMaster w -> Workspace WorkspaceId (l w) w -> Rectangle -> X (([(w, Rectangle)], Maybe (l w)), Maybe (AutoMaster w)) Source # handleMess :: AutoMaster w -> SomeMessage -> X (Maybe (AutoMaster w)) Source # handleMessOrMaybeModifyIt :: AutoMaster w -> SomeMessage -> X (Maybe (Either (AutoMaster w) SomeMessage)) Source # pureMess :: AutoMaster w -> SomeMessage -> Maybe (AutoMaster w) Source # redoLayout :: AutoMaster w -> Rectangle -> Maybe (Stack w) -> [(w, Rectangle)] -> X ([(w, Rectangle)], Maybe (AutoMaster w)) Source # pureModifier :: AutoMaster w -> Rectangle -> Maybe (Stack w) -> [(w, Rectangle)] -> ([(w, Rectangle)], Maybe (AutoMaster w)) Source # hook :: AutoMaster w -> X () Source # unhook :: AutoMaster w -> X () Source # modifierDescription :: AutoMaster w -> String Source # modifyDescription :: LayoutClass l w => AutoMaster w -> l w -> String Source # | |
| LayoutModifier BorderResize Window Source # | |
Defined in XMonad.Layout.BorderResize Methods modifyLayout :: LayoutClass l Window => BorderResize Window -> Workspace WorkspaceId (l Window) Window -> Rectangle -> X ([(Window, Rectangle)], Maybe (l Window)) Source # modifyLayoutWithUpdate :: LayoutClass l Window => BorderResize Window -> Workspace WorkspaceId (l Window) Window -> Rectangle -> X (([(Window, Rectangle)], Maybe (l Window)), Maybe (BorderResize Window)) Source # handleMess :: BorderResize Window -> SomeMessage -> X (Maybe (BorderResize Window)) Source # handleMessOrMaybeModifyIt :: BorderResize Window -> SomeMessage -> X (Maybe (Either (BorderResize Window) SomeMessage)) Source # pureMess :: BorderResize Window -> SomeMessage -> Maybe (BorderResize Window) Source # redoLayout :: BorderResize Window -> Rectangle -> Maybe (Stack Window) -> [(Window, Rectangle)] -> X ([(Window, Rectangle)], Maybe (BorderResize Window)) Source # pureModifier :: BorderResize Window -> Rectangle -> Maybe (Stack Window) -> [(Window, Rectangle)] -> ([(Window, Rectangle)], Maybe (BorderResize Window)) Source # hook :: BorderResize Window -> X () Source # unhook :: BorderResize Window -> X () Source # modifierDescription :: BorderResize Window -> String Source # modifyDescription :: LayoutClass l Window => BorderResize Window -> l Window -> String Source # | |
| LayoutModifier BoringWindows Window Source # | |
Defined in XMonad.Layout.BoringWindows Methods modifyLayout :: LayoutClass l Window => BoringWindows Window -> Workspace WorkspaceId (l Window) Window -> Rectangle -> X ([(Window, Rectangle)], Maybe (l Window)) Source # modifyLayoutWithUpdate :: LayoutClass l Window => BoringWindows Window -> Workspace WorkspaceId (l Window) Window -> Rectangle -> X (([(Window, Rectangle)], Maybe (l Window)), Maybe (BoringWindows Window)) Source # handleMess :: BoringWindows Window -> SomeMessage -> X (Maybe (BoringWindows Window)) Source # handleMessOrMaybeModifyIt :: BoringWindows Window -> SomeMessage -> X (Maybe (Either (BoringWindows Window) SomeMessage)) Source # pureMess :: BoringWindows Window -> SomeMessage -> Maybe (BoringWindows Window) Source # redoLayout :: BoringWindows Window -> Rectangle -> Maybe (Stack Window) -> [(Window, Rectangle)] -> X ([(Window, Rectangle)], Maybe (BoringWindows Window)) Source # pureModifier :: BoringWindows Window -> Rectangle -> Maybe (Stack Window) -> [(Window, Rectangle)] -> ([(Window, Rectangle)], Maybe (BoringWindows Window)) Source # hook :: BoringWindows Window -> X () Source # unhook :: BoringWindows Window -> X () Source # modifierDescription :: BoringWindows Window -> String Source # modifyDescription :: LayoutClass l Window => BoringWindows Window -> l Window -> String Source # | |
| LayoutModifier CenteredIfSingle Window Source # | |
Defined in XMonad.Layout.CenteredIfSingle Methods modifyLayout :: LayoutClass l Window => CenteredIfSingle Window -> Workspace WorkspaceId (l Window) Window -> Rectangle -> X ([(Window, Rectangle)], Maybe (l Window)) Source # modifyLayoutWithUpdate :: LayoutClass l Window => CenteredIfSingle Window -> Workspace WorkspaceId (l Window) Window -> Rectangle -> X (([(Window, Rectangle)], Maybe (l Window)), Maybe (CenteredIfSingle Window)) Source # handleMess :: CenteredIfSingle Window -> SomeMessage -> X (Maybe (CenteredIfSingle Window)) Source # handleMessOrMaybeModifyIt :: CenteredIfSingle Window -> SomeMessage -> X (Maybe (Either (CenteredIfSingle Window) SomeMessage)) Source # pureMess :: CenteredIfSingle Window -> SomeMessage -> Maybe (CenteredIfSingle Window) Source # redoLayout :: CenteredIfSingle Window -> Rectangle -> Maybe (Stack Window) -> [(Window, Rectangle)] -> X ([(Window, Rectangle)], Maybe (CenteredIfSingle Window)) Source # pureModifier :: CenteredIfSingle Window -> Rectangle -> Maybe (Stack Window) -> [(Window, Rectangle)] -> ([(Window, Rectangle)], Maybe (CenteredIfSingle Window)) Source # hook :: CenteredIfSingle Window -> X () Source # unhook :: CenteredIfSingle Window -> X () Source # modifierDescription :: CenteredIfSingle Window -> String Source # modifyDescription :: LayoutClass l Window => CenteredIfSingle Window -> l Window -> String Source # | |
| LayoutModifier CenteredMaster Window Source # | |
Defined in XMonad.Layout.CenteredMaster Methods modifyLayout :: LayoutClass l Window => CenteredMaster Window -> Workspace WorkspaceId (l Window) Window -> Rectangle -> X ([(Window, Rectangle)], Maybe (l Window)) Source # modifyLayoutWithUpdate :: LayoutClass l Window => CenteredMaster Window -> Workspace WorkspaceId (l Window) Window -> Rectangle -> X (([(Window, Rectangle)], Maybe (l Window)), Maybe (CenteredMaster Window)) Source # handleMess :: CenteredMaster Window -> SomeMessage -> X (Maybe (CenteredMaster Window)) Source # handleMessOrMaybeModifyIt :: CenteredMaster Window -> SomeMessage -> X (Maybe (Either (CenteredMaster Window) SomeMessage)) Source # pureMess :: CenteredMaster Window -> SomeMessage -> Maybe (CenteredMaster Window) Source # redoLayout :: CenteredMaster Window -> Rectangle -> Maybe (Stack Window) -> [(Window, Rectangle)] -> X ([(Window, Rectangle)], Maybe (CenteredMaster Window)) Source # pureModifier :: CenteredMaster Window -> Rectangle -> Maybe (Stack Window) -> [(Window, Rectangle)] -> ([(Window, Rectangle)], Maybe (CenteredMaster Window)) Source # hook :: CenteredMaster Window -> X () Source # unhook :: CenteredMaster Window -> X () Source # modifierDescription :: CenteredMaster Window -> String Source # modifyDescription :: LayoutClass l Window => CenteredMaster Window -> l Window -> String Source # | |
| LayoutModifier TopRightMaster Window Source # | |
Defined in XMonad.Layout.CenteredMaster Methods modifyLayout :: LayoutClass l Window => TopRightMaster Window -> Workspace WorkspaceId (l Window) Window -> Rectangle -> X ([(Window, Rectangle)], Maybe (l Window)) Source # modifyLayoutWithUpdate :: LayoutClass l Window => TopRightMaster Window -> Workspace WorkspaceId (l Window) Window -> Rectangle -> X (([(Window, Rectangle)], Maybe (l Window)), Maybe (TopRightMaster Window)) Source # handleMess :: TopRightMaster Window -> SomeMessage -> X (Maybe (TopRightMaster Window)) Source # handleMessOrMaybeModifyIt :: TopRightMaster Window -> SomeMessage -> X (Maybe (Either (TopRightMaster Window) SomeMessage)) Source # pureMess :: TopRightMaster Window -> SomeMessage -> Maybe (TopRightMaster Window) Source # redoLayout :: TopRightMaster Window -> Rectangle -> Maybe (Stack Window) -> [(Window, Rectangle)] -> X ([(Window, Rectangle)], Maybe (TopRightMaster Window)) Source # pureModifier :: TopRightMaster Window -> Rectangle -> Maybe (Stack Window) -> [(Window, Rectangle)] -> ([(Window, Rectangle)], Maybe (TopRightMaster Window)) Source # hook :: TopRightMaster Window -> X () Source # unhook :: TopRightMaster Window -> X () Source # modifierDescription :: TopRightMaster Window -> String Source # modifyDescription :: LayoutClass l Window => TopRightMaster Window -> l Window -> String Source # | |
| LayoutModifier DraggingVisualizer Window Source # | |
Defined in XMonad.Layout.DraggingVisualizer Methods modifyLayout :: LayoutClass l Window => DraggingVisualizer Window -> Workspace WorkspaceId (l Window) Window -> Rectangle -> X ([(Window, Rectangle)], Maybe (l Window)) Source # modifyLayoutWithUpdate :: LayoutClass l Window => DraggingVisualizer Window -> Workspace WorkspaceId (l Window) Window -> Rectangle -> X (([(Window, Rectangle)], Maybe (l Window)), Maybe (DraggingVisualizer Window)) Source # handleMess :: DraggingVisualizer Window -> SomeMessage -> X (Maybe (DraggingVisualizer Window)) Source # handleMessOrMaybeModifyIt :: DraggingVisualizer Window -> SomeMessage -> X (Maybe (Either (DraggingVisualizer Window) SomeMessage)) Source # pureMess :: DraggingVisualizer Window -> SomeMessage -> Maybe (DraggingVisualizer Window) Source # redoLayout :: DraggingVisualizer Window -> Rectangle -> Maybe (Stack Window) -> [(Window, Rectangle)] -> X ([(Window, Rectangle)], Maybe (DraggingVisualizer Window)) Source # pureModifier :: DraggingVisualizer Window -> Rectangle -> Maybe (Stack Window) -> [(Window, Rectangle)] -> ([(Window, Rectangle)], Maybe (DraggingVisualizer Window)) Source # hook :: DraggingVisualizer Window -> X () Source # unhook :: DraggingVisualizer Window -> X () Source # modifierDescription :: DraggingVisualizer Window -> String Source # modifyDescription :: LayoutClass l Window => DraggingVisualizer Window -> l Window -> String Source # | |
| LayoutModifier FixedAspectRatio Window Source # | |
Defined in XMonad.Layout.FixedAspectRatio Methods modifyLayout :: LayoutClass l Window => FixedAspectRatio Window -> Workspace WorkspaceId (l Window) Window -> Rectangle -> X ([(Window, Rectangle)], Maybe (l Window)) Source # modifyLayoutWithUpdate :: LayoutClass l Window => FixedAspectRatio Window -> Workspace WorkspaceId (l Window) Window -> Rectangle -> X (([(Window, Rectangle)], Maybe (l Window)), Maybe (FixedAspectRatio Window)) Source # handleMess :: FixedAspectRatio Window -> SomeMessage -> X (Maybe (FixedAspectRatio Window)) Source # handleMessOrMaybeModifyIt :: FixedAspectRatio Window -> SomeMessage -> X (Maybe (Either (FixedAspectRatio Window) SomeMessage)) Source # pureMess :: FixedAspectRatio Window -> SomeMessage -> Maybe (FixedAspectRatio Window) Source # redoLayout :: FixedAspectRatio Window -> Rectangle -> Maybe (Stack Window) -> [(Window, Rectangle)] -> X ([(Window, Rectangle)], Maybe (FixedAspectRatio Window)) Source # pureModifier :: FixedAspectRatio Window -> Rectangle -> Maybe (Stack Window) -> [(Window, Rectangle)] -> ([(Window, Rectangle)], Maybe (FixedAspectRatio Window)) Source # hook :: FixedAspectRatio Window -> X () Source # unhook :: FixedAspectRatio Window -> X () Source # modifierDescription :: FixedAspectRatio Window -> String Source # modifyDescription :: LayoutClass l Window => FixedAspectRatio Window -> l Window -> String Source # | |
| LayoutModifier FocusTracking Window Source # | |
Defined in XMonad.Layout.FocusTracking Methods modifyLayout :: LayoutClass l Window => FocusTracking Window -> Workspace WorkspaceId (l Window) Window -> Rectangle -> X ([(Window, Rectangle)], Maybe (l Window)) Source # modifyLayoutWithUpdate :: LayoutClass l Window => FocusTracking Window -> Workspace WorkspaceId (l Window) Window -> Rectangle -> X (([(Window, Rectangle)], Maybe (l Window)), Maybe (FocusTracking Window)) Source # handleMess :: FocusTracking Window -> SomeMessage -> X (Maybe (FocusTracking Window)) Source # handleMessOrMaybeModifyIt :: FocusTracking Window -> SomeMessage -> X (Maybe (Either (FocusTracking Window) SomeMessage)) Source # pureMess :: FocusTracking Window -> SomeMessage -> Maybe (FocusTracking Window) Source # redoLayout :: FocusTracking Window -> Rectangle -> Maybe (Stack Window) -> [(Window, Rectangle)] -> X ([(Window, Rectangle)], Maybe (FocusTracking Window)) Source # pureModifier :: FocusTracking Window -> Rectangle -> Maybe (Stack Window) -> [(Window, Rectangle)] -> ([(Window, Rectangle)], Maybe (FocusTracking Window)) Source # hook :: FocusTracking Window -> X () Source # unhook :: FocusTracking Window -> X () Source # modifierDescription :: FocusTracking Window -> String Source # modifyDescription :: LayoutClass l Window => FocusTracking Window -> l Window -> String Source # | |
| LayoutModifier FullscreenFloat Window Source # | |
Defined in XMonad.Layout.Fullscreen Methods modifyLayout :: LayoutClass l Window => FullscreenFloat Window -> Workspace WorkspaceId (l Window) Window -> Rectangle -> X ([(Window, Rectangle)], Maybe (l Window)) Source # modifyLayoutWithUpdate :: LayoutClass l Window => FullscreenFloat Window -> Workspace WorkspaceId (l Window) Window -> Rectangle -> X (([(Window, Rectangle)], Maybe (l Window)), Maybe (FullscreenFloat Window)) Source # handleMess :: FullscreenFloat Window -> SomeMessage -> X (Maybe (FullscreenFloat Window)) Source # handleMessOrMaybeModifyIt :: FullscreenFloat Window -> SomeMessage -> X (Maybe (Either (FullscreenFloat Window) SomeMessage)) Source # pureMess :: FullscreenFloat Window -> SomeMessage -> Maybe (FullscreenFloat Window) Source # redoLayout :: FullscreenFloat Window -> Rectangle -> Maybe (Stack Window) -> [(Window, Rectangle)] -> X ([(Window, Rectangle)], Maybe (FullscreenFloat Window)) Source # pureModifier :: FullscreenFloat Window -> Rectangle -> Maybe (Stack Window) -> [(Window, Rectangle)] -> ([(Window, Rectangle)], Maybe (FullscreenFloat Window)) Source # hook :: FullscreenFloat Window -> X () Source # unhook :: FullscreenFloat Window -> X () Source # modifierDescription :: FullscreenFloat Window -> String Source # modifyDescription :: LayoutClass l Window => FullscreenFloat Window -> l Window -> String Source # | |
| LayoutModifier FullscreenFocus Window Source # | |
Defined in XMonad.Layout.Fullscreen Methods modifyLayout :: LayoutClass l Window => FullscreenFocus Window -> Workspace WorkspaceId (l Window) Window -> Rectangle -> X ([(Window, Rectangle)], Maybe (l Window)) Source # modifyLayoutWithUpdate :: LayoutClass l Window => FullscreenFocus Window -> Workspace WorkspaceId (l Window) Window -> Rectangle -> X (([(Window, Rectangle)], Maybe (l Window)), Maybe (FullscreenFocus Window)) Source # handleMess :: FullscreenFocus Window -> SomeMessage -> X (Maybe (FullscreenFocus Window)) Source # handleMessOrMaybeModifyIt :: FullscreenFocus Window -> SomeMessage -> X (Maybe (Either (FullscreenFocus Window) SomeMessage)) Source # pureMess :: FullscreenFocus Window -> SomeMessage -> Maybe (FullscreenFocus Window) Source # redoLayout :: FullscreenFocus Window -> Rectangle -> Maybe (Stack Window) -> [(Window, Rectangle)] -> X ([(Window, Rectangle)], Maybe (FullscreenFocus Window)) Source # pureModifier :: FullscreenFocus Window -> Rectangle -> Maybe (Stack Window) -> [(Window, Rectangle)] -> ([(Window, Rectangle)], Maybe (FullscreenFocus Window)) Source # hook :: FullscreenFocus Window -> X () Source # unhook :: FullscreenFocus Window -> X () Source # modifierDescription :: FullscreenFocus Window -> String Source # modifyDescription :: LayoutClass l Window => FullscreenFocus Window -> l Window -> String Source # | |
| LayoutModifier FullscreenFull Window Source # | |
Defined in XMonad.Layout.Fullscreen Methods modifyLayout :: LayoutClass l Window => FullscreenFull Window -> Workspace WorkspaceId (l Window) Window -> Rectangle -> X ([(Window, Rectangle)], Maybe (l Window)) Source # modifyLayoutWithUpdate :: LayoutClass l Window => FullscreenFull Window -> Workspace WorkspaceId (l Window) Window -> Rectangle -> X (([(Window, Rectangle)], Maybe (l Window)), Maybe (FullscreenFull Window)) Source # handleMess :: FullscreenFull Window -> SomeMessage -> X (Maybe (FullscreenFull Window)) Source # handleMessOrMaybeModifyIt :: FullscreenFull Window -> SomeMessage -> X (Maybe (Either (FullscreenFull Window) SomeMessage)) Source # pureMess :: FullscreenFull Window -> SomeMessage -> Maybe (FullscreenFull Window) Source # redoLayout :: FullscreenFull Window -> Rectangle -> Maybe (Stack Window) -> [(Window, Rectangle)] -> X ([(Window, Rectangle)], Maybe (FullscreenFull Window)) Source # pureModifier :: FullscreenFull Window -> Rectangle -> Maybe (Stack Window) -> [(Window, Rectangle)] -> ([(Window, Rectangle)], Maybe (FullscreenFull Window)) Source # hook :: FullscreenFull Window -> X () Source # unhook :: FullscreenFull Window -> X () Source # modifierDescription :: FullscreenFull Window -> String Source # modifyDescription :: LayoutClass l Window => FullscreenFull Window -> l Window -> String Source # | |
| LayoutModifier Gaps a Source # | |
Defined in XMonad.Layout.Gaps Methods modifyLayout :: LayoutClass l a => Gaps a -> Workspace WorkspaceId (l a) a -> Rectangle -> X ([(a, Rectangle)], Maybe (l a)) Source # modifyLayoutWithUpdate :: LayoutClass l a => Gaps a -> Workspace WorkspaceId (l a) a -> Rectangle -> X (([(a, Rectangle)], Maybe (l a)), Maybe (Gaps a)) Source # handleMess :: Gaps a -> SomeMessage -> X (Maybe (Gaps a)) Source # handleMessOrMaybeModifyIt :: Gaps a -> SomeMessage -> X (Maybe (Either (Gaps a) SomeMessage)) Source # pureMess :: Gaps a -> SomeMessage -> Maybe (Gaps a) Source # redoLayout :: Gaps a -> Rectangle -> Maybe (Stack a) -> [(a, Rectangle)] -> X ([(a, Rectangle)], Maybe (Gaps a)) Source # pureModifier :: Gaps a -> Rectangle -> Maybe (Stack a) -> [(a, Rectangle)] -> ([(a, Rectangle)], Maybe (Gaps a)) Source # hook :: Gaps a -> X () Source # unhook :: Gaps a -> X () Source # modifierDescription :: Gaps a -> String Source # modifyDescription :: LayoutClass l a => Gaps a -> l a -> String Source # | |
| LayoutModifier HiddenWindows Window Source # | |
Defined in XMonad.Layout.Hidden Methods modifyLayout :: LayoutClass l Window => HiddenWindows Window -> Workspace WorkspaceId (l Window) Window -> Rectangle -> X ([(Window, Rectangle)], Maybe (l Window)) Source # modifyLayoutWithUpdate :: LayoutClass l Window => HiddenWindows Window -> Workspace WorkspaceId (l Window) Window -> Rectangle -> X (([(Window, Rectangle)], Maybe (l Window)), Maybe (HiddenWindows Window)) Source # handleMess :: HiddenWindows Window -> SomeMessage -> X (Maybe (HiddenWindows Window)) Source # handleMessOrMaybeModifyIt :: HiddenWindows Window -> SomeMessage -> X (Maybe (Either (HiddenWindows Window) SomeMessage)) Source # pureMess :: HiddenWindows Window -> SomeMessage -> Maybe (HiddenWindows Window) Source # redoLayout :: HiddenWindows Window -> Rectangle -> Maybe (Stack Window) -> [(Window, Rectangle)] -> X ([(Window, Rectangle)], Maybe (HiddenWindows Window)) Source # pureModifier :: HiddenWindows Window -> Rectangle -> Maybe (Stack Window) -> [(Window, Rectangle)] -> ([(Window, Rectangle)], Maybe (HiddenWindows Window)) Source # hook :: HiddenWindows Window -> X () Source # unhook :: HiddenWindows Window -> X () Source # modifierDescription :: HiddenWindows Window -> String Source # modifyDescription :: LayoutClass l Window => HiddenWindows Window -> l Window -> String Source # | |
| LayoutModifier AddRoster Window Source # | |
Defined in XMonad.Layout.IM Methods modifyLayout :: LayoutClass l Window => AddRoster Window -> Workspace WorkspaceId (l Window) Window -> Rectangle -> X ([(Window, Rectangle)], Maybe (l Window)) Source # modifyLayoutWithUpdate :: LayoutClass l Window => AddRoster Window -> Workspace WorkspaceId (l Window) Window -> Rectangle -> X (([(Window, Rectangle)], Maybe (l Window)), Maybe (AddRoster Window)) Source # handleMess :: AddRoster Window -> SomeMessage -> X (Maybe (AddRoster Window)) Source # handleMessOrMaybeModifyIt :: AddRoster Window -> SomeMessage -> X (Maybe (Either (AddRoster Window) SomeMessage)) Source # pureMess :: AddRoster Window -> SomeMessage -> Maybe (AddRoster Window) Source # redoLayout :: AddRoster Window -> Rectangle -> Maybe (Stack Window) -> [(Window, Rectangle)] -> X ([(Window, Rectangle)], Maybe (AddRoster Window)) Source # pureModifier :: AddRoster Window -> Rectangle -> Maybe (Stack Window) -> [(Window, Rectangle)] -> ([(Window, Rectangle)], Maybe (AddRoster Window)) Source # hook :: AddRoster Window -> X () Source # unhook :: AddRoster Window -> X () Source # modifierDescription :: AddRoster Window -> String Source # modifyDescription :: LayoutClass l Window => AddRoster Window -> l Window -> String Source # | |
| LayoutModifier LayoutHints Window Source # | |
Defined in XMonad.Layout.LayoutHints Methods modifyLayout :: LayoutClass l Window => LayoutHints Window -> Workspace WorkspaceId (l Window) Window -> Rectangle -> X ([(Window, Rectangle)], Maybe (l Window)) Source # modifyLayoutWithUpdate :: LayoutClass l Window => LayoutHints Window -> Workspace WorkspaceId (l Window) Window -> Rectangle -> X (([(Window, Rectangle)], Maybe (l Window)), Maybe (LayoutHints Window)) Source # handleMess :: LayoutHints Window -> SomeMessage -> X (Maybe (LayoutHints Window)) Source # handleMessOrMaybeModifyIt :: LayoutHints Window -> SomeMessage -> X (Maybe (Either (LayoutHints Window) SomeMessage)) Source # pureMess :: LayoutHints Window -> SomeMessage -> Maybe (LayoutHints Window) Source # redoLayout :: LayoutHints Window -> Rectangle -> Maybe (Stack Window) -> [(Window, Rectangle)] -> X ([(Window, Rectangle)], Maybe (LayoutHints Window)) Source # pureModifier :: LayoutHints Window -> Rectangle -> Maybe (Stack Window) -> [(Window, Rectangle)] -> ([(Window, Rectangle)], Maybe (LayoutHints Window)) Source # hook :: LayoutHints Window -> X () Source # unhook :: LayoutHints Window -> X () Source # modifierDescription :: LayoutHints Window -> String Source # modifyDescription :: LayoutClass l Window => LayoutHints Window -> l Window -> String Source # | |
| LayoutModifier LayoutHintsToCenter Window Source # | |
Defined in XMonad.Layout.LayoutHints Methods modifyLayout :: LayoutClass l Window => LayoutHintsToCenter Window -> Workspace WorkspaceId (l Window) Window -> Rectangle -> X ([(Window, Rectangle)], Maybe (l Window)) Source # modifyLayoutWithUpdate :: LayoutClass l Window => LayoutHintsToCenter Window -> Workspace WorkspaceId (l Window) Window -> Rectangle -> X (([(Window, Rectangle)], Maybe (l Window)), Maybe (LayoutHintsToCenter Window)) Source # handleMess :: LayoutHintsToCenter Window -> SomeMessage -> X (Maybe (LayoutHintsToCenter Window)) Source # handleMessOrMaybeModifyIt :: LayoutHintsToCenter Window -> SomeMessage -> X (Maybe (Either (LayoutHintsToCenter Window) SomeMessage)) Source # pureMess :: LayoutHintsToCenter Window -> SomeMessage -> Maybe (LayoutHintsToCenter Window) Source # redoLayout :: LayoutHintsToCenter Window -> Rectangle -> Maybe (Stack Window) -> [(Window, Rectangle)] -> X ([(Window, Rectangle)], Maybe (LayoutHintsToCenter Window)) Source # pureModifier :: LayoutHintsToCenter Window -> Rectangle -> Maybe (Stack Window) -> [(Window, Rectangle)] -> ([(Window, Rectangle)], Maybe (LayoutHintsToCenter Window)) Source # hook :: LayoutHintsToCenter Window -> X () Source # unhook :: LayoutHintsToCenter Window -> X () Source # modifierDescription :: LayoutHintsToCenter Window -> String Source # modifyDescription :: LayoutClass l Window => LayoutHintsToCenter Window -> l Window -> String Source # | |
| LayoutModifier LimitWindows a Source # | |
Defined in XMonad.Layout.LimitWindows Methods modifyLayout :: LayoutClass l a => LimitWindows a -> Workspace WorkspaceId (l a) a -> Rectangle -> X ([(a, Rectangle)], Maybe (l a)) Source # modifyLayoutWithUpdate :: LayoutClass l a => LimitWindows a -> Workspace WorkspaceId (l a) a -> Rectangle -> X (([(a, Rectangle)], Maybe (l a)), Maybe (LimitWindows a)) Source # handleMess :: LimitWindows a -> SomeMessage -> X (Maybe (LimitWindows a)) Source # handleMessOrMaybeModifyIt :: LimitWindows a -> SomeMessage -> X (Maybe (Either (LimitWindows a) SomeMessage)) Source # pureMess :: LimitWindows a -> SomeMessage -> Maybe (LimitWindows a) Source # redoLayout :: LimitWindows a -> Rectangle -> Maybe (Stack a) -> [(a, Rectangle)] -> X ([(a, Rectangle)], Maybe (LimitWindows a)) Source # pureModifier :: LimitWindows a -> Rectangle -> Maybe (Stack a) -> [(a, Rectangle)] -> ([(a, Rectangle)], Maybe (LimitWindows a)) Source # hook :: LimitWindows a -> X () Source # unhook :: LimitWindows a -> X () Source # modifierDescription :: LimitWindows a -> String Source # modifyDescription :: LayoutClass l a => LimitWindows a -> l a -> String Source # | |
| LayoutModifier Selection a Source # | |
Defined in XMonad.Layout.LimitWindows Methods modifyLayout :: LayoutClass l a => Selection a -> Workspace WorkspaceId (l a) a -> Rectangle -> X ([(a, Rectangle)], Maybe (l a)) Source # modifyLayoutWithUpdate :: LayoutClass l a => Selection a -> Workspace WorkspaceId (l a) a -> Rectangle -> X (([(a, Rectangle)], Maybe (l a)), Maybe (Selection a)) Source # handleMess :: Selection a -> SomeMessage -> X (Maybe (Selection a)) Source # handleMessOrMaybeModifyIt :: Selection a -> SomeMessage -> X (Maybe (Either (Selection a) SomeMessage)) Source # pureMess :: Selection a -> SomeMessage -> Maybe (Selection a) Source # redoLayout :: Selection a -> Rectangle -> Maybe (Stack a) -> [(a, Rectangle)] -> X ([(a, Rectangle)], Maybe (Selection a)) Source # pureModifier :: Selection a -> Rectangle -> Maybe (Stack a) -> [(a, Rectangle)] -> ([(a, Rectangle)], Maybe (Selection a)) Source # hook :: Selection a -> X () Source # unhook :: Selection a -> X () Source # modifierDescription :: Selection a -> String Source # modifyDescription :: LayoutClass l a => Selection a -> l a -> String Source # | |
| LayoutModifier MagicFocus Window Source # | |
Defined in XMonad.Layout.MagicFocus Methods modifyLayout :: LayoutClass l Window => MagicFocus Window -> Workspace WorkspaceId (l Window) Window -> Rectangle -> X ([(Window, Rectangle)], Maybe (l Window)) Source # modifyLayoutWithUpdate :: LayoutClass l Window => MagicFocus Window -> Workspace WorkspaceId (l Window) Window -> Rectangle -> X (([(Window, Rectangle)], Maybe (l Window)), Maybe (MagicFocus Window)) Source # handleMess :: MagicFocus Window -> SomeMessage -> X (Maybe (MagicFocus Window)) Source # handleMessOrMaybeModifyIt :: MagicFocus Window -> SomeMessage -> X (Maybe (Either (MagicFocus Window) SomeMessage)) Source # pureMess :: MagicFocus Window -> SomeMessage -> Maybe (MagicFocus Window) Source # redoLayout :: MagicFocus Window -> Rectangle -> Maybe (Stack Window) -> [(Window, Rectangle)] -> X ([(Window, Rectangle)], Maybe (MagicFocus Window)) Source # pureModifier :: MagicFocus Window -> Rectangle -> Maybe (Stack Window) -> [(Window, Rectangle)] -> ([(Window, Rectangle)], Maybe (MagicFocus Window)) Source # hook :: MagicFocus Window -> X () Source # unhook :: MagicFocus Window -> X () Source # modifierDescription :: MagicFocus Window -> String Source # modifyDescription :: LayoutClass l Window => MagicFocus Window -> l Window -> String Source # | |
| LayoutModifier Magnifier Window Source # | |
Defined in XMonad.Layout.Magnifier Methods modifyLayout :: LayoutClass l Window => Magnifier Window -> Workspace WorkspaceId (l Window) Window -> Rectangle -> X ([(Window, Rectangle)], Maybe (l Window)) Source # modifyLayoutWithUpdate :: LayoutClass l Window => Magnifier Window -> Workspace WorkspaceId (l Window) Window -> Rectangle -> X (([(Window, Rectangle)], Maybe (l Window)), Maybe (Magnifier Window)) Source # handleMess :: Magnifier Window -> SomeMessage -> X (Maybe (Magnifier Window)) Source # handleMessOrMaybeModifyIt :: Magnifier Window -> SomeMessage -> X (Maybe (Either (Magnifier Window) SomeMessage)) Source # pureMess :: Magnifier Window -> SomeMessage -> Maybe (Magnifier Window) Source # redoLayout :: Magnifier Window -> Rectangle -> Maybe (Stack Window) -> [(Window, Rectangle)] -> X ([(Window, Rectangle)], Maybe (Magnifier Window)) Source # pureModifier :: Magnifier Window -> Rectangle -> Maybe (Stack Window) -> [(Window, Rectangle)] -> ([(Window, Rectangle)], Maybe (Magnifier Window)) Source # hook :: Magnifier Window -> X () Source # unhook :: Magnifier Window -> X () Source # modifierDescription :: Magnifier Window -> String Source # modifyDescription :: LayoutClass l Window => Magnifier Window -> l Window -> String Source # | |
| LayoutModifier AddMaster Window Source # | |
Defined in XMonad.Layout.Master Methods modifyLayout :: LayoutClass l Window => AddMaster Window -> Workspace WorkspaceId (l Window) Window -> Rectangle -> X ([(Window, Rectangle)], Maybe (l Window)) Source # modifyLayoutWithUpdate :: LayoutClass l Window => AddMaster Window -> Workspace WorkspaceId (l Window) Window -> Rectangle -> X (([(Window, Rectangle)], Maybe (l Window)), Maybe (AddMaster Window)) Source # handleMess :: AddMaster Window -> SomeMessage -> X (Maybe (AddMaster Window)) Source # handleMessOrMaybeModifyIt :: AddMaster Window -> SomeMessage -> X (Maybe (Either (AddMaster Window) SomeMessage)) Source # pureMess :: AddMaster Window -> SomeMessage -> Maybe (AddMaster Window) Source # redoLayout :: AddMaster Window -> Rectangle -> Maybe (Stack Window) -> [(Window, Rectangle)] -> X ([(Window, Rectangle)], Maybe (AddMaster Window)) Source # pureModifier :: AddMaster Window -> Rectangle -> Maybe (Stack Window) -> [(Window, Rectangle)] -> ([(Window, Rectangle)], Maybe (AddMaster Window)) Source # hook :: AddMaster Window -> X () Source # unhook :: AddMaster Window -> X () Source # modifierDescription :: AddMaster Window -> String Source # modifyDescription :: LayoutClass l Window => AddMaster Window -> l Window -> String Source # | |
| LayoutModifier Maximize Window Source # | |
Defined in XMonad.Layout.Maximize Methods modifyLayout :: LayoutClass l Window => Maximize Window -> Workspace WorkspaceId (l Window) Window -> Rectangle -> X ([(Window, Rectangle)], Maybe (l Window)) Source # modifyLayoutWithUpdate :: LayoutClass l Window => Maximize Window -> Workspace WorkspaceId (l Window) Window -> Rectangle -> X (([(Window, Rectangle)], Maybe (l Window)), Maybe (Maximize Window)) Source # handleMess :: Maximize Window -> SomeMessage -> X (Maybe (Maximize Window)) Source # handleMessOrMaybeModifyIt :: Maximize Window -> SomeMessage -> X (Maybe (Either (Maximize Window) SomeMessage)) Source # pureMess :: Maximize Window -> SomeMessage -> Maybe (Maximize Window) Source # redoLayout :: Maximize Window -> Rectangle -> Maybe (Stack Window) -> [(Window, Rectangle)] -> X ([(Window, Rectangle)], Maybe (Maximize Window)) Source # pureModifier :: Maximize Window -> Rectangle -> Maybe (Stack Window) -> [(Window, Rectangle)] -> ([(Window, Rectangle)], Maybe (Maximize Window)) Source # hook :: Maximize Window -> X () Source # unhook :: Maximize Window -> X () Source # modifierDescription :: Maximize Window -> String Source # modifyDescription :: LayoutClass l Window => Maximize Window -> l Window -> String Source # | |
| LayoutModifier UnEscape a Source # | |
Defined in XMonad.Layout.MessageControl Methods modifyLayout :: LayoutClass l a => UnEscape a -> Workspace WorkspaceId (l a) a -> Rectangle -> X ([(a, Rectangle)], Maybe (l a)) Source # modifyLayoutWithUpdate :: LayoutClass l a => UnEscape a -> Workspace WorkspaceId (l a) a -> Rectangle -> X (([(a, Rectangle)], Maybe (l a)), Maybe (UnEscape a)) Source # handleMess :: UnEscape a -> SomeMessage -> X (Maybe (UnEscape a)) Source # handleMessOrMaybeModifyIt :: UnEscape a -> SomeMessage -> X (Maybe (Either (UnEscape a) SomeMessage)) Source # pureMess :: UnEscape a -> SomeMessage -> Maybe (UnEscape a) Source # redoLayout :: UnEscape a -> Rectangle -> Maybe (Stack a) -> [(a, Rectangle)] -> X ([(a, Rectangle)], Maybe (UnEscape a)) Source # pureModifier :: UnEscape a -> Rectangle -> Maybe (Stack a) -> [(a, Rectangle)] -> ([(a, Rectangle)], Maybe (UnEscape a)) Source # hook :: UnEscape a -> X () Source # unhook :: UnEscape a -> X () Source # modifierDescription :: UnEscape a -> String Source # modifyDescription :: LayoutClass l a => UnEscape a -> l a -> String Source # | |
| LayoutModifier Minimize Window Source # | |
Defined in XMonad.Layout.Minimize Methods modifyLayout :: LayoutClass l Window => Minimize Window -> Workspace WorkspaceId (l Window) Window -> Rectangle -> X ([(Window, Rectangle)], Maybe (l Window)) Source # modifyLayoutWithUpdate :: LayoutClass l Window => Minimize Window -> Workspace WorkspaceId (l Window) Window -> Rectangle -> X (([(Window, Rectangle)], Maybe (l Window)), Maybe (Minimize Window)) Source # handleMess :: Minimize Window -> SomeMessage -> X (Maybe (Minimize Window)) Source # handleMessOrMaybeModifyIt :: Minimize Window -> SomeMessage -> X (Maybe (Either (Minimize Window) SomeMessage)) Source # pureMess :: Minimize Window -> SomeMessage -> Maybe (Minimize Window) Source # redoLayout :: Minimize Window -> Rectangle -> Maybe (Stack Window) -> [(Window, Rectangle)] -> X ([(Window, Rectangle)], Maybe (Minimize Window)) Source # pureModifier :: Minimize Window -> Rectangle -> Maybe (Stack Window) -> [(Window, Rectangle)] -> ([(Window, Rectangle)], Maybe (Minimize Window)) Source # hook :: Minimize Window -> X () Source # unhook :: Minimize Window -> X () Source # modifierDescription :: Minimize Window -> String Source # modifyDescription :: LayoutClass l Window => Minimize Window -> l Window -> String Source # | |
| LayoutModifier Monitor Window Source # | |
Defined in XMonad.Layout.Monitor Methods modifyLayout :: LayoutClass l Window => Monitor Window -> Workspace WorkspaceId (l Window) Window -> Rectangle -> X ([(Window, Rectangle)], Maybe (l Window)) Source # modifyLayoutWithUpdate :: LayoutClass l Window => Monitor Window -> Workspace WorkspaceId (l Window) Window -> Rectangle -> X (([(Window, Rectangle)], Maybe (l Window)), Maybe (Monitor Window)) Source # handleMess :: Monitor Window -> SomeMessage -> X (Maybe (Monitor Window)) Source # handleMessOrMaybeModifyIt :: Monitor Window -> SomeMessage -> X (Maybe (Either (Monitor Window) SomeMessage)) Source # pureMess :: Monitor Window -> SomeMessage -> Maybe (Monitor Window) Source # redoLayout :: Monitor Window -> Rectangle -> Maybe (Stack Window) -> [(Window, Rectangle)] -> X ([(Window, Rectangle)], Maybe (Monitor Window)) Source # pureModifier :: Monitor Window -> Rectangle -> Maybe (Stack Window) -> [(Window, Rectangle)] -> ([(Window, Rectangle)], Maybe (Monitor Window)) Source # hook :: Monitor Window -> X () Source # unhook :: Monitor Window -> X () Source # modifierDescription :: Monitor Window -> String Source # modifyDescription :: LayoutClass l Window => Monitor Window -> l Window -> String Source # | |
| LayoutModifier WithBorder Window Source # | |
Defined in XMonad.Layout.NoBorders Methods modifyLayout :: LayoutClass l Window => WithBorder Window -> Workspace WorkspaceId (l Window) Window -> Rectangle -> X ([(Window, Rectangle)], Maybe (l Window)) Source # modifyLayoutWithUpdate :: LayoutClass l Window => WithBorder Window -> Workspace WorkspaceId (l Window) Window -> Rectangle -> X (([(Window, Rectangle)], Maybe (l Window)), Maybe (WithBorder Window)) Source # handleMess :: WithBorder Window -> SomeMessage -> X (Maybe (WithBorder Window)) Source # handleMessOrMaybeModifyIt :: WithBorder Window -> SomeMessage -> X (Maybe (Either (WithBorder Window) SomeMessage)) Source # pureMess :: WithBorder Window -> SomeMessage -> Maybe (WithBorder Window) Source # redoLayout :: WithBorder Window -> Rectangle -> Maybe (Stack Window) -> [(Window, Rectangle)] -> X ([(Window, Rectangle)], Maybe (WithBorder Window)) Source # pureModifier :: WithBorder Window -> Rectangle -> Maybe (Stack Window) -> [(Window, Rectangle)] -> ([(Window, Rectangle)], Maybe (WithBorder Window)) Source # hook :: WithBorder Window -> X () Source # unhook :: WithBorder Window -> X () Source # modifierDescription :: WithBorder Window -> String Source # modifyDescription :: LayoutClass l Window => WithBorder Window -> l Window -> String Source # | |
| LayoutModifier Reflect a Source # | |
Defined in XMonad.Layout.Reflect Methods modifyLayout :: LayoutClass l a => Reflect a -> Workspace WorkspaceId (l a) a -> Rectangle -> X ([(a, Rectangle)], Maybe (l a)) Source # modifyLayoutWithUpdate :: LayoutClass l a => Reflect a -> Workspace WorkspaceId (l a) a -> Rectangle -> X (([(a, Rectangle)], Maybe (l a)), Maybe (Reflect a)) Source # handleMess :: Reflect a -> SomeMessage -> X (Maybe (Reflect a)) Source # handleMessOrMaybeModifyIt :: Reflect a -> SomeMessage -> X (Maybe (Either (Reflect a) SomeMessage)) Source # pureMess :: Reflect a -> SomeMessage -> Maybe (Reflect a) Source # redoLayout :: Reflect a -> Rectangle -> Maybe (Stack a) -> [(a, Rectangle)] -> X ([(a, Rectangle)], Maybe (Reflect a)) Source # pureModifier :: Reflect a -> Rectangle -> Maybe (Stack a) -> [(a, Rectangle)] -> ([(a, Rectangle)], Maybe (Reflect a)) Source # hook :: Reflect a -> X () Source # unhook :: Reflect a -> X () Source # modifierDescription :: Reflect a -> String Source # modifyDescription :: LayoutClass l a => Reflect a -> l a -> String Source # | |
| LayoutModifier Rename a Source # | |
Defined in XMonad.Layout.Renamed Methods modifyLayout :: LayoutClass l a => Rename a -> Workspace WorkspaceId (l a) a -> Rectangle -> X ([(a, Rectangle)], Maybe (l a)) Source # modifyLayoutWithUpdate :: LayoutClass l a => Rename a -> Workspace WorkspaceId (l a) a -> Rectangle -> X (([(a, Rectangle)], Maybe (l a)), Maybe (Rename a)) Source # handleMess :: Rename a -> SomeMessage -> X (Maybe (Rename a)) Source # handleMessOrMaybeModifyIt :: Rename a -> SomeMessage -> X (Maybe (Either (Rename a) SomeMessage)) Source # pureMess :: Rename a -> SomeMessage -> Maybe (Rename a) Source # redoLayout :: Rename a -> Rectangle -> Maybe (Stack a) -> [(a, Rectangle)] -> X ([(a, Rectangle)], Maybe (Rename a)) Source # pureModifier :: Rename a -> Rectangle -> Maybe (Stack a) -> [(a, Rectangle)] -> ([(a, Rectangle)], Maybe (Rename a)) Source # hook :: Rename a -> X () Source # unhook :: Rename a -> X () Source # modifierDescription :: Rename a -> String Source # modifyDescription :: LayoutClass l a => Rename a -> l a -> String Source # | |
| LayoutModifier ResizeScreen a Source # | |
Defined in XMonad.Layout.ResizeScreen Methods modifyLayout :: LayoutClass l a => ResizeScreen a -> Workspace WorkspaceId (l a) a -> Rectangle -> X ([(a, Rectangle)], Maybe (l a)) Source # modifyLayoutWithUpdate :: LayoutClass l a => ResizeScreen a -> Workspace WorkspaceId (l a) a -> Rectangle -> X (([(a, Rectangle)], Maybe (l a)), Maybe (ResizeScreen a)) Source # handleMess :: ResizeScreen a -> SomeMessage -> X (Maybe (ResizeScreen a)) Source # handleMessOrMaybeModifyIt :: ResizeScreen a -> SomeMessage -> X (Maybe (Either (ResizeScreen a) SomeMessage)) Source # pureMess :: ResizeScreen a -> SomeMessage -> Maybe (ResizeScreen a) Source # redoLayout :: ResizeScreen a -> Rectangle -> Maybe (Stack a) -> [(a, Rectangle)] -> X ([(a, Rectangle)], Maybe (ResizeScreen a)) Source # pureModifier :: ResizeScreen a -> Rectangle -> Maybe (Stack a) -> [(a, Rectangle)] -> ([(a, Rectangle)], Maybe (ResizeScreen a)) Source # hook :: ResizeScreen a -> X () Source # unhook :: ResizeScreen a -> X () Source # modifierDescription :: ResizeScreen a -> String Source # modifyDescription :: LayoutClass l a => ResizeScreen a -> l a -> String Source # | |
| LayoutModifier ShowWName a Source # | |
Defined in XMonad.Layout.ShowWName Methods modifyLayout :: LayoutClass l a => ShowWName a -> Workspace WorkspaceId (l a) a -> Rectangle -> X ([(a, Rectangle)], Maybe (l a)) Source # modifyLayoutWithUpdate :: LayoutClass l a => ShowWName a -> Workspace WorkspaceId (l a) a -> Rectangle -> X (([(a, Rectangle)], Maybe (l a)), Maybe (ShowWName a)) Source # handleMess :: ShowWName a -> SomeMessage -> X (Maybe (ShowWName a)) Source # handleMessOrMaybeModifyIt :: ShowWName a -> SomeMessage -> X (Maybe (Either (ShowWName a) SomeMessage)) Source # pureMess :: ShowWName a -> SomeMessage -> Maybe (ShowWName a) Source # redoLayout :: ShowWName a -> Rectangle -> Maybe (Stack a) -> [(a, Rectangle)] -> X ([(a, Rectangle)], Maybe (ShowWName a)) Source # pureModifier :: ShowWName a -> Rectangle -> Maybe (Stack a) -> [(a, Rectangle)] -> ([(a, Rectangle)], Maybe (ShowWName a)) Source # hook :: ShowWName a -> X () Source # unhook :: ShowWName a -> X () Source # modifierDescription :: ShowWName a -> String Source # modifyDescription :: LayoutClass l a => ShowWName a -> l a -> String Source # | |
| Eq a => LayoutModifier Spacing a Source # | |
Defined in XMonad.Layout.Spacing Methods modifyLayout :: LayoutClass l a => Spacing a -> Workspace WorkspaceId (l a) a -> Rectangle -> X ([(a, Rectangle)], Maybe (l a)) Source # modifyLayoutWithUpdate :: LayoutClass l a => Spacing a -> Workspace WorkspaceId (l a) a -> Rectangle -> X (([(a, Rectangle)], Maybe (l a)), Maybe (Spacing a)) Source # handleMess :: Spacing a -> SomeMessage -> X (Maybe (Spacing a)) Source # handleMessOrMaybeModifyIt :: Spacing a -> SomeMessage -> X (Maybe (Either (Spacing a) SomeMessage)) Source # pureMess :: Spacing a -> SomeMessage -> Maybe (Spacing a) Source # redoLayout :: Spacing a -> Rectangle -> Maybe (Stack a) -> [(a, Rectangle)] -> X ([(a, Rectangle)], Maybe (Spacing a)) Source # pureModifier :: Spacing a -> Rectangle -> Maybe (Stack a) -> [(a, Rectangle)] -> ([(a, Rectangle)], Maybe (Spacing a)) Source # hook :: Spacing a -> X () Source # unhook :: Spacing a -> X () Source # modifierDescription :: Spacing a -> String Source # modifyDescription :: LayoutClass l a => Spacing a -> l a -> String Source # | |
| LayoutModifier Stoppable Window Source # | |
Defined in XMonad.Layout.Stoppable Methods modifyLayout :: LayoutClass l Window => Stoppable Window -> Workspace WorkspaceId (l Window) Window -> Rectangle -> X ([(Window, Rectangle)], Maybe (l Window)) Source # modifyLayoutWithUpdate :: LayoutClass l Window => Stoppable Window -> Workspace WorkspaceId (l Window) Window -> Rectangle -> X (([(Window, Rectangle)], Maybe (l Window)), Maybe (Stoppable Window)) Source # handleMess :: Stoppable Window -> SomeMessage -> X (Maybe (Stoppable Window)) Source # handleMessOrMaybeModifyIt :: Stoppable Window -> SomeMessage -> X (Maybe (Either (Stoppable Window) SomeMessage)) Source # pureMess :: Stoppable Window -> SomeMessage -> Maybe (Stoppable Window) Source # redoLayout :: Stoppable Window -> Rectangle -> Maybe (Stack Window) -> [(Window, Rectangle)] -> X ([(Window, Rectangle)], Maybe (Stoppable Window)) Source # pureModifier :: Stoppable Window -> Rectangle -> Maybe (Stack Window) -> [(Window, Rectangle)] -> ([(Window, Rectangle)], Maybe (Stoppable Window)) Source # hook :: Stoppable Window -> X () Source # unhook :: Stoppable Window -> X () Source # modifierDescription :: Stoppable Window -> String Source # modifyDescription :: LayoutClass l Window => Stoppable Window -> l Window -> String Source # | |
| LayoutModifier UseTransientFor Window Source # | |
Defined in XMonad.Layout.TrackFloating Methods modifyLayout :: LayoutClass l Window => UseTransientFor Window -> Workspace WorkspaceId (l Window) Window -> Rectangle -> X ([(Window, Rectangle)], Maybe (l Window)) Source # modifyLayoutWithUpdate :: LayoutClass l Window => UseTransientFor Window -> Workspace WorkspaceId (l Window) Window -> Rectangle -> X (([(Window, Rectangle)], Maybe (l Window)), Maybe (UseTransientFor Window)) Source # handleMess :: UseTransientFor Window -> SomeMessage -> X (Maybe (UseTransientFor Window)) Source # handleMessOrMaybeModifyIt :: UseTransientFor Window -> SomeMessage -> X (Maybe (Either (UseTransientFor Window) SomeMessage)) Source # pureMess :: UseTransientFor Window -> SomeMessage -> Maybe (UseTransientFor Window) Source # redoLayout :: UseTransientFor Window -> Rectangle -> Maybe (Stack Window) -> [(Window, Rectangle)] -> X ([(Window, Rectangle)], Maybe (UseTransientFor Window)) Source # pureModifier :: UseTransientFor Window -> Rectangle -> Maybe (Stack Window) -> [(Window, Rectangle)] -> ([(Window, Rectangle)], Maybe (UseTransientFor Window)) Source # hook :: UseTransientFor Window -> X () Source # unhook :: UseTransientFor Window -> X () Source # modifierDescription :: UseTransientFor Window -> String Source # modifyDescription :: LayoutClass l Window => UseTransientFor Window -> l Window -> String Source # | |
| (Show a, Read a, Eq a) => LayoutModifier WindowArranger a Source # | |
Defined in XMonad.Layout.WindowArranger Methods modifyLayout :: LayoutClass l a => WindowArranger a -> Workspace WorkspaceId (l a) a -> Rectangle -> X ([(a, Rectangle)], Maybe (l a)) Source # modifyLayoutWithUpdate :: LayoutClass l a => WindowArranger a -> Workspace WorkspaceId (l a) a -> Rectangle -> X (([(a, Rectangle)], Maybe (l a)), Maybe (WindowArranger a)) Source # handleMess :: WindowArranger a -> SomeMessage -> X (Maybe (WindowArranger a)) Source # handleMessOrMaybeModifyIt :: WindowArranger a -> SomeMessage -> X (Maybe (Either (WindowArranger a) SomeMessage)) Source # pureMess :: WindowArranger a -> SomeMessage -> Maybe (WindowArranger a) Source # redoLayout :: WindowArranger a -> Rectangle -> Maybe (Stack a) -> [(a, Rectangle)] -> X ([(a, Rectangle)], Maybe (WindowArranger a)) Source # pureModifier :: WindowArranger a -> Rectangle -> Maybe (Stack a) -> [(a, Rectangle)] -> ([(a, Rectangle)], Maybe (WindowArranger a)) Source # hook :: WindowArranger a -> X () Source # unhook :: WindowArranger a -> X () Source # modifierDescription :: WindowArranger a -> String Source # modifyDescription :: LayoutClass l a => WindowArranger a -> l a -> String Source # | |
| LayoutModifier WindowNavigation Window Source # | |
Defined in XMonad.Layout.WindowNavigation Methods modifyLayout :: LayoutClass l Window => WindowNavigation Window -> Workspace WorkspaceId (l Window) Window -> Rectangle -> X ([(Window, Rectangle)], Maybe (l Window)) Source # modifyLayoutWithUpdate :: LayoutClass l Window => WindowNavigation Window -> Workspace WorkspaceId (l Window) Window -> Rectangle -> X (([(Window, Rectangle)], Maybe (l Window)), Maybe (WindowNavigation Window)) Source # handleMess :: WindowNavigation Window -> SomeMessage -> X (Maybe (WindowNavigation Window)) Source # handleMessOrMaybeModifyIt :: WindowNavigation Window -> SomeMessage -> X (Maybe (Either (WindowNavigation Window) SomeMessage)) Source # pureMess :: WindowNavigation Window -> SomeMessage -> Maybe (WindowNavigation Window) Source # redoLayout :: WindowNavigation Window -> Rectangle -> Maybe (Stack Window) -> [(Window, Rectangle)] -> X ([(Window, Rectangle)], Maybe (WindowNavigation Window)) Source # pureModifier :: WindowNavigation Window -> Rectangle -> Maybe (Stack Window) -> [(Window, Rectangle)] -> ([(Window, Rectangle)], Maybe (WindowNavigation Window)) Source # hook :: WindowNavigation Window -> X () Source # unhook :: WindowNavigation Window -> X () Source # modifierDescription :: WindowNavigation Window -> String Source # modifyDescription :: LayoutClass l Window => WindowNavigation Window -> l Window -> String Source # | |
| LayoutModifier WorkspaceDir Window Source # | |
Defined in XMonad.Layout.WorkspaceDir Methods modifyLayout :: LayoutClass l Window => WorkspaceDir Window -> Workspace WorkspaceId (l Window) Window -> Rectangle -> X ([(Window, Rectangle)], Maybe (l Window)) Source # modifyLayoutWithUpdate :: LayoutClass l Window => WorkspaceDir Window -> Workspace WorkspaceId (l Window) Window -> Rectangle -> X (([(Window, Rectangle)], Maybe (l Window)), Maybe (WorkspaceDir Window)) Source # handleMess :: WorkspaceDir Window -> SomeMessage -> X (Maybe (WorkspaceDir Window)) Source # handleMessOrMaybeModifyIt :: WorkspaceDir Window -> SomeMessage -> X (Maybe (Either (WorkspaceDir Window) SomeMessage)) Source # pureMess :: WorkspaceDir Window -> SomeMessage -> Maybe (WorkspaceDir Window) Source # redoLayout :: WorkspaceDir Window -> Rectangle -> Maybe (Stack Window) -> [(Window, Rectangle)] -> X ([(Window, Rectangle)], Maybe (WorkspaceDir Window)) Source # pureModifier :: WorkspaceDir Window -> Rectangle -> Maybe (Stack Window) -> [(Window, Rectangle)] -> ([(Window, Rectangle)], Maybe (WorkspaceDir Window)) Source # hook :: WorkspaceDir Window -> X () Source # unhook :: WorkspaceDir Window -> X () Source # modifierDescription :: WorkspaceDir Window -> String Source # modifyDescription :: LayoutClass l Window => WorkspaceDir Window -> l Window -> String Source # | |
| (LayoutClass l Window, Read (l Window)) => LayoutModifier (Drawer l) Window Source # | |
Defined in XMonad.Layout.Drawer Methods modifyLayout :: LayoutClass l0 Window => Drawer l Window -> Workspace WorkspaceId (l0 Window) Window -> Rectangle -> X ([(Window, Rectangle)], Maybe (l0 Window)) Source # modifyLayoutWithUpdate :: LayoutClass l0 Window => Drawer l Window -> Workspace WorkspaceId (l0 Window) Window -> Rectangle -> X (([(Window, Rectangle)], Maybe (l0 Window)), Maybe (Drawer l Window)) Source # handleMess :: Drawer l Window -> SomeMessage -> X (Maybe (Drawer l Window)) Source # handleMessOrMaybeModifyIt :: Drawer l Window -> SomeMessage -> X (Maybe (Either (Drawer l Window) SomeMessage)) Source # pureMess :: Drawer l Window -> SomeMessage -> Maybe (Drawer l Window) Source # redoLayout :: Drawer l Window -> Rectangle -> Maybe (Stack Window) -> [(Window, Rectangle)] -> X ([(Window, Rectangle)], Maybe (Drawer l Window)) Source # pureModifier :: Drawer l Window -> Rectangle -> Maybe (Stack Window) -> [(Window, Rectangle)] -> ([(Window, Rectangle)], Maybe (Drawer l Window)) Source # hook :: Drawer l Window -> X () Source # unhook :: Drawer l Window -> X () Source # modifierDescription :: Drawer l Window -> String Source # modifyDescription :: LayoutClass l0 Window => Drawer l Window -> l0 Window -> String Source # | |
| (Read p, Show p, SetsAmbiguous p) => LayoutModifier (ConfigurableBorder p) Window Source # | |
Defined in XMonad.Layout.NoBorders Methods modifyLayout :: LayoutClass l Window => ConfigurableBorder p Window -> Workspace WorkspaceId (l Window) Window -> Rectangle -> X ([(Window, Rectangle)], Maybe (l Window)) Source # modifyLayoutWithUpdate :: LayoutClass l Window => ConfigurableBorder p Window -> Workspace WorkspaceId (l Window) Window -> Rectangle -> X (([(Window, Rectangle)], Maybe (l Window)), Maybe (ConfigurableBorder p Window)) Source # handleMess :: ConfigurableBorder p Window -> SomeMessage -> X (Maybe (ConfigurableBorder p Window)) Source # handleMessOrMaybeModifyIt :: ConfigurableBorder p Window -> SomeMessage -> X (Maybe (Either (ConfigurableBorder p Window) SomeMessage)) Source # pureMess :: ConfigurableBorder p Window -> SomeMessage -> Maybe (ConfigurableBorder p Window) Source # redoLayout :: ConfigurableBorder p Window -> Rectangle -> Maybe (Stack Window) -> [(Window, Rectangle)] -> X ([(Window, Rectangle)], Maybe (ConfigurableBorder p Window)) Source # pureModifier :: ConfigurableBorder p Window -> Rectangle -> Maybe (Stack Window) -> [(Window, Rectangle)] -> ([(Window, Rectangle)], Maybe (ConfigurableBorder p Window)) Source # hook :: ConfigurableBorder p Window -> X () Source # unhook :: ConfigurableBorder p Window -> X () Source # modifierDescription :: ConfigurableBorder p Window -> String Source # modifyDescription :: LayoutClass l Window => ConfigurableBorder p Window -> l Window -> String Source # | |
| (Read (l Window), Show (l Window), LayoutClass l Window) => LayoutModifier (Sublayout l) Window Source # | |
Defined in XMonad.Layout.SubLayouts Methods modifyLayout :: LayoutClass l0 Window => Sublayout l Window -> Workspace WorkspaceId (l0 Window) Window -> Rectangle -> X ([(Window, Rectangle)], Maybe (l0 Window)) Source # modifyLayoutWithUpdate :: LayoutClass l0 Window => Sublayout l Window -> Workspace WorkspaceId (l0 Window) Window -> Rectangle -> X (([(Window, Rectangle)], Maybe (l0 Window)), Maybe (Sublayout l Window)) Source # handleMess :: Sublayout l Window -> SomeMessage -> X (Maybe (Sublayout l Window)) Source # handleMessOrMaybeModifyIt :: Sublayout l Window -> SomeMessage -> X (Maybe (Either (Sublayout l Window) SomeMessage)) Source # pureMess :: Sublayout l Window -> SomeMessage -> Maybe (Sublayout l Window) Source # redoLayout :: Sublayout l Window -> Rectangle -> Maybe (Stack Window) -> [(Window, Rectangle)] -> X ([(Window, Rectangle)], Maybe (Sublayout l Window)) Source # pureModifier :: Sublayout l Window -> Rectangle -> Maybe (Stack Window) -> [(Window, Rectangle)] -> ([(Window, Rectangle)], Maybe (Sublayout l Window)) Source # hook :: Sublayout l Window -> X () Source # unhook :: Sublayout l Window -> X () Source # modifierDescription :: Sublayout l Window -> String Source # modifyDescription :: LayoutClass l0 Window => Sublayout l Window -> l0 Window -> String Source # | |
| (DecorationStyle ds Window, Shrinker s) => LayoutModifier (Decoration ds s) Window Source # | The long In The state is After that we resync the updated state with the windows' list and then we process the resynced stated (as we do with a new state). First we map the decoration windows, we update each decoration to reflect any decorated window's change, and we insert, in the list of windows and rectangles returned by the underlying layout, the decoration for each window. This way xmonad will restack the decorations and their windows accordingly. At the end we remove invisible/stacked windows. Message handling is quite simple: when needed we release the state
component of the |
Defined in XMonad.Layout.Decoration Methods modifyLayout :: LayoutClass l Window => Decoration ds s Window -> Workspace WorkspaceId (l Window) Window -> Rectangle -> X ([(Window, Rectangle)], Maybe (l Window)) Source # modifyLayoutWithUpdate :: LayoutClass l Window => Decoration ds s Window -> Workspace WorkspaceId (l Window) Window -> Rectangle -> X (([(Window, Rectangle)], Maybe (l Window)), Maybe (Decoration ds s Window)) Source # handleMess :: Decoration ds s Window -> SomeMessage -> X (Maybe (Decoration ds s Window)) Source # handleMessOrMaybeModifyIt :: Decoration ds s Window -> SomeMessage -> X (Maybe (Either (Decoration ds s Window) SomeMessage)) Source # pureMess :: Decoration ds s Window -> SomeMessage -> Maybe (Decoration ds s Window) Source # redoLayout :: Decoration ds s Window -> Rectangle -> Maybe (Stack Window) -> [(Window, Rectangle)] -> X ([(Window, Rectangle)], Maybe (Decoration ds s Window)) Source # pureModifier :: Decoration ds s Window -> Rectangle -> Maybe (Stack Window) -> [(Window, Rectangle)] -> ([(Window, Rectangle)], Maybe (Decoration ds s Window)) Source # hook :: Decoration ds s Window -> X () Source # unhook :: Decoration ds s Window -> X () Source # modifierDescription :: Decoration ds s Window -> String Source # modifyDescription :: LayoutClass l Window => Decoration ds s Window -> l Window -> String Source # | |
| (DecorationEngine engine widget Window, DecorationGeometry geom Window, Shrinker shrinker) => LayoutModifier (DecorationEx engine widget geom shrinker) Window Source # | The long In The state is After that we resync the updated state with the windows' list and then we process the resynced stated (as we do with a new state). First we map the decoration windows, we update each decoration to reflect any decorated window's change, and we insert, in the list of windows and rectangles returned by the underlying layout, the decoration for each window. This way xmonad will restack the decorations and their windows accordingly. At the end we remove invisible/stacked windows. Message handling is quite simple: when needed we release the state
component of the |
Defined in XMonad.Layout.DecorationEx.LayoutModifier Methods modifyLayout :: LayoutClass l Window => DecorationEx engine widget geom shrinker Window -> Workspace WorkspaceId (l Window) Window -> Rectangle -> X ([(Window, Rectangle)], Maybe (l Window)) Source # modifyLayoutWithUpdate :: LayoutClass l Window => DecorationEx engine widget geom shrinker Window -> Workspace WorkspaceId (l Window) Window -> Rectangle -> X (([(Window, Rectangle)], Maybe (l Window)), Maybe (DecorationEx engine widget geom shrinker Window)) Source # handleMess :: DecorationEx engine widget geom shrinker Window -> SomeMessage -> X (Maybe (DecorationEx engine widget geom shrinker Window)) Source # handleMessOrMaybeModifyIt :: DecorationEx engine widget geom shrinker Window -> SomeMessage -> X (Maybe (Either (DecorationEx engine widget geom shrinker Window) SomeMessage)) Source # pureMess :: DecorationEx engine widget geom shrinker Window -> SomeMessage -> Maybe (DecorationEx engine widget geom shrinker Window) Source # redoLayout :: DecorationEx engine widget geom shrinker Window -> Rectangle -> Maybe (Stack Window) -> [(Window, Rectangle)] -> X ([(Window, Rectangle)], Maybe (DecorationEx engine widget geom shrinker Window)) Source # pureModifier :: DecorationEx engine widget geom shrinker Window -> Rectangle -> Maybe (Stack Window) -> [(Window, Rectangle)] -> ([(Window, Rectangle)], Maybe (DecorationEx engine widget geom shrinker Window)) Source # hook :: DecorationEx engine widget geom shrinker Window -> X () Source # unhook :: DecorationEx engine widget geom shrinker Window -> X () Source # modifierDescription :: DecorationEx engine widget geom shrinker Window -> String Source # modifyDescription :: LayoutClass l Window => DecorationEx engine widget geom shrinker Window -> l Window -> String Source # | |
data ModifiedLayout (m :: Type -> Type) (l :: Type -> Type) a Source #
A ModifiedLayout is simply a container for a layout modifier
combined with an underlying layout. It is, of course, itself a
layout (i.e. an instance of LayoutClass).
Constructors
| ModifiedLayout (m a) (l a) |
Instances
| (LayoutModifier m a, LayoutClass l a, Typeable m) => LayoutClass (ModifiedLayout m l) a Source # | The |
Defined in XMonad.Layout.LayoutModifier Methods runLayout :: Workspace WorkspaceId (ModifiedLayout m l a) a -> Rectangle -> X ([(a, Rectangle)], Maybe (ModifiedLayout m l a)) doLayout :: ModifiedLayout m l a -> Rectangle -> Stack a -> X ([(a, Rectangle)], Maybe (ModifiedLayout m l a)) pureLayout :: ModifiedLayout m l a -> Rectangle -> Stack a -> [(a, Rectangle)] emptyLayout :: ModifiedLayout m l a -> Rectangle -> X ([(a, Rectangle)], Maybe (ModifiedLayout m l a)) handleMessage :: ModifiedLayout m l a -> SomeMessage -> X (Maybe (ModifiedLayout m l a)) pureMessage :: ModifiedLayout m l a -> SomeMessage -> Maybe (ModifiedLayout m l a) description :: ModifiedLayout m l a -> String | |
| (Read (m a), Read (l a)) => Read (ModifiedLayout m l a) Source # | |
Defined in XMonad.Layout.LayoutModifier Methods readsPrec :: Int -> ReadS (ModifiedLayout m l a) readList :: ReadS [ModifiedLayout m l a] readPrec :: ReadPrec (ModifiedLayout m l a) readListPrec :: ReadPrec [ModifiedLayout m l a] | |
| (Show (m a), Show (l a)) => Show (ModifiedLayout m l a) Source # | |
Defined in XMonad.Layout.LayoutModifier Methods showsPrec :: Int -> ModifiedLayout m l a -> ShowS show :: ModifiedLayout m l a -> String showList :: [ModifiedLayout m l a] -> ShowS | |