Layout question: can I have a little column for chat windows?

Hello all, I am looking for a way to be able to stack some chat windows (Psi) on the side of my screen. The way I imagine it would make use a narrow column. The problem I have so far is that, no matter what I try, I am always encumbered in one way or another. These are the things I tried: I can kind of create the layout I want using Tall or XMonad.Layout.ThreeColumns (depending on how I want my main windows to be arranged). These arrangements take a little while to set up though, and just one new window messes everything up again. That's why I'm hoping to find a way to have windows that are pretty much ignored on the side while using a normally behaving Tall layout for the rest. I could use XMonad.Layout.Gaps and floating windows on top of that empty space, but that, of course, just feels terribly wrong. After all I would have to manually resize several windows then. Besides that it would do what I'm looking for though. XMonad.Layout.IM is great because the roster column is inflexible and doesn't get in the way when managing the other windows. I also like the idea of defining a specific window class to be put into that column. However, that column is meant for a single window and I couldn't spawn new windows inside it. XMonad.Layout.LayoutCombinators would be an incredibly flexible way to do it. However, the shrinking/growing etc. keys are applied to the parent layout. This makes it hard to actually manage windows in the contained layouts. Additionally I couldn't spawn new windows inside the second layout either. No matter what layout I set it to it always seemed to be Full with only one window. Maybe these problems can be solved with extra keys or so? I am pretty new to XMonad and like to assume that I just don't know of the right way to configure it. I just hope I could make myself clear enough. Thank you for your help.

On Sun, Apr 12, 2009 at 12:15 PM, W. Kaplan
I am looking for a way to be able to stack some chat windows (Psi) on the side of my screen. The way I imagine it would make use a narrow column.
You can try the attached thing, It's not in contrib. Should work for you with something like this in you xmonad.hs
import XMonad.Layout.ComboP import XMonad.Util.WindowProperties
layoutHook = combineTwoP (dragPane Vertical 0.1 (1/6)) psiStack rest chatWindows where psiStack = Tall 0 (1/200) (1/2) -- however you want to stack your chat windows rest = Grid -- whatever you want on the rest of the screen chatWindows = (ClassName "psi") `And` (Not (Resource "main")) -- how to distinguish chat windows
participants (2)
-
Konstantin Sobolev
-
W. Kaplan