xmonad-contrib-0.18.0: Community-maintained extensions for xmonad
Copyright(c) Roman Cheplyaka Ivan N. Veselov <veselov@gmail.com>
LicenseBSD-style (see LICENSE)
MaintainerRoman Cheplyaka <roma@ro-che.info>
Stabilityunstable
Portabilityunportable
Safe HaskellSafe-Inferred
LanguageHaskell2010

XMonad.Layout.IM

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.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 def { 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 the tutorial and 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 infixr 9 
Or Property Property infixr 8 
Not Property 
Const Bool 
Tagged String

Tagged via XMonad.Actions.TagWindows

data IM a Source #

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

Constructors

IM Rational Property 

Instances

Instances details
LayoutClass IM Window Source # 
Instance details

Defined in XMonad.Layout.IM

Read (IM a) Source # 
Instance details

Defined in XMonad.Layout.IM

Show (IM a) Source # 
Instance details

Defined in XMonad.Layout.IM

Methods

showsPrec :: Int -> IM a -> ShowS #

show :: IM a -> String #

showList :: [IM a] -> ShowS #

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

data AddRoster a Source #

Data type for LayoutModifier which converts given layout to IM-layout (with dedicated space for the roster and original layout for chat windows)

Instances

Instances details
LayoutModifier AddRoster Window Source # 
Instance details

Defined in XMonad.Layout.IM

Read (AddRoster a) Source # 
Instance details

Defined in XMonad.Layout.IM

Show (AddRoster a) Source # 
Instance details

Defined in XMonad.Layout.IM