From a728e9831a5cd78dae9c2b81925d2d91294f0892 Mon Sep 17 00:00:00 2001 From: gwern0 Date: Mon, 22 Jun 2009 22:14:01 +0200 Subject: XMonad.Util.Run: improve definition so this can be used with emacs Ignore-this: 984788359376e3d2bab0d1e86ff1276f darcs-hash:20090622201401-f7719-ae5b727adccbdeab8313cf766b610417f053d42c.gz --- XMonad/Util/Run.hs | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'XMonad') diff --git a/XMonad/Util/Run.hs b/XMonad/Util/Run.hs index f0be837..429fd87 100644 --- a/XMonad/Util/Run.hs +++ b/XMonad/Util/Run.hs @@ -107,14 +107,14 @@ Note that the unsafeSpawn example must be unsafe and not safe because 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 arg = liftIO (try (forkProcess $ executeFile prog True [arg] Nothing) >> return ()) +safeSpawn :: MonadIO m => FilePath -> [String] -> m () +safeSpawn prog args = liftIO (try (forkProcess $ executeFile prog True args Nothing) >> return ()) -- | Like 'safeSpawn', but only takes a program (and no arguments for it). eg. -- -- > safeSpawnProg "firefox" safeSpawnProg :: MonadIO m => FilePath -> m () -safeSpawnProg = flip safeSpawn "" +safeSpawnProg = flip safeSpawn [] unsafeSpawn :: MonadIO m => String -> m () unsafeSpawn = spawn @@ -127,7 +127,7 @@ runInTerm = unsafeRunInTerm -- | Run a given program in the preferred terminal emulator; see 'runInTerm'. This makes use of 'safeSpawn'. safeRunInTerm :: String -> String -> X () -safeRunInTerm options command = asks (terminal . config) >>= \t -> safeSpawn t (options ++ " -e " ++ command) +safeRunInTerm options command = asks (terminal . config) >>= \t -> safeSpawn t [options, " -e " ++ command] -- | Launch an external application through the system shell and return a @Handle@ to its standard input. spawnPipe :: String -> IO Handle -- cgit v1.2.3