Portability | unportable |
---|---|
Stability | unstable |
Maintainer | Konstantin Sobolev <konstantin.sobolev@gmail.com> |
A layout that combines multiple layouts and allows to specify where to put new windows.
- combineTwoP :: (LayoutClass super (), LayoutClass l1 Window, LayoutClass l2 Window) => super () -> l1 Window -> l2 Window -> Property -> CombineTwoP (super ()) l1 l2 Window
- data CombineTwoP l l1 l2 a
- data SwapWindow
- = SwapWindow
- | SwapWindowN Int
- data Property
Usage
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:
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 because 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):
, ((modm .|. controlMask .|. shiftMask, xK_Right), sendMessage $ Move R) , ((modm .|. controlMask .|. shiftMask, xK_Left ), sendMessage $ Move L) , ((modm .|. controlMask .|. shiftMask, xK_Up ), sendMessage $ Move U) , ((modm .|. controlMask .|. shiftMask, xK_Down ), sendMessage $ Move D) , ((modm .|. controlMask .|. shiftMask, xK_s ), sendMessage $ SwapWindow)
For detailed instruction on editing the key binding see XMonad.Doc.Extending.
combineTwoP :: (LayoutClass super (), LayoutClass l1 Window, LayoutClass l2 Window) => super () -> l1 Window -> l2 Window -> Property -> CombineTwoP (super ()) l1 l2 WindowSource
data CombineTwoP l l1 l2 a Source
(LayoutClass l (), LayoutClass l1 Window, LayoutClass l2 Window) => LayoutClass (CombineTwoP (l ()) l1 l2) Window | |
(Read l, Read a, Read (l1 a), Read (l2 a)) => Read (CombineTwoP l l1 l2 a) | |
(Show l, Show a, Show (l1 a), Show (l2 a)) => Show (CombineTwoP l l1 l2 a) |
data SwapWindow Source
SwapWindow | Swap window between panes |
SwapWindowN Int | Swap window between panes in the N-th nested ComboP. |