aboutsummaryrefslogtreecommitdiffstats
path: root/XMonad/Util/Run.hs
diff options
context:
space:
mode:
authorAdam Vogt <vogt.adam@gmail.com>2010-01-24 21:33:24 +0100
committerAdam Vogt <vogt.adam@gmail.com>2010-01-24 21:33:24 +0100
commitef7cd124086bd3c91eb5fea9bb13057a82c71f29 (patch)
tree74912ac97eb5d7bf6013e26c7ede9266f6de6614 /XMonad/Util/Run.hs
parent6516064616b0b993a694cb4e8423a53c60a9b3c3 (diff)
downloadXMonadContrib-ef7cd124086bd3c91eb5fea9bb13057a82c71f29.tar.gz
XMonadContrib-ef7cd124086bd3c91eb5fea9bb13057a82c71f29.tar.xz
XMonadContrib-ef7cd124086bd3c91eb5fea9bb13057a82c71f29.zip
Use extensible-exceptions to allow base-3 or base-4
Ignore-this: 136f35fcc0f3a824b96eea0f4e04f276 darcs-hash:20100124203324-1499c-6e811978a61feebf704e3cd7543cbcc0b3e8a0b3.gz
Diffstat (limited to 'XMonad/Util/Run.hs')
-rw-r--r--XMonad/Util/Run.hs7
1 files changed, 5 insertions, 2 deletions
diff --git a/XMonad/Util/Run.hs b/XMonad/Util/Run.hs
index c884818..2afdae5 100644
--- a/XMonad/Util/Run.hs
+++ b/XMonad/Util/Run.hs
@@ -33,8 +33,9 @@ module XMonad.Util.Run (
import System.Posix.IO
import System.Posix.Process (executeFile)
+import System.Posix.Types (ProcessID)
import Control.Concurrent (threadDelay)
-import Control.Exception (try) -- use OldException with base 4
+import Control.Exception.Extensible (try,SomeException)
import System.IO
import System.Process (runInteractiveProcess)
import XMonad
@@ -107,7 +108,9 @@ it makes use of shell interpretation by relying on @$HOME@ and
interpolation, whereas the safeSpawn example can be safe because
Firefox doesn't need any arguments if it is just being started. -}
safeSpawn :: MonadIO m => FilePath -> [String] -> m ()
-safeSpawn prog args = liftIO (try (xfork $ executeFile prog True args Nothing) >> return ())
+safeSpawn prog args = liftIO $ do
+ try $ xfork $ executeFile prog True args Nothing :: IO (Either SomeException ProcessID)
+ return ()
-- | Like 'safeSpawn', but only takes a program (and no arguments for it). eg.
--