xmonad-contrib-0.9.1: Third party extensions for xmonad

Portabilityunportable
Stabilityunstable
MaintainerRoman Cheplyaka <roma@ro-che.info>

XMonad.Layout.IM

Contents

Description

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

Synopsis

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).

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

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

Machine String

WM_CLIENT_MACHINE property

And Property Property 
Or Property Property 
Not Property 
Const Bool 

data IM a Source

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

Constructors

IM Rational Property 

Instances

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

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 aSource

IM layout modifier applied to the Grid layout