diff options
author | David Roundy <droundy@darcs.net> | 2007-09-24 21:16:32 +0200 |
---|---|---|
committer | David Roundy <droundy@darcs.net> | 2007-09-24 21:16:32 +0200 |
commit | 7afc1cfe5da0d48547b331baa6a0a8175ab12b6e (patch) | |
tree | a407b5291fd964e143f876f43f58951335e8b782 | |
parent | 9b29c09a3ef081dc00dd33953975efec04611cab (diff) | |
download | XMonadContrib-7afc1cfe5da0d48547b331baa6a0a8175ab12b6e.tar.gz XMonadContrib-7afc1cfe5da0d48547b331baa6a0a8175ab12b6e.tar.xz XMonadContrib-7afc1cfe5da0d48547b331baa6a0a8175ab12b6e.zip |
move ThreeCol over to new class.
darcs-hash:20070924191632-72aca-3ae59a4b3e2f2a289cf0f385ce0a2a78c85763b8.gz
-rw-r--r-- | ThreeColumns.hs | 27 |
1 files changed, 15 insertions, 12 deletions
diff --git a/ThreeColumns.hs b/ThreeColumns.hs index 76faf6e..520f703 100644 --- a/ThreeColumns.hs +++ b/ThreeColumns.hs @@ -15,7 +15,7 @@ module XMonadContrib.ThreeColumns ( -- * Usage -- $usage - threeCol + ThreeCol ) where import XMonad @@ -37,21 +37,24 @@ import Graphics.X11.Xlib -- -- and add, to the list of layouts: -- --- > threeCol nmaster delta ratio +-- > ThreeCol nmaster delta ratio -- %import XMonadContrib.ThreeColumns --- %layout , threeCol nmaster delta ratio +-- %layout , ThreeCol nmaster delta ratio -threeCol :: Int -> Rational -> Rational -> Layout a -threeCol nmaster delta frac = - Layout { doLayout = \r -> return . (\x->(x,Nothing)) . - ap zip (tile3 frac r nmaster . length) . W.integrate - , modifyLayout = \m -> return $ msum [fmap resize (fromMessage m) - ,fmap incmastern (fromMessage m)] } +data ThreeCol a = ThreeCol Int Rational Rational deriving (Show,Read) - where resize Shrink = threeCol nmaster delta (max 0 $ frac-delta) - resize Expand = threeCol nmaster delta (min 1 $ frac+delta) - incmastern (IncMasterN d) = threeCol (max 0 (nmaster+d)) delta frac +instance Layout ThreeCol a where + doLayout (ThreeCol nmaster _ frac) r = + return . (\x->(x,Nothing)) . + ap zip (tile3 frac r nmaster . length) . W.integrate + modifyLayout (ThreeCol nmaster delta frac) m = + return $ msum [fmap resize (fromMessage m) + ,fmap incmastern (fromMessage m)] + where resize Shrink = ThreeCol nmaster delta (max 0 $ frac-delta) + resize Expand = ThreeCol nmaster delta (min 1 $ frac+delta) + incmastern (IncMasterN d) = ThreeCol (max 0 (nmaster+d)) delta frac + description _ = "ThreeCol" -- | tile3. Compute window positions using 3 panes tile3 :: Rational -> Rectangle -> Int -> Int -> [Rectangle] |