| Copyright | (c) David Roundy <droundy@darcs.net> | 
|---|---|
| License | BSD | 
| Maintainer | none | 
| Stability | unstable | 
| Portability | unportable | 
| Safe Haskell | None | 
| Language | Haskell98 | 
XMonad.Layout.LayoutHints
Contents
Description
Make layouts respect size hints.
- layoutHints :: LayoutClass l a => l a -> ModifiedLayout LayoutHints l a
- layoutHintsWithPlacement :: LayoutClass l a => (Double, Double) -> l a -> ModifiedLayout LayoutHints l a
- layoutHintsToCenter :: LayoutClass l a => l a -> ModifiedLayout LayoutHintsToCenter l a
- data LayoutHints a
- data LayoutHintsToCenter a
- hintsEventHook :: Event -> X All
usage
You can use this module with the following in your ~/.xmonad/xmonad.hs:
import XMonad.Layout.LayoutHints
Then edit your layoutHook by adding the layoutHints layout modifier
 to some layout:
myLayout = layoutHints (Tall 1 (3/100) (1/2))  ||| Full ||| etc..
main = xmonad def { layoutHook = myLayout }Or, to center the adapted window in its available area:
myLayout = layoutHintsWithPlacement (0.5, 0.5) (Tall 1 (3/100) (1/2))
                  ||| Full ||| etc..Or, to make a reasonable attempt to eliminate gaps between windows:
myLayout = layoutHintsToCenter (Tall 1 (3/100) (1/2))
For more detailed instructions on editing the layoutHook see:
To make XMonad reflect changes in window hints immediately, add
 hintsEventHook to your handleEventHook.
myHandleEventHook = hintsEventHook <+> ...
main = xmonad def { handleEventHook = myHandleEventHook
                  , ... }layoutHints :: LayoutClass l a => l a -> ModifiedLayout LayoutHints l a Source
layoutHintsWithPlacement :: LayoutClass l a => (Double, Double) -> l a -> ModifiedLayout LayoutHints l a Source
layoutHintsWithPlacement (rx, ry) layout will adapt the sizes of a layout's
 windows according to their size hints, and position them inside their
 originally assigned area according to the rx and ry parameters.
 (0, 0) places the window at the top left, (1, 0) at the top right, (0.5, 0.5)
 at the center, etc.
layoutHintsToCenter :: LayoutClass l a => l a -> ModifiedLayout LayoutHintsToCenter l a Source
layoutHintsToCenter layout applies hints, sliding the window to the
 center of the screen and expanding its neighbors to fill the gaps. Windows
 are never expanded in a way that increases overlap.
layoutHintsToCenter only makes one pass at resizing the neighbors of
 hinted windows, so with some layouts (ex. the arrangement with two Mirror
 Tall stacked vertically), layoutHintsToCenter may leave some gaps.
 Simple layouts like Tall are unaffected.
data LayoutHints a Source
Instances
data LayoutHintsToCenter a Source
Instances
hintsEventHook :: Event -> X All Source
Event hook that refreshes the layout whenever a window changes its hints.