xmonad-contrib-0.18.1: Community-maintained extensions for xmonad
Copyright(c) 2009 Max Rabkin
LicenseBSD-style (see xmonad/LICENSE)
Maintainermax.rabkin@gmail.com
Stabilityunstable
Portabilityunportable
Safe HaskellNone
LanguageHaskell2010

XMonad.Layout.Drawer

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

Usage

To use this module, add the following import to 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 def { 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 Source #

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 Source #

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 :: forall (l :: Type -> Type) a l'. Drawer l a -> l' a -> ModifiedLayout (Drawer l) l' a Source #

onTop :: forall (l :: Type -> Type) a l'. Drawer l a -> l' a -> Mirror (ModifiedLayout (Drawer l) (Mirror l')) a Source #

onRight :: forall (l :: Type -> Type) a l'. Drawer l a -> l' a -> Reflected (ModifiedLayout (Drawer l) (Reflected l')) a Source #

onBottom :: forall (l :: Type -> Type) a l'. Drawer l a -> l' a -> Reflected (Mirror (ModifiedLayout (Drawer l) (Mirror (Reflected l')))) a Source #

data Drawer (l :: Type -> Type) a Source #

Instances

Instances details
(LayoutClass l Window, Read (l Window)) => LayoutModifier (Drawer l) Window Source # 
Instance details

Defined in XMonad.Layout.Drawer

Read (l a) => Read (Drawer l a) Source # 
Instance details

Defined in XMonad.Layout.Drawer

Show (l a) => Show (Drawer l a) Source # 
Instance details

Defined in XMonad.Layout.Drawer

Methods

showsPrec :: Int -> Drawer l a -> ShowS #

show :: Drawer l a -> String #

showList :: [Drawer l a] -> ShowS #