Copyright | (c) 2018 L. S. Leary |
---|---|
License | BSD3-style (see LICENSE) |
Maintainer | L. S. Leary |
Stability | unstable |
Portability | unportable |
Safe Haskell | None |
Language | Haskell98 |
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.
Synopsis
- pattern StateFull :: FocusTracking Full a
- type StateFull = FocusTracking Full
- data FocusTracking l a = FocusTracking (Maybe a) (l a)
- focusTracking :: l a -> FocusTracking l a
Usage
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 :: 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) |
Instances
focusTracking :: l a -> FocusTracking l a Source #
Transform a layout into one that remembers and uses its last focus.