aboutsummaryrefslogtreecommitdiffstats
path: root/Run.hs
diff options
context:
space:
mode:
authorgwern0 <gwern0@gmail.com>2007-10-24 02:13:41 +0200
committergwern0 <gwern0@gmail.com>2007-10-24 02:13:41 +0200
commitee0a58ea0a471eb423a96e1778832f35b5bff43f (patch)
treeb4953cbc806970aaa54ee3d5d8ac9c12fe683dad /Run.hs
parent585b545ddb27e708ccf4825cddbf98851c71044e (diff)
downloadXMonadContrib-ee0a58ea0a471eb423a96e1778832f35b5bff43f.tar.gz
XMonadContrib-ee0a58ea0a471eb423a96e1778832f35b5bff43f.tar.xz
XMonadContrib-ee0a58ea0a471eb423a96e1778832f35b5bff43f.zip
Run.hs, SshPrompt.hs, ShellPrompt.hs: mv runInXTerm back into Run.hs per suggestions
darcs-hash:20071024001341-f7719-6ea9cf7134f0300c53e85cddfff1e320039c115b.gz
Diffstat (limited to 'Run.hs')
-rw-r--r--Run.hs7
1 files changed, 7 insertions, 0 deletions
diff --git a/Run.hs b/Run.hs
index 5d61110..c3ed501 100644
--- a/Run.hs
+++ b/Run.hs
@@ -22,10 +22,12 @@ module XMonadContrib.Run (
runProcessWithInputAndWait,
safeSpawn,
unsafeSpawn,
+ runInXTerm,
seconds
) where
import Control.Monad.State (Monad((>>), return), when)
+import System.Environment (getEnv)
import System.Posix.Process (createSession, forkProcess, executeFile,
getProcessStatus)
import Control.Concurrent (threadDelay)
@@ -102,3 +104,8 @@ safeSpawn :: FilePath -> String -> X ()
safeSpawn prog arg = io (try (forkProcess $ executeFile prog True [arg] Nothing) >> return ())
unsafeSpawn :: String -> X ()
unsafeSpawn = spawn
+
+runInXTerm :: String -> X ()
+runInXTerm com = do
+ c <- io $ catch (getEnv "XTERMCMD") (const $ return "xterm")
+ spawn ("exec " ++ c ++ " -e " ++ com)