XMonad.Layout.ThreeColumns

xmonad-contrib-0.12: Third party extensions for xmonad

Copyright | (c) Kai Grossjohann <kai@emptydomain.de>
License | BSD3-style (see LICENSE)
Maintainer | ?
Stability | unstable
Portability | unportable
Safe Haskell | None
Language | Haskell98

XMonad.Layout.ThreeColumns

Contents

- Usage
- Screenshots

Description

A layout similar to tall but with three columns. With 2560x1600 pixels this layout can be used for a huge main window and up to six reasonable sized slave windows.

Synopsis

- data ThreeCol a
  - = ThreeColMid {
    - threeColNMaster :: !Int
    - threeColDelta :: !Rational
    - threeColFrac :: !Rational
    }
  - | ThreeCol {
    - threeColNMaster :: !Int
    - threeColDelta :: !Rational
    - threeColFrac :: !Rational
    }

# Usage

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

    import XMonad.Layout.ThreeColumns

Then edit your `layoutHook` by adding the ThreeCol layout:

    myLayout = ThreeCol 1 (3/100) (1/2) ||| ThreeColMid 1 (3/100) (1/2) ||| etc..
    main = xmonad def { layoutHook = myLayout }

The first argument specifies how many windows initially appear in the main window. The second argument argument specifies the amount to resize while resizing and the third argument specifies the initial size of the columns. A positive size designates the fraction of the screen that the main window should occupy, but if the size is negative the absolute value designates the fraction a slave column should occupy. If both slave columns are visible, they always occupy the same amount of space.

The ThreeColMid variant places the main window between the slave columns.

For more detailed instructions on editing the layoutHook see:

XMonad.Doc.Extending

# Screenshots

data ThreeCol a #

Arguments are nmaster, delta, fraction

Constructors

ThreeColMid |
Fields threeColNMaster :: !Int threeColDelta :: !Rational threeColFrac :: !Rational
ThreeCol |
Fields threeColNMaster :: !Int threeColDelta :: !Rational threeColFrac :: !Rational

Instances

LayoutClass ThreeCol a # |
Methods runLayout :: Workspace WorkspaceId (ThreeCol a) a -> Rectangle -> X ([(a, Rectangle)], Maybe (ThreeCol a)) # doLayout :: ThreeCol a -> Rectangle -> Stack a -> X ([(a, Rectangle)], Maybe (ThreeCol a)) # pureLayout :: ThreeCol a -> Rectangle -> Stack a -> [(a, Rectangle)] # emptyLayout :: ThreeCol a -> Rectangle -> X ([(a, Rectangle)], Maybe (ThreeCol a)) # handleMessage :: ThreeCol a -> SomeMessage -> X (Maybe (ThreeCol a)) # pureMessage :: ThreeCol a -> SomeMessage -> Maybe (ThreeCol a) # description :: ThreeCol a -> String #
Read (ThreeCol a) # |
Methods readsPrec :: Int -> ReadS (ThreeCol a) # readList :: ReadS [ThreeCol a] # readPrec :: ReadPrec (ThreeCol a) # readListPrec :: ReadPrec [ThreeCol a] #
Show (ThreeCol a) # |
Methods showsPrec :: Int -> ThreeCol a -> ShowS # show :: ThreeCol a -> String # showList :: [ThreeCol a] -> ShowS #