From ee0a58ea0a471eb423a96e1778832f35b5bff43f Mon Sep 17 00:00:00 2001 From: gwern0 Date: Wed, 24 Oct 2007 02:13:41 +0200 Subject: Run.hs, SshPrompt.hs, ShellPrompt.hs: mv runInXTerm back into Run.hs per suggestions darcs-hash:20071024001341-f7719-6ea9cf7134f0300c53e85cddfff1e320039c115b.gz --- Run.hs | 7 +++++++ ShellPrompt.hs | 7 ------- SshPrompt.hs | 2 +- 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 -- cgit v1.2.3