diff options
-rw-r--r-- | Run.hs | 7 | ||||
-rw-r--r-- | ShellPrompt.hs | 7 | ||||
-rw-r--r-- | SshPrompt.hs | 2 |
3 files changed, 8 insertions, 8 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) 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 |