Copyright | (c) Roman Cheplyaka Ivan N. Veselov <veselov@gmail.com> |
---|---|
License | BSD-style (see LICENSE) |
Maintainer | Roman Cheplyaka <roma@ro-che.info> |
Stability | unstable |
Portability | unportable |
Safe Haskell | None |
Language | Haskell98 |
Layout modfier suitable for workspace with multi-windowed instant messenger (like Psi or Tkabber).
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 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:
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
Most of the property constructors are quite self-explaining.
This is for compatibility with old configs only and will be removed in future versions!
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)