Copyright | (c) Anders Engstrom <ankaan@gmail.com> |
---|---|
License | BSD3-style (see LICENSE) |
Maintainer | Anders Engstrom <ankaan@gmail.com> |
Stability | unstable |
Portability | unportable |
Safe Haskell | None |
Language | Haskell98 |
This layout tiles windows in a growing number of columns. The number of windows in each column can be controlled by messages.
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:
:: [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.
Instances
LayoutClass MultiCol a Source # | |
Defined in XMonad.Layout.MultiColumns 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 # | |
Eq (MultiCol a) Source # | |
Read (MultiCol a) Source # | |
Show (MultiCol a) Source # | |