xmonad-contrib-0.15: Third party extensions for xmonad

Copyright(c) 2018 L. S. Leary
LicenseBSD3-style (see LICENSE)
MaintainerL. S. Leary
Safe HaskellNone




Provides StateFull: a stateful form of Full that does not misbehave when floats are focused, and the FocusTracking layout transformer by means of which StateFull is implemented. FocusTracking simply holds onto the last true focus it was given and continues to use it as the focus for the transformed layout until it sees another. It can be used to improve the behaviour of a child layout that has not been given the focused window.



To use it, first you need to:

import XMonad.Layout.StateFull

Then to toggle your tiled layout with StateFull, you can do:

main = xmonad def { layoutHook = someTiledLayout ||| StateFull }

Or, some child layout that depends on focus information can be made to fall back on the last focus it had:

main = xmonad def
 { layoutHook = someParentLayoutWith aChild (focusTracking anotherChild) }

pattern StateFull :: forall a. FocusTracking Full a Source #

A pattern synonym for the primary use case of the FocusTracking transformer; using Full.

type StateFull = FocusTracking Full Source #

A type synonym to match the StateFull pattern synonym.

data FocusTracking l a Source #

The FocusTracking data type for which the LayoutClass instance is provided.


FocusTracking (Maybe a) (l a) 

focusTracking :: l a -> FocusTracking l a Source #

Transform a layout into one that remembers and uses its last focus.