xmonad-contrib-bluetilebranch-0.8.1.3: Third party extensions for xmonadSource codeContentsIndex
XMonad.Layout.ComboP
Portabilityunportable
Stabilityunstable
MaintainerKonstantin Sobolev <konstantin.sobolev@gmail.com>
Contents
Usage
Description
A layout that combines multiple layouts and allows to specify where to put new windows.
Synopsis
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
= Title String
| ClassName String
| Resource String
| Role String
| And Property Property
| Or Property Property
| Not Property
| Const Bool
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:

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.

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
show/hide Instances
(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
Constructors
SwapWindowSwap window between panes
SwapWindowN IntSwap window between panes in the N-th nested ComboP. SwapWindowN 0 equals to SwapWindow
show/hide Instances
data Property Source
Most of the property constructors are quite self-explaining.
Constructors
Title String
ClassName String
Resource String
Role StringWM_WINDOW_ROLE property
And Property Property
Or Property Property
Not Property
Const Bool
show/hide Instances
Produced by Haddock version 2.4.2