| xmonad-contrib-0.8.1: Third party extensions for xmonad | Source code | Contents | Index

XMonad.Layout.IM

Portability | unportable
Stability | unstable
Maintainer | Roman Cheplyaka <roma@ro-che.info>

Contents

Usage
Hints
TODO

Description
Layout modfier suitable for workspace with multi-windowed instant messanger (like Psi or Tkabber).
Synopsis

data Property

= Title String
| ClassName String
| Resource String
| Role String
| And Property Property
| Or Property Property
| Not Property
| Const Bool

data IM a = IM Rational Property
withIM :: LayoutClass l a => Rational -> Property -> l a -> ModifiedLayout AddRoster l a
gridIM :: Rational -> Property -> ModifiedLayout AddRoster Grid a

Usage

You can use this module with the following in your `~/.xmonad/xmonad.hs`:

     import XMonad.Layout.IM
     import Data.Ratio ((%))

Then edit your `layoutHook` by adding IM modifier to layout which you prefer for managing your chat windows (Grid in this example, another useful choice to consider is Tabbed layout).

     myLayouts = withIM (1%7) (ClassName "Tkabber") Grid ||| Full ||| etc..
     main = xmonad defaultConfig { layoutHook = myLayouts }

Here `1%7` is the part of the screen which your roster will occupy, `ClassName "Tkabber"` tells xmonad which window is actually your roster.

Screenshot: http://haskell.org/haskellwiki/Image:Xmonad-layout-im.png

For more detailed instructions on editing the layoutHook see:

XMonad.Doc.Extending

Hints
To launch IM layout automatically on your IM workspace use XMonad.Layout.PerWorkspace. By default the roster window will appear on the left side. To place roster window on the right side, use `reflectHoriz` from XMonad.Layout.Reflect module.
TODO

This item are questionable. Please let me know if you find them useful.

- shrink/expand

data Property | Source

Most of the property constructors are quite self-explaining.
Constructors

Title String |
ClassName String |
Resource String |
Role String | WM_WINDOW_ROLE property
And Property Property |
Or Property Property |
Not Property |
Const Bool |

Instances

Read Property
Show Property

data IM a | Source

This is for compatibility with old configs only and will be removed in future versions!
Constructors

IM Rational Property |

Instances

LayoutClass IM Window
Read (IM a)
Show (IM a)

withIM :: LayoutClass l a => Rational -> Property -> l a -> ModifiedLayout AddRoster l a | Source

Modifier which converts given layout to IM-layout (with dedicated space for roster and original layout for chat windows)

gridIM :: Rational -> Property -> ModifiedLayout AddRoster Grid a | Source

IM layout modifier applied to the Grid layout
Produced by Haddock version 2.4.2