xmonad-contrib-0.13: Third party extensions for xmonad

Copyright | (c) Edward Z. Yang
License | BSD-style (see LICENSE)
Maintainer | <ezyang@cs.stanford.edu>
Stability | unstable
Portability | unportable
Safe Haskell | None
Language | Haskell98

XMonad.Layout.PerScreen

Contents

- Usage

Description

Configure layouts based on the width of your screen; use your favorite multi-column layout for wide screens and a full-screen layout for small ones.

Synopsis

- data PerScreen l1 l2 a
- ifWider :: (LayoutClass l1 a, LayoutClass l2 a) => Dimension -> l1 a -> l2 a -> PerScreen l1 l2 a

# Usage

You can use this module by importing it into your ~/.xmonad/xmonad.hs file:

    import XMonad.Layout.PerScreen

and modifying your layoutHook as follows (for example):

    layoutHook = ifWider 1280 (Tall 1 (3/100) (1/2) ||| Full) Full

Replace any of the layouts with any arbitrarily complicated layout. ifWider can also be used inside other layout combinators.

data PerScreen l1 l2 a #

Instances

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

ifWider #

Arguments

:: (LayoutClass l1 a, LayoutClass l2 a) |
=> Dimension | target screen width
-> l1 a | layout to use when the screen is wide enough
-> l2 a | layout to use otherwise
-> PerScreen l1 l2 a |