aboutsummaryrefslogtreecommitdiffstats
path: root/DeManage.hs
diff options
context:
space:
mode:
authorSpencer Janssen <sjanssen@cse.unl.edu>2007-07-18 22:44:10 +0200
committerSpencer Janssen <sjanssen@cse.unl.edu>2007-07-18 22:44:10 +0200
commit4fb5da0b504697a1f3eccc9e5ef8fdaf952f7ed9 (patch)
tree2b19db54605f568d6ce51bc5193b5138feba7a7c /DeManage.hs
parentd1a0fd3fa3afb1a4b0ab0d4bf0e920da178a69f6 (diff)
downloadXMonadContrib-4fb5da0b504697a1f3eccc9e5ef8fdaf952f7ed9.tar.gz
XMonadContrib-4fb5da0b504697a1f3eccc9e5ef8fdaf952f7ed9.tar.xz
XMonadContrib-4fb5da0b504697a1f3eccc9e5ef8fdaf952f7ed9.zip
DeManage: take a Window as argument
darcs-hash:20070718204410-a5988-9f1ee42a276f570d77ba0c2a082203ff78175723.gz
Diffstat (limited to 'DeManage.hs')
-rw-r--r--DeManage.hs11
1 files changed, 6 insertions, 5 deletions
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