From 736d0749b19d594422083c6622c0f98a76660498 Mon Sep 17 00:00:00 2001 From: Spencer Janssen Date: Fri, 13 Feb 2009 02:30:11 +0100 Subject: SpawnOn: delete seen pids Ignore-this: 8b15a60bba1edf1bab5fb77ac54eb12f darcs-hash:20090213013011-25a6b-279244c622ea2066d94725e40434b81c4cdec1c0.gz --- XMonad/Actions/SpawnOn.hs | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'XMonad/Actions/SpawnOn.hs') diff --git a/XMonad/Actions/SpawnOn.hs b/XMonad/Actions/SpawnOn.hs index ec1d57d..db7eb53 100644 --- a/XMonad/Actions/SpawnOn.hs +++ b/XMonad/Actions/SpawnOn.hs @@ -74,8 +74,11 @@ manageSpawn sp = do pids <- io . readIORef $ pidsRef sp mp <- pid case flip lookup pids =<< mp of - Just w -> doF (W.shift w) Nothing -> doF id + Just w -> do + whenJust mp $ \p -> + io . modifyIORef (pidsRef sp) $ filter ((/= p) . fst) + doF (W.shift w) mkPrompt :: (String -> X ()) -> XPConfig -> X () mkPrompt cb c = do -- cgit v1.2.3