xmonad-contrib-0.17.1: Community-maintained extensions for xmonad
Copyright(c) Anders Engstrom <ankaan@gmail.com>
LicenseBSD3-style (see LICENSE)
MaintainerAnders Engstrom <ankaan@gmail.com>
Stabilityunstable
Portabilityunportable
Safe HaskellSafe-Inferred
LanguageHaskell2010

XMonad.Layout.MultiColumns

Contents

Description

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

Synopsis

Usage

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:

XMonad.Doc.Extending

multiCol Source #

Arguments

:: [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.

data MultiCol a Source #

Instances

Instances details
LayoutClass MultiCol a Source # 
Instance details

Defined in XMonad.Layout.MultiColumns

Methods

runLayout :: Workspace WorkspaceId (MultiCol a) a -> Rectangle -> X ([(a, Rectangle)], Maybe (MultiCol a)) #

doLayout :: MultiCol a -> Rectangle -> Stack a -> X ([(a, Rectangle)], Maybe (MultiCol a)) #

pureLayout :: MultiCol a -> Rectangle -> Stack a -> [(a, Rectangle)] #

emptyLayout :: MultiCol a -> Rectangle -> X ([(a, Rectangle)], Maybe (MultiCol a)) #

handleMessage :: MultiCol a -> SomeMessage -> X (Maybe (MultiCol a)) #

pureMessage :: MultiCol a -> SomeMessage -> Maybe (MultiCol a) #

description :: MultiCol a -> String #

Read (MultiCol a) Source # 
Instance details

Defined in XMonad.Layout.MultiColumns

Show (MultiCol a) Source # 
Instance details

Defined in XMonad.Layout.MultiColumns

Methods

showsPrec :: Int -> MultiCol a -> ShowS #

show :: MultiCol a -> String #

showList :: [MultiCol a] -> ShowS #

Eq (MultiCol a) Source # 
Instance details

Defined in XMonad.Layout.MultiColumns

Methods

(==) :: MultiCol a -> MultiCol a -> Bool #

(/=) :: MultiCol a -> MultiCol a -> Bool #