xmonad-contrib-0.18.0: Community-maintained extensions for xmonad
Copyright(c) Edward Z. Yang
LicenseBSD-style (see LICENSE)
Maintainer<ezyang@cs.stanford.edu>
Stabilityunstable
Portabilityunportable
Safe HaskellNone
LanguageHaskell2010

XMonad.Layout.PerScreen

Contents

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

Usage

You can use this module by importing it into your 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 :: Type -> Type) (l2 :: Type -> Type) a Source #

Instances

Instances details
(LayoutClass l1 a, LayoutClass l2 a, Show a) => LayoutClass (PerScreen l1 l2) a Source # 
Instance details

Defined in XMonad.Layout.PerScreen

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 (l1 a), Read (l2 a)) => Read (PerScreen l1 l2 a) Source # 
Instance details

Defined in XMonad.Layout.PerScreen

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 (l1 a), Show (l2 a)) => Show (PerScreen l1 l2 a) Source # 
Instance details

Defined in XMonad.Layout.PerScreen

Methods

showsPrec :: Int -> PerScreen l1 l2 a -> ShowS #

show :: PerScreen l1 l2 a -> String #

showList :: [PerScreen l1 l2 a] -> ShowS #

ifWider Source #

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