xmonad-contrib-0.11: Third party extensions for xmonad

Portability | unportable
Stability | unstable
Maintainer | max.rabkin@gmail.com
Safe Haskell | None

XMonad.Layout.Drawer

Contents

- Usage
- Drawers
- Placing drawers

Description

A layout modifier that puts some windows in a drawer which retracts and expands depending on whether any window in it has focus.

Useful for music players, tool palettes, etc.

Synopsis

- simpleDrawer :: Rational -> Rational -> Property -> Drawer Tall a
- drawer :: Rational -> Rational -> Property -> l a -> Drawer l a
- onLeft :: Drawer l a -> l' a -> ModifiedLayout (Drawer l) l' a
- onTop :: Drawer l a -> l' a -> Mirror (ModifiedLayout (Drawer l) (Mirror l')) a
- onRight :: Drawer l a -> l' a -> Reflected (ModifiedLayout (Drawer l) (Reflected l')) a
- onBottom :: Drawer l a -> l' a -> Reflected (Mirror (ModifiedLayout (Drawer l) (Mirror (Reflected l')))) a
- module XMonad.Util.WindowProperties
- data Drawer l a
- type Reflected l = ModifiedLayout Reflect l

# Usage

To use this module, add the following import to `~/.xmonad/xmonad.hs`:

     import XMonad.Layout.Drawer

     myLayout = drawer `onTop` (Tall 1 0.03 0.5) ||| Full ||| RandomOtherLayout...
         where
             drawer = simpleDrawer 0.01 0.3 (ClassName "Rhythmbox" `Or` ClassName "Xchat")

     main = xmonad defaultConfig { layoutHook = myLayout }

This will place the Rhythmbox and Xchat windows in at the top of the screen only when using the `Tall` layout. See XMonad.Util.WindowProperties for more information on selecting windows.

# Drawers

simpleDrawer

Arguments

:: Rational | The portion of the screen taken up by the drawer when closed
-> Rational | The portion of the screen taken up by the drawer when open
-> Property | Which windows to put in the drawer
-> Drawer Tall a |

Construct a drawer with a simple layout of the windows inside

drawer

Arguments

:: Rational | The portion of the screen taken up by the drawer when closed
-> Rational | The portion of the screen taken up by the drawer when open
-> Property | Which windows to put in the drawer
-> l a | The layout of windows in the drawer
-> Drawer l a |

Construct a drawer with an arbitrary layout for windows inside

# Placing drawers

onLeft :: Drawer l a -> l' a -> ModifiedLayout (Drawer l) l' a

onTop :: Drawer l a -> l' a -> Mirror (ModifiedLayout (Drawer l) (Mirror l')) a

onRight :: Drawer l a -> l' a -> Reflected (ModifiedLayout (Drawer l) (Reflected l')) a

onBottom :: Drawer l a -> l' a -> Reflected (Mirror (ModifiedLayout (Drawer l) (Mirror (Reflected l')))) a

module XMonad.Util.WindowProperties

data Drawer l a

Instances

(LayoutClass l Window, Read (l Window)) => LayoutModifier (Drawer l) Window |
Read (l a) => Read (Drawer l a) |
Show (l a) => Show (Drawer l a) |

type Reflected l = ModifiedLayout Reflect l