Copyright | (c) Spencer Janssen 2007 |
---|---|
License | BSD3-style (see LICENSE) |
Maintainer | spencerjanssen@gmail.com |
Stability | unstable |
Portability | not portable, mtl, posix |
Safe Haskell | Safe-Inferred |
Language | Haskell2010 |
The collection of core layouts.
Synopsis
- data Full a = Full
- data Tall a = Tall {
- tallNMaster :: !Int
- tallRatioIncrement :: !Rational
- tallRatio :: !Rational
- newtype Mirror l a = Mirror (l a)
- data Resize
- newtype IncMasterN = IncMasterN Int
- data Choose l r a = Choose CLR (l a) (r a)
- (|||) :: l a -> r a -> Choose l r a
- data CLR
- data ChangeLayout
- newtype JumpToLayout = JumpToLayout String
- mirrorRect :: Rectangle -> Rectangle
- splitVertically :: Int -> Rectangle -> [Rectangle]
- splitHorizontally :: Int -> Rectangle -> [Rectangle]
- splitHorizontallyBy :: RealFrac r => r -> Rectangle -> (Rectangle, Rectangle)
- splitVerticallyBy :: RealFrac r => r -> Rectangle -> (Rectangle, Rectangle)
- tile :: Rational -> Rectangle -> Int -> Int -> [Rectangle]
Documentation
Simple fullscreen mode. Renders the focused window fullscreen.
Instances
LayoutClass Full a Source # | |
Defined in XMonad.Layout 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 # | |
The builtin tiling mode of xmonad. Supports Shrink
, Expand
and
IncMasterN
.
Tall | |
|
Instances
LayoutClass Tall a Source # | |
Defined in XMonad.Layout 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 # | |
Mirror a layout, compute its 90 degree rotated form.
Mirror (l a) |
Instances
LayoutClass l a => LayoutClass (Mirror l) a Source # | |
Defined in XMonad.Layout 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 # | |
Change the size of the master pane.
Instances
Message Resize Source # | |
Defined in XMonad.Layout |
newtype IncMasterN Source #
Increase the number of clients in the master pane.
Instances
Message IncMasterN Source # | |
Defined in XMonad.Layout |
A layout that allows users to switch between various layout options.
Instances
(LayoutClass l a, LayoutClass r a) => LayoutClass (Choose l r) a Source # | |
Defined in XMonad.Layout 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 # | |
(Show (l a), Show (r a)) => Show (Choose l r a) Source # | |
Choose the current sub-layout (left or right) in Choose
.
data ChangeLayout Source #
Messages to change the current layout. Also see JumpToLayout
.
Instances
Show ChangeLayout Source # | |
Defined in XMonad.Layout | |
Eq ChangeLayout Source # | |
Defined in XMonad.Layout (==) :: ChangeLayout -> ChangeLayout -> Bool Source # (/=) :: ChangeLayout -> ChangeLayout -> Bool Source # | |
Message ChangeLayout Source # | |
Defined in XMonad.Layout |
newtype JumpToLayout Source #
A message to jump to a particular layout, specified by its description string.
The argument given to a JumpToLayout
message should be the
description
of the layout to be selected. If you use
XMonad.Hooks.DynamicLog from xmonad-contrib
, this is the name of
the layout displayed in your status bar. Alternatively, you can use
GHCi to determine the proper name to use. For example:
$ ghci GHCi, version 6.8.2: http://www.haskell.org/ghc/ :? for help Loading package base ... linking ... done. :set prompt "> " -- don't show loaded module names > :m +XMonad.Core -- load the xmonad core > :m +XMonad.Layout.Grid -- load whatever module you want to use > description Grid -- find out what it's called "Grid"
As yet another (possibly easier) alternative, you can use the
XMonad.Layout.Renamed module (also in xmonad-contrib
) to give
custom names to your layouts, and use those.
For example, if you want to jump directly to the Full
layout you
can do
, ((modm .|. controlMask, xK_f), sendMessage $ JumpToLayout "Full")
Instances
Message JumpToLayout Source # | |
Defined in XMonad.Layout |
mirrorRect :: Rectangle -> Rectangle Source #
Mirror a rectangle.
:: Rational |
|
-> Rectangle |
|
-> Int |
|
-> Int |
|
-> [Rectangle] |
Compute the positions for windows using the default two-pane tiling algorithm.
The screen is divided into two panes. All clients are then partitioned between these two panes. One pane, the master, by convention has the least number of windows in it.