From 4fb5da0b504697a1f3eccc9e5ef8fdaf952f7ed9 Mon Sep 17 00:00:00 2001 From: Spencer Janssen Date: Wed, 18 Jul 2007 22:44:10 +0200 Subject: DeManage: take a Window as argument darcs-hash:20070718204410-a5988-9f1ee42a276f570d77ba0c2a082203ff78175723.gz --- DeManage.hs | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) (limited to 'DeManage.hs') diff --git a/DeManage.hs b/DeManage.hs index 1873568..22fe588 100644 --- a/DeManage.hs +++ b/DeManage.hs @@ -33,6 +33,7 @@ import qualified StackSet as W import XMonad import Operations import Control.Monad.State +import Graphics.X11 (Window) -- $usage -- To use demanage, add this import: @@ -41,12 +42,12 @@ import Control.Monad.State -- -- And add a keybinding to it: -- --- > , ((modMask, xK_d ), demanage) +-- > , ((modMask, xK_d ), withFocused demanage) -- -- | Stop managing the current focused window. -demanage :: X () -demanage = do - ws <- gets windowset - modify (\s -> s { windowset = maybe ws (flip W.delete ws) (W.peek ws) }) +demanage :: Window -> X () +demanage w = do + -- use modify to defeat automatic 'unmanage' calls. + modify (\s -> s { windowset = W.delete w (windowset s) }) refresh -- cgit v1.2.3