xmonad-contrib-0.11.4: Third party extensions for xmonad

Copyright | (c) 2010 Adam Vogt
License | BSD-style (see xmonad/LICENSE)
Maintainer | vogt.adam@gmail.com
Stability | unstable
Portability | unportable
Safe Haskell | None
Language | Haskell98

XMonad.Layout.TrackFloating

Contents

- Usage
  - For other layout modifiers

Description

Layout modifier that tracks focus in the tiled layer while the floating layer is in use. This is particularly helpful for tiled layouts where the focus determines what is visible.

The relevant bug is Issue 4 http://code.google.com/p/xmonad/issues/detail?id=4.

Synopsis

- trackFloating :: l a -> ModifiedLayout TrackFloating l a
- data TrackFloating a

# Usage

Apply to your layout in a config like:

    main = xmonad (defaultConfig{
                      layoutHook = trackFloating
                          (noBorders Full ||| Tall 1 0.3 0.5),
                      ...
                  })

## For other layout modifiers

It also corrects focus issues for full-like layouts inside other layout modifiers:

    import XMonad.Layout.IM
    import XMonad.Layout.Tabbed
    import XMonad.Layout.TrackFloating
    import XMonad.Layout.Reflect

    gimpLayout = withIM 0.11 (Role "gimp-toolbox") $ reflectHoriz
          $ withIM 0.15 (Role "gimp-dock") (trackFloating simpleTabbed)

Interactions with some layout modifiers (ex. decorations, minimizing) are unknown but likely unpleasant.

trackFloating :: l a -> ModifiedLayout TrackFloating l a

Runs another layout with a remembered focus, provided:

- the subset of windows doesn't include the focus in XState
- it was previously run with a subset that included the XState focus
- the remembered focus hasn't since been killed

data TrackFloating a

Instances

LayoutModifier TrackFloating Window |
Eq (TrackFloating a) |
Read (TrackFloating a) |
Show (TrackFloating a) |