From 4866f2e367dfcf22a9591231ba40948826a1b438 Mon Sep 17 00:00:00 2001 From: Spencer Janssen Date: Thu, 1 Nov 2007 21:10:59 +0100 Subject: Hierarchify darcs-hash:20071101201059-a5988-fc1f1262bec1b69e13ba18ae7cefeafc8c4471d4.gz --- Square.hs | 56 -------------------------------------------------------- 1 file changed, 56 deletions(-) delete mode 100644 Square.hs (limited to 'Square.hs') 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 --- License : BSD3-style (see LICENSE) --- --- Maintainer : David Roundy --- 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) -- cgit v1.2.3