diff options
author | gwern0 <gwern0@gmail.com> | 2007-10-24 02:13:41 +0200 |
---|---|---|
committer | gwern0 <gwern0@gmail.com> | 2007-10-24 02:13:41 +0200 |
commit | ee0a58ea0a471eb423a96e1778832f35b5bff43f (patch) | |
tree | b4953cbc806970aaa54ee3d5d8ac9c12fe683dad /Run.hs | |
parent | 585b545ddb27e708ccf4825cddbf98851c71044e (diff) | |
download | XMonadContrib-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.hs | 7 |
1 files changed, 7 insertions, 0 deletions
@@ -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) |