You can use this module with the following in your ~/.xmonad/xmonad.hs:
import XMonad.Layout.ComboP
and add something like
combineTwoP (TwoPane 0.03 0.5) (tabbed shrinkText defaultTConf) (tabbed shrinkText defaultTConf) (ClassName "Firefox")
to your layouts. This way all windows with class = "Firefox" will always go
to the left pane, all others - to the right.
For more detailed instructions on editing the layoutHook see:
XMonad.Doc.Extending
combineTwoP is a simple layout combinator based on combineTwo from Combo, with
addition of a Property which tells where to put new windows. Windows mathing
the property will go into the first part, all others will go into the second
part. It supports Move messages as combineTwo does, but it also introduces
SwapWindow message which sends focused window to the other part. It is
required becase Move commands don't work when one of the parts is empty.
To use it, import "XMonad.Layout.WindowNavigation", and add the following key
bindings (or something similar):
, ((modMask x .|. controlMask .|. shiftMask, xK_Right), sendMessage $ Move R)
, ((modMask x .|. controlMask .|. shiftMask, xK_Left ), sendMessage $ Move L)
, ((modMask x .|. controlMask .|. shiftMask, xK_Up ), sendMessage $ Move U)
, ((modMask x .|. controlMask .|. shiftMask, xK_Down ), sendMessage $ Move D)
, ((modMask x .|. controlMask .|. shiftMask, xK_s ), sendMessage $ SwapWindow)
For detailed instruction on editing the key binding see
XMonad.Doc.Extending.
|