Copyright | (c) Spencer Janssen 2007 |
---|---|
License | BSD3-style (see LICENSE) |
Maintainer | spencerjanssen@gmail.com |
Stability | unstable |
Portability | not portable, mtl, posix |
Safe Haskell | None |
Language | Haskell2010 |
XMonad.Layout
Description
The collection of core layouts.
Synopsis
- data Full a = Full
- data Tall a = Tall {
- tallNMaster :: !Int
- tallRatioIncrement :: !Rational
- tallRatio :: !Rational
- newtype Mirror (l :: Type -> Type) a = Mirror (l a)
- data Resize
- newtype IncMasterN = IncMasterN Int
- data Choose (l :: Type -> Type) (r :: Type -> Type) 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.
Constructors
Full |
Instances
LayoutClass Full a # | |
Defined in XMonad.Layout Methods runLayout :: Workspace WorkspaceId (Full a) a -> Rectangle -> X ([(a, Rectangle)], Maybe (Full a)) # doLayout :: Full a -> Rectangle -> Stack a -> X ([(a, Rectangle)], Maybe (Full a)) # pureLayout :: Full a -> Rectangle -> Stack a -> [(a, Rectangle)] # emptyLayout :: Full a -> Rectangle -> X ([(a, Rectangle)], Maybe (Full a)) # handleMessage :: Full a -> SomeMessage -> X (Maybe (Full a)) # pureMessage :: Full a -> SomeMessage -> Maybe (Full a) # description :: Full a -> String # | |
Read (Full a) # | |
Show (Full a) # | |
The builtin tiling mode of xmonad. Supports Shrink
, Expand
and
IncMasterN
.
Constructors
Tall | |
Fields
|
Instances
LayoutClass Tall a # | |
Defined in XMonad.Layout Methods runLayout :: Workspace WorkspaceId (Tall a) a -> Rectangle -> X ([(a, Rectangle)], Maybe (Tall a)) # doLayout :: Tall a -> Rectangle -> Stack a -> X ([(a, Rectangle)], Maybe (Tall a)) # pureLayout :: Tall a -> Rectangle -> Stack a -> [(a, Rectangle)] # emptyLayout :: Tall a -> Rectangle -> X ([(a, Rectangle)], Maybe (Tall a)) # handleMessage :: Tall a -> SomeMessage -> X (Maybe (Tall a)) # pureMessage :: Tall a -> SomeMessage -> Maybe (Tall a) # description :: Tall a -> String # | |
Read (Tall a) # | |
Show (Tall a) # | |
newtype Mirror (l :: Type -> Type) a #
Mirror a layout, compute its 90 degree rotated form.
Constructors
Mirror (l a) |
Instances
LayoutClass l a => LayoutClass (Mirror l) a # | |
Defined in XMonad.Layout Methods runLayout :: Workspace WorkspaceId (Mirror l a) a -> Rectangle -> X ([(a, Rectangle)], Maybe (Mirror l a)) # doLayout :: Mirror l a -> Rectangle -> Stack a -> X ([(a, Rectangle)], Maybe (Mirror l a)) # pureLayout :: Mirror l a -> Rectangle -> Stack a -> [(a, Rectangle)] # emptyLayout :: Mirror l a -> Rectangle -> X ([(a, Rectangle)], Maybe (Mirror l a)) # handleMessage :: Mirror l a -> SomeMessage -> X (Maybe (Mirror l a)) # pureMessage :: Mirror l a -> SomeMessage -> Maybe (Mirror l a) # description :: Mirror l a -> String # | |
Read (l a) => Read (Mirror l a) # | |
Show (l a) => Show (Mirror l a) # | |
Change the size of the master pane.
Instances
Message Resize # | |
Defined in XMonad.Layout |
newtype IncMasterN #
Increase the number of clients in the master pane.
Constructors
IncMasterN Int |
Instances
Message IncMasterN # | |
Defined in XMonad.Layout |
data Choose (l :: Type -> Type) (r :: Type -> Type) a #
A layout that allows users to switch between various layout options.
Instances
(LayoutClass l a, LayoutClass r a) => LayoutClass (Choose l r) a # | |
Defined in XMonad.Layout Methods runLayout :: Workspace WorkspaceId (Choose l r a) a -> Rectangle -> X ([(a, Rectangle)], Maybe (Choose l r a)) # doLayout :: Choose l r a -> Rectangle -> Stack a -> X ([(a, Rectangle)], Maybe (Choose l r a)) # pureLayout :: Choose l r a -> Rectangle -> Stack a -> [(a, Rectangle)] # emptyLayout :: Choose l r a -> Rectangle -> X ([(a, Rectangle)], Maybe (Choose l r a)) # handleMessage :: Choose l r a -> SomeMessage -> X (Maybe (Choose l r a)) # pureMessage :: Choose l r a -> SomeMessage -> Maybe (Choose l r a) # description :: Choose l r a -> String # | |
(Read (l a), Read (r a)) => Read (Choose l r a) # | |
(Show (l a), Show (r a)) => Show (Choose l r a) # | |
data ChangeLayout #
Messages to change the current layout. Also see JumpToLayout
.
Constructors
FirstLayout | |
NextLayout |
Instances
Show ChangeLayout # | |
Defined in XMonad.Layout Methods showsPrec :: Int -> ChangeLayout -> ShowS # show :: ChangeLayout -> String # showList :: [ChangeLayout] -> ShowS # | |
Eq ChangeLayout # | |
Defined in XMonad.Layout | |
Message ChangeLayout # | |
Defined in XMonad.Layout |
newtype JumpToLayout #
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")
Constructors
JumpToLayout String |
Instances
Message JumpToLayout # | |
Defined in XMonad.Layout |
mirrorRect :: Rectangle -> Rectangle #
Mirror a rectangle.
splitVertically :: Int -> Rectangle -> [Rectangle] #
splitHorizontally :: Int -> Rectangle -> [Rectangle] #
Arguments
:: 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.