xmonad-contrib-0.11.1: Third party extensions for xmonad

Portability | unportable
Stability | unstable
Maintainer | vogt.adam@gmail.com
Safe Haskell | None

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) |