aboutsummaryrefslogtreecommitdiffstats
path: root/Magnifier.hs
diff options
context:
space:
mode:
authorPeter De Wachter <pdewacht@gmail.com>2007-06-21 21:25:41 +0200
committerPeter De Wachter <pdewacht@gmail.com>2007-06-21 21:25:41 +0200
commit02b086cf1d0c57c94fd93e4de42c6094fb484acb (patch)
tree7d89f072b5e2a57a48b89cce1507bcc523325e1d /Magnifier.hs
parentca2517b0ea671fb5bb1068d560c40f665626b001 (diff)
downloadXMonadContrib-02b086cf1d0c57c94fd93e4de42c6094fb484acb.tar.gz
XMonadContrib-02b086cf1d0c57c94fd93e4de42c6094fb484acb.tar.xz
XMonadContrib-02b086cf1d0c57c94fd93e4de42c6094fb484acb.zip
Magnifier: raise the focus window
darcs-hash:20070621192541-06a25-c0b9f8626bb9c396a128cc0f2d5ed59919ca5630.gz
Diffstat (limited to '')
-rw-r--r--Magnifier.hs4
1 files changed, 3 insertions, 1 deletions
diff --git a/Magnifier.hs b/Magnifier.hs
index b836d5a..b2103ca 100644
--- a/Magnifier.hs
+++ b/Magnifier.hs
@@ -45,7 +45,9 @@ unlessMaster :: DoLayout -> DoLayout
unlessMaster f r s = if null (up s) then id else f r s
applyMagnifier :: DoLayout
-applyMagnifier r s = map $ \(w,wr) -> if w == focus s then (w, shrink r $ magnify wr) else (w, wr)
+applyMagnifier r s = reverse . foldr accumulate []
+ where accumulate (w,wr) ws | w == focus s = ws ++ [(w, shrink r $ magnify wr)]
+ | otherwise = (w,wr) : ws
magnify :: Rectangle -> Rectangle
magnify (Rectangle x y w h) = Rectangle x' y' w' h'