xmonad-0.13: A tiling window manager

Copyright(c) Spencer Janssen 2007
LicenseBSD3-style (see LICENSE)
Maintainerspencerjanssen@gmail.com
Stabilityunstable
Portabilitynot portable, Typeable deriving, mtl, posix
Safe HaskellNone
LanguageHaskell98

XMonad.Layout

Description

The collection of core layouts.

Synopsis

Documentation

data Full a Source #

Simple fullscreen mode. Renders the focused window fullscreen.

Constructors

Full 

Instances

LayoutClass Full a Source # 

Methods

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

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

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

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

handleMessage :: Full a -> SomeMessage -> X (Maybe (Full a)) Source #

pureMessage :: Full a -> SomeMessage -> Maybe (Full a) Source #

description :: Full a -> String Source #

Read (Full a) Source # 
Show (Full a) Source # 

Methods

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

show :: Full a -> String #

showList :: [Full a] -> ShowS #

data Tall a Source #

The builtin tiling mode of xmonad. Supports Shrink, Expand and IncMasterN.

Constructors

Tall 

Fields

Instances

LayoutClass Tall a Source # 

Methods

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

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

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

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

handleMessage :: Tall a -> SomeMessage -> X (Maybe (Tall a)) Source #

pureMessage :: Tall a -> SomeMessage -> Maybe (Tall a) Source #

description :: Tall a -> String Source #

Read (Tall a) Source # 
Show (Tall a) Source # 

Methods

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

show :: Tall a -> String #

showList :: [Tall a] -> ShowS #

newtype Mirror l a Source #

Mirror a layout, compute its 90 degree rotated form.

Constructors

Mirror (l a) 

Instances

LayoutClass l a => LayoutClass (Mirror l) a Source # 

Methods

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

doLayout :: Mirror l a -> Rectangle -> Stack a -> X ([(a, Rectangle)], Maybe (Mirror l a)) Source #

pureLayout :: Mirror l a -> Rectangle -> Stack a -> [(a, Rectangle)] Source #

emptyLayout :: Mirror l a -> Rectangle -> X ([(a, Rectangle)], Maybe (Mirror l a)) Source #

handleMessage :: Mirror l a -> SomeMessage -> X (Maybe (Mirror l a)) Source #

pureMessage :: Mirror l a -> SomeMessage -> Maybe (Mirror l a) Source #

description :: Mirror l a -> String Source #

Read (l a) => Read (Mirror l a) Source # 
Show (l a) => Show (Mirror l a) Source # 

Methods

showsPrec :: Int -> Mirror l a -> ShowS #

show :: Mirror l a -> String #

showList :: [Mirror l a] -> ShowS #

data Resize Source #

Change the size of the master pane.

Constructors

Shrink 
Expand 

Instances

data IncMasterN Source #

Increase the number of clients in the master pane.

Constructors

IncMasterN !Int 

data Choose l r a Source #

A layout that allows users to switch between various layout options.

Instances

(LayoutClass l a, LayoutClass r a) => LayoutClass (Choose l r) a Source # 

Methods

runLayout :: Workspace WorkspaceId (Choose l r a) a -> Rectangle -> X ([(a, Rectangle)], Maybe (Choose l r a)) Source #

doLayout :: Choose l r a -> Rectangle -> Stack a -> X ([(a, Rectangle)], Maybe (Choose l r a)) Source #

pureLayout :: Choose l r a -> Rectangle -> Stack a -> [(a, Rectangle)] Source #

emptyLayout :: Choose l r a -> Rectangle -> X ([(a, Rectangle)], Maybe (Choose l r a)) Source #

handleMessage :: Choose l r a -> SomeMessage -> X (Maybe (Choose l r a)) Source #

pureMessage :: Choose l r a -> SomeMessage -> Maybe (Choose l r a) Source #

description :: Choose l r a -> String Source #

(Read (l a), Read (r a)) => Read (Choose l r a) Source # 

Methods

readsPrec :: Int -> ReadS (Choose l r a) #

readList :: ReadS [Choose l r a] #

readPrec :: ReadPrec (Choose l r a) #

readListPrec :: ReadPrec [Choose l r a] #

(Show (l a), Show (r a)) => Show (Choose l r a) Source # 

Methods

showsPrec :: Int -> Choose l r a -> ShowS #

show :: Choose l r a -> String #

showList :: [Choose l r a] -> ShowS #

(|||) :: l a -> r a -> Choose l r a infixr 5 Source #

The layout choice combinator

mirrorRect :: Rectangle -> Rectangle Source #

Mirror a rectangle.

splitVertically :: Int -> Rectangle -> [Rectangle] Source #

splitHorizontally :: Int -> Rectangle -> [Rectangle] Source #

splitHorizontallyBy :: RealFrac r => r -> Rectangle -> (Rectangle, Rectangle) Source #

splitVerticallyBy :: RealFrac r => r -> Rectangle -> (Rectangle, Rectangle) Source #

tile Source #

Arguments

:: Rational

frac, what proportion of the screen to devote to the master area

-> Rectangle

r, the rectangle representing the screen

-> Int

nmaster, the number of windows in the master pane

-> Int

n, the total number of windows to tile

-> [Rectangle] 

Compute the positions for windows using the default two-pane tiling algorithm.

The screen is divided into two panes. All clients are then partioned between these two panes. One pane, the master, by convention has the least number of windows in it.