xmonad-contrib-0.13: Third party extensions for xmonad

Copyright(c) Anders Engstrom <ankaan@gmail.com>
LicenseBSD3-style (see LICENSE)
MaintainerAnders Engstrom <ankaan@gmail.com>
Safe HaskellNone




This layout tiles windows in a growing number of columns. The number of windows in each column can be controlled by messages.



You can use this module with the following in your ~/.xmonad/xmonad.hs:

import XMonad.Layout.MultiColumns

Then edit your layoutHook by adding the multiCol layout:

myLayouts = multiCol [1] 4 0.01 0.5 ||| etc..
main = xmonad def { layoutHook = myLayouts }

Or alternatively:

myLayouts = Mirror (multiCol [1] 2 0.01 (-0.25)) ||| etc..
main = xmonad def { layoutHook = myLayouts }

The maximum number of windows in a column can be controlled using the IncMasterN messages and the column containing the focused window will be modified. If the value is 0, all remaining windows will be placed in that column when all columns before that has been filled.

The size can be set to between 1 and -0.5. If the value is positive, the master column will be of that size. The rest of the screen is split among the other columns. But if the size is negative, it instead indicates the size of all non-master columns and the master column will cover the rest of the screen. If the master column would become smaller than the other columns, the screen is instead split equally among all columns. Therefore, if equal size among all columns are desired, set the size to -0.5.

For more detailed instructions on editing the layoutHook see:


multiCol Source #


:: [Int]

Windows in each column, starting with master. Set to 0 to catch the rest.

-> Int

Default value for all following columns.

-> Rational

How much to change size each time.

-> Rational

Initial size of master area, or column area if the size is negative.

-> MultiCol a 

Layout constructor.