xmonad-contrib-0.7: Third party extensions for xmonadContentsIndex
XMonad.Layout.IM
Portabilityunportable
Stabilityunstable
MaintainerRoman 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#Editing_the_layout_hook

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
Most of the property constructors are quite self-explaining.
Constructors
Title String
ClassName String
Resource String
Role StringWM_WINDOW_ROLE property
And Property Property
Or Property Property
Not Property
Const Bool
show/hide Instances
data IM a
This is for compatibility with old configs only and will be removed in future versions!
Constructors
IM Rational Property
show/hide Instances
LayoutClass IM Window
Read (IM a)
Show (IM a)
withIM :: LayoutClass l a => Rational -> Property -> l a -> ModifiedLayout AddRoster l a
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
IM layout modifier applied to the Grid layout
Produced by Haddock version 0.8