diff options
author | Spencer Janssen <sjanssen@cse.unl.edu> | 2007-11-01 21:10:59 +0100 |
---|---|---|
committer | Spencer Janssen <sjanssen@cse.unl.edu> | 2007-11-01 21:10:59 +0100 |
commit | 4866f2e367dfcf22a9591231ba40948826a1b438 (patch) | |
tree | 7a245caee3f146826b267d773b7eaa80386a818e /Square.hs | |
parent | 47589e1913fb9530481caedb543978a30d4323ea (diff) | |
download | XMonadContrib-4866f2e367dfcf22a9591231ba40948826a1b438.tar.gz XMonadContrib-4866f2e367dfcf22a9591231ba40948826a1b438.tar.xz XMonadContrib-4866f2e367dfcf22a9591231ba40948826a1b438.zip |
Hierarchify
darcs-hash:20071101201059-a5988-fc1f1262bec1b69e13ba18ae7cefeafc8c4471d4.gz
Diffstat (limited to 'Square.hs')
-rw-r--r-- | Square.hs | 56 |
1 files changed, 0 insertions, 56 deletions
diff --git a/Square.hs b/Square.hs deleted file mode 100644 index 46ad2e7..0000000 --- a/Square.hs +++ /dev/null @@ -1,56 +0,0 @@ -{-# LANGUAGE FlexibleInstances, MultiParamTypeClasses #-} - ------------------------------------------------------------------------------ --- | --- Module : XMonadContrib.Square --- Copyright : (c) David Roundy <droundy@darcs.net> --- License : BSD3-style (see LICENSE) --- --- Maintainer : David Roundy <droundy@darcs.net> --- Stability : unstable --- Portability : unportable --- --- A layout that splits the screen into a square area and the rest of the --- screen. --- This is probably only ever useful in combination with --- "XMonadContrib.Combo". --- It sticks one window in a square region, and makes the rest --- of the windows live with what's left (in a full-screen sense). --- ------------------------------------------------------------------------------ - -module XMonadContrib.Square ( - -- * Usage - -- $usage - Square(..) ) where - -import XMonad -import Graphics.X11.Xlib -import XMonad.StackSet ( integrate ) - --- $usage --- You can use this module with the following in your Config.hs file: --- --- > import XMonadContrib.Square --- --- An example layout using square together with "XMonadContrib.Combo" --- to make the very last area square: --- --- > , combo (combo (mirror $ twoPane 0.03 0.85),1)] (twoPane 0.03 0.5) ) --- > [(twoPane 0.03 0.2,1),(combo [(twoPane 0.03 0.8,1),(square,1)] --- > [(tabbed,3),(tabbed,30),(tabbed,1),(tabbed,1)] - --- %import XMonadContrib.Square - -data Square a = Square deriving ( Read, Show ) - -instance LayoutClass Square a where - pureLayout Square r s = arrange (integrate s) - where arrange ws@(_:_) = map (\w->(w,rest)) (init ws) ++ [(last ws,sq)] - arrange [] = [] -- actually, this is an impossible case - (rest, sq) = splitSquare r - -splitSquare :: Rectangle -> (Rectangle, Rectangle) -splitSquare (Rectangle x y w h) - | w > h = (Rectangle x y (w - h) h, Rectangle (x+fromIntegral (w-h)) y h h) - | otherwise = (Rectangle x y w (h-w), Rectangle x (y+fromIntegral (h-w)) w w) |