XMonad.Layout.AutoMaster

xmonad-contrib-0.13: Third party extensions for xmonad

Copyright | (c) 2009 Ilya Portnov
License | BSD3-style (see LICENSE)
Maintainer | Ilya Portnov <portnov84@rambler.ru>
Stability | unstable
Portability | unportable
Safe Haskell | None
Language | Haskell98

XMonad.Layout.AutoMaster

Contents

- Usage

Description

Provides layout modifier AutoMaster. It separates screen in two parts - master and slave. Size of slave area automatically changes depending on number of slave windows.

Synopsis

- autoMaster :: LayoutClass l a => Int -> Float -> l a -> ModifiedLayout AutoMaster l a
- data AutoMaster a

# Usage

This module defines layout modifier named autoMaster. It separates screen in two parts - master and slave. Master windows are arranged in one row, in slave area underlying layout is run. Size of slave area automatically increases when number of slave windows is increasing.

You can use this module by adding folowing in your `xmonad.hs`:

    import XMonad.Layout.AutoMaster

Then add layouts to your layoutHook:

    myLayoutHook = autoMaster 1 (1/100) Grid ||| ...

In this example, master area by default contains 1 window (you can change this number in runtime with usual IncMasterN message), changing slave area size with 1100 on each ShrinkExpand message.

autoMaster :: LayoutClass l a => Int -> Float -> l a -> ModifiedLayout AutoMaster l a #

User interface function

data AutoMaster a #

Data type for layout modifier

Instances

Eq w => LayoutModifier AutoMaster w # |
Methods modifyLayout :: LayoutClass l w => AutoMaster w -> Workspace WorkspaceId (l w) w -> Rectangle -> X ([(w, Rectangle)], Maybe (l w)) # modifyLayoutWithUpdate :: LayoutClass l w => AutoMaster w -> Workspace WorkspaceId (l w) w -> Rectangle -> X (([(w, Rectangle)], Maybe (l w)), Maybe (AutoMaster w)) # handleMess :: AutoMaster w -> SomeMessage -> X (Maybe (AutoMaster w)) # handleMessOrMaybeModifyIt :: AutoMaster w -> SomeMessage -> X (Maybe (Either (AutoMaster w) SomeMessage)) # pureMess :: AutoMaster w -> SomeMessage -> Maybe (AutoMaster w) # redoLayout :: AutoMaster w -> Rectangle -> Maybe (Stack w) -> [(w, Rectangle)] -> X ([(w, Rectangle)], Maybe (AutoMaster w)) # pureModifier :: AutoMaster w -> Rectangle -> Maybe (Stack w) -> [(w, Rectangle)] -> ([(w, Rectangle)], Maybe (AutoMaster w)) # hook :: AutoMaster w -> X () # unhook :: AutoMaster w -> X () # modifierDescription :: AutoMaster w -> String # modifyDescription :: LayoutClass l w => AutoMaster w -> l w -> String #
Read (AutoMaster a) # |
Methods readsPrec :: Int -> ReadS (AutoMaster a) # readList :: ReadS [AutoMaster a] # readPrec :: ReadPrec (AutoMaster a) # readListPrec :: ReadPrec [AutoMaster a] #
Show (AutoMaster a) # |
Methods showsPrec :: Int -> AutoMaster a -> ShowS # show :: AutoMaster a -> String # showList :: [AutoMaster a] -> ShowS #