From 3ba5c6f5e274c2c909b579e647f62290c78e4351 Mon Sep 17 00:00:00 2001 From: loupgaroublond Date: Sun, 21 Dec 2008 23:48:50 +0100 Subject: adds generic 'all windows on current workspace' functionality darcs-hash:20081221224850-3ec9f-5d9f001f4ffdf4c857d0fd68a2794ad42f9fc2c4.gz --- XMonad/Actions/SinkAll.hs | 22 +++++++++++++++++----- 1 file changed, 17 insertions(+), 5 deletions(-) (limited to 'XMonad/Actions/SinkAll.hs') diff --git a/XMonad/Actions/SinkAll.hs b/XMonad/Actions/SinkAll.hs index 9d63f58..ada069a 100644 --- a/XMonad/Actions/SinkAll.hs +++ b/XMonad/Actions/SinkAll.hs @@ -12,9 +12,14 @@ module XMonad.Actions.SinkAll ( -- * Usage -- $usage - sinkAll) where + sinkAll, withAll, + withAll', killAll) where + +import Data.Foldable hiding (foldr) import XMonad +import XMonad.Core +import XMonad.Operations import XMonad.StackSet -- $usage @@ -32,9 +37,16 @@ import XMonad.StackSet -- | Un-float all floating windows on the current workspace. sinkAll :: X () -sinkAll = withAll sink +sinkAll = withAll' sink -- | Apply a function to all windows on current workspace. -withAll :: (Window -> WindowSet -> WindowSet) -> X () -withAll f = windows $ \ws -> let all' = integrate' . stack . workspace . current $ ws - in foldr f ws all' +withAll' :: (Window -> WindowSet -> WindowSet) -> X () +withAll' f = windows $ \ws -> let all' = integrate' . stack . workspace . current $ ws + in foldr f ws all' + +withAll :: (Window -> X ()) -> X() +withAll f = withWindowSet $ \ws -> let all' = integrate' . stack . workspace . current $ ws + in forM_ all' f + +killAll :: X() +killAll = withAll killWindow \ No newline at end of file -- cgit v1.2.3