aboutsummaryrefslogtreecommitdiffstats
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
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
-rw-r--r--Run.hs7
-rw-r--r--ShellPrompt.hs7
-rw-r--r--SshPrompt.hs2
3 files changed, 8 insertions, 8 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)
diff --git a/ShellPrompt.hs b/ShellPrompt.hs
index c24c842..a8222fd 100644
--- a/ShellPrompt.hs
+++ b/ShellPrompt.hs
@@ -20,7 +20,6 @@ module XMonadContrib.ShellPrompt (
, split
, prompt
, safePrompt
- , runInXTerm
) where
import System.Environment (getEnv)
@@ -76,12 +75,6 @@ safePrompt c config = mkXPrompt Shell config (getShellCompl [c]) run
unsafePrompt c config = mkXPrompt Shell config (getShellCompl [c]) run
where run a = unsafeSpawn $ c ++ " " ++ a
--- This may be better done as a specialization of 'prompt'
-runInXTerm :: String -> X ()
-runInXTerm com = do
- c <- io $ catch (getEnv "XTERMCMD") (const $ return "xterm")
- spawn ("exec " ++ c ++ " -e " ++ com)
-
getShellCompl :: [String] -> String -> IO [String]
getShellCompl cmds s | s == "" || last s == ' ' = return []
| otherwise = do
diff --git a/SshPrompt.hs b/SshPrompt.hs
index 073f146..2db9f74 100644
--- a/SshPrompt.hs
+++ b/SshPrompt.hs
@@ -19,7 +19,6 @@ module XMonadContrib.SshPrompt (
) where
import System.Environment (getEnv)
-import XMonadContrib.ShellPrompt (runInXTerm)
import Control.Monad(Monad (return), Functor(..), liftM2, mapM)
import Data.List ((++), concat, filter, map, words, lines, takeWhile, take,
sort)
@@ -27,6 +26,7 @@ import Data.Maybe (Maybe(..), catMaybes)
import Data.Set (toList, fromList)
import System.Directory (doesFileExist)
import XMonad (X, io)
+import XMonadContrib.Run (runInXTerm)
import XMonadContrib.XPrompt (XPrompt(..), XPConfig, mkXPrompt,
mkComplFunFromList)
-- $usage