Fix forking issues, add unix dependency.

This commit is contained in:
Spencer Janssen
2007-03-13 15:33:10 +00:00
parent 11bb12cc31
commit 8aad6658bc
3 changed files with 4 additions and 4 deletions

1
README
View File

@@ -15,6 +15,7 @@ Building:
X11 http://hackage.haskell.org/cgi-bin/hackage-scripts/package/X11-1.2
mtl http://hackage.haskell.org/cgi-bin/hackage-scripts/package/mtl-1.0
unix http://hackage.haskell.org/cgi-bin/hackage-scripts/package/unix-2.0 (included with ghc)
X11-extras: darcs get http://darcs.haskell.org/~sjanssen/X11-extras

View File

@@ -24,7 +24,7 @@ import StackSet (StackSet)
import Control.Monad.State
import System.IO
import System.Process (runCommand)
import System.Posix.Process (newSession, executeFile)
import Graphics.X11.Xlib
import Control.Exception
@@ -73,8 +73,7 @@ io = liftIO
-- | spawn. Launch an external application
spawn :: String -> X ()
spawn x = do v <- io $ handle (return . Just) (runCommand x >> return Nothing)
whenJust v $ \e -> trace $ "xmonad:spawn: unable to fork "++show x++": "++show e
spawn x = io $ forkProcess (do newSession; executeFile "/bin/sh" False ["-c", x] Nothing)
-- | Run a side effecting action with the current workspace. Like 'when' but
whenJust :: Maybe a -> (a -> X ()) -> X ()

View File

@@ -7,7 +7,7 @@ license: BSD3
license-file: LICENSE
author: Spencer Janssen
maintainer: sjanssen@cse.unl.edu
build-depends: base==2.0, X11>=1.1, X11-extras==0.0, mtl==1.0
build-depends: base==2.0, X11>=1.1, X11-extras==0.0, mtl==1.0, unix>=1.0
executable: xmonad
main-is: Main.hs