xmonad-contrib-0.17.1: Community-maintained extensions for xmonad
Copyright(c) 2018 L. S. Leary
LicenseBSD3-style (see LICENSE)
MaintainerL. S. Leary
Stabilityunstable
Portabilityunportable
Safe HaskellSafe-Inferred
LanguageHaskell2010

XMonad.Layout.StateFull

Contents

Description

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

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.

Constructors

FocusTracking (Maybe a) (l a) 

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

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