Sophie

Sophie

distrib > Fedora > 18 > i386 > by-pkgid > 16551e78563a5b49ff9624ee1c8b8101 > files > 909

ghc-xmonad-contrib-devel-0.11-1.1.fc18.i686.rpm

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>XMonad.Util.Run</title><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean" /><script src="haddock-util.js" type="text/javascript"></script><script type="text/javascript">//<![CDATA[
window.onload = function () {pageLoad();setSynopsis("mini_XMonad-Util-Run.html");};
//]]>
</script></head><body><div id="package-header"><ul class="links" id="page-menu"><li><a href="src/XMonad-Util-Run.html">Source</a></li><li><a href="index.html">Contents</a></li><li><a href="doc-index.html">Index</a></li></ul><p class="caption">xmonad-contrib-0.11: Third party extensions for xmonad</p></div><div id="content"><div id="module-header"><table class="info"><tr><th>Portability</th><td>unportable</td></tr><tr><th>Stability</th><td>unstable</td></tr><tr><th>Maintainer</th><td>Christian Thiemann &lt;mail@christian-thiemann.de&gt;</td></tr><tr><th>Safe Haskell</th><td>Safe-Infered</td></tr></table><p class="caption">XMonad.Util.Run</p></div><div id="table-of-contents"><p class="caption">Contents</p><ul><li><a href="#g:1">Usage
</a></li></ul></div><div id="description"><p class="caption">Description</p><div class="doc"><p>This modules provides several commands to run an external process.
 It is composed of functions formerly defined in <a href="XMonad-Util-Dmenu.html">XMonad.Util.Dmenu</a> (by
 Spencer Janssen), <a href="XMonad-Util-Dzen.html">XMonad.Util.Dzen</a> (by glasser@mit.edu) and
 XMonad.Util.RunInXTerm (by Andrea Rossato).
</p></div></div><div id="synopsis"><p id="control.syn" class="caption expander" onclick="toggleSection('syn')">Synopsis</p><ul id="section.syn" class="hide" onclick="toggleSection('syn')"><li class="src short"><a href="#v:runProcessWithInput">runProcessWithInput</a> :: <a href="/usr/share/doc/ghc/html/libraries/transformers-0.3.0.0/Control-Monad-IO-Class.html#t:MonadIO">MonadIO</a> m =&gt; <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/System-IO.html#t:FilePath">FilePath</a> -&gt; [<a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-String.html#t:String">String</a>] -&gt; <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-String.html#t:String">String</a> -&gt; m <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-String.html#t:String">String</a></li><li class="src short"><a href="#v:runProcessWithInputAndWait">runProcessWithInputAndWait</a> :: <a href="/usr/share/doc/ghc/html/libraries/transformers-0.3.0.0/Control-Monad-IO-Class.html#t:MonadIO">MonadIO</a> m =&gt; <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/System-IO.html#t:FilePath">FilePath</a> -&gt; [<a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-String.html#t:String">String</a>] -&gt; <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-String.html#t:String">String</a> -&gt; <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-Int.html#t:Int">Int</a> -&gt; m <a href="/usr/share/doc/ghc/html/libraries/ghc-prim-0.2.0.0/GHC-Tuple.html#t:-40--41-">()</a></li><li class="src short"><a href="#v:safeSpawn">safeSpawn</a> :: <a href="/usr/share/doc/ghc/html/libraries/transformers-0.3.0.0/Control-Monad-IO-Class.html#t:MonadIO">MonadIO</a> m =&gt; <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/System-IO.html#t:FilePath">FilePath</a> -&gt; [<a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-String.html#t:String">String</a>] -&gt; m <a href="/usr/share/doc/ghc/html/libraries/ghc-prim-0.2.0.0/GHC-Tuple.html#t:-40--41-">()</a></li><li class="src short"><a href="#v:safeSpawnProg">safeSpawnProg</a> :: <a href="/usr/share/doc/ghc/html/libraries/transformers-0.3.0.0/Control-Monad-IO-Class.html#t:MonadIO">MonadIO</a> m =&gt; <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/System-IO.html#t:FilePath">FilePath</a> -&gt; m <a href="/usr/share/doc/ghc/html/libraries/ghc-prim-0.2.0.0/GHC-Tuple.html#t:-40--41-">()</a></li><li class="src short"><a href="#v:unsafeSpawn">unsafeSpawn</a> :: <a href="/usr/share/doc/ghc/html/libraries/transformers-0.3.0.0/Control-Monad-IO-Class.html#t:MonadIO">MonadIO</a> m =&gt; <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-String.html#t:String">String</a> -&gt; m <a href="/usr/share/doc/ghc/html/libraries/ghc-prim-0.2.0.0/GHC-Tuple.html#t:-40--41-">()</a></li><li class="src short"><a href="#v:runInTerm">runInTerm</a> :: <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-String.html#t:String">String</a> -&gt; <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-String.html#t:String">String</a> -&gt; <a href="/usr/share/doc/ghc/html/libraries/xmonad-0.11/XMonad-Core.html#t:X">X</a> <a href="/usr/share/doc/ghc/html/libraries/ghc-prim-0.2.0.0/GHC-Tuple.html#t:-40--41-">()</a></li><li class="src short"><a href="#v:safeRunInTerm">safeRunInTerm</a> :: <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-String.html#t:String">String</a> -&gt; <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-String.html#t:String">String</a> -&gt; <a href="/usr/share/doc/ghc/html/libraries/xmonad-0.11/XMonad-Core.html#t:X">X</a> <a href="/usr/share/doc/ghc/html/libraries/ghc-prim-0.2.0.0/GHC-Tuple.html#t:-40--41-">()</a></li><li class="src short"><a href="#v:seconds">seconds</a> :: <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Prelude.html#t:Rational">Rational</a> -&gt; <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-Int.html#t:Int">Int</a></li><li class="src short"><a href="#v:spawnPipe">spawnPipe</a> :: <a href="/usr/share/doc/ghc/html/libraries/transformers-0.3.0.0/Control-Monad-IO-Class.html#t:MonadIO">MonadIO</a> m =&gt; <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-String.html#t:String">String</a> -&gt; m <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/GHC-IO-Handle.html#t:Handle">Handle</a></li><li class="src short"><a href="#v:hPutStr">hPutStr</a> :: <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/GHC-IO-Handle.html#t:Handle">Handle</a> -&gt; <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-String.html#t:String">String</a> -&gt; <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/System-IO.html#t:IO">IO</a> ()</li><li class="src short"><a href="#v:hPutStrLn">hPutStrLn</a> :: <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/GHC-IO-Handle.html#t:Handle">Handle</a> -&gt; <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-String.html#t:String">String</a> -&gt; <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/System-IO.html#t:IO">IO</a> ()</li></ul></div><div id="interface"><h1 id="g:1">Usage
</h1><div class="doc"><p>For an example usage of <code><a href="XMonad-Util-Run.html#v:runInTerm">runInTerm</a></code> see <a href="XMonad-Prompt-Ssh.html">XMonad.Prompt.Ssh</a>
</p><p>For an example usage of <code><a href="XMonad-Util-Run.html#v:runProcessWithInput">runProcessWithInput</a></code> see
 <a href="XMonad-Prompt-DirectoryPrompt.html">XMonad.Prompt.DirectoryPrompt</a>, <a href="XMonad-Util-Dmenu.html">XMonad.Util.Dmenu</a>,
 <a href="XMonad-Prompt-ShellPrompt.html">XMonad.Prompt.ShellPrompt</a>, <a href="XMonad-Actions-WmiiActions.html">XMonad.Actions.WmiiActions</a>,
 <a href="XMonad-Prompt-WorkspaceDir.html">XMonad.Prompt.WorkspaceDir</a>
</p><p>For an example usage of <code><a href="XMonad-Util-Run.html#v:runProcessWithInputAndWait">runProcessWithInputAndWait</a></code> see
 <a href="XMonad-Util-Dzen.html">XMonad.Util.Dzen</a>
</p></div><div class="top"><p class="src"><a name="v:runProcessWithInput" class="def">runProcessWithInput</a> :: <a href="/usr/share/doc/ghc/html/libraries/transformers-0.3.0.0/Control-Monad-IO-Class.html#t:MonadIO">MonadIO</a> m =&gt; <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/System-IO.html#t:FilePath">FilePath</a> -&gt; [<a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-String.html#t:String">String</a>] -&gt; <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-String.html#t:String">String</a> -&gt; m <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-String.html#t:String">String</a><a href="src/XMonad-Util-Run.html#runProcessWithInput" class="link">Source</a></p><div class="doc"><p>Returns the output.
</p></div></div><div class="top"><p class="src"><a name="v:runProcessWithInputAndWait" class="def">runProcessWithInputAndWait</a> :: <a href="/usr/share/doc/ghc/html/libraries/transformers-0.3.0.0/Control-Monad-IO-Class.html#t:MonadIO">MonadIO</a> m =&gt; <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/System-IO.html#t:FilePath">FilePath</a> -&gt; [<a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-String.html#t:String">String</a>] -&gt; <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-String.html#t:String">String</a> -&gt; <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-Int.html#t:Int">Int</a> -&gt; m <a href="/usr/share/doc/ghc/html/libraries/ghc-prim-0.2.0.0/GHC-Tuple.html#t:-40--41-">()</a><a href="src/XMonad-Util-Run.html#runProcessWithInputAndWait" class="link">Source</a></p><div class="doc"><p>Wait is in &#956; (microseconds)
</p></div></div><div class="top"><p class="src"><a name="v:safeSpawn" class="def">safeSpawn</a> :: <a href="/usr/share/doc/ghc/html/libraries/transformers-0.3.0.0/Control-Monad-IO-Class.html#t:MonadIO">MonadIO</a> m =&gt; <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/System-IO.html#t:FilePath">FilePath</a> -&gt; [<a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-String.html#t:String">String</a>] -&gt; m <a href="/usr/share/doc/ghc/html/libraries/ghc-prim-0.2.0.0/GHC-Tuple.html#t:-40--41-">()</a><a href="src/XMonad-Util-Run.html#safeSpawn" class="link">Source</a></p><div class="doc"><p><code><a href="XMonad-Util-Run.html#v:safeSpawn">safeSpawn</a></code> bypasses <code><a href="/usr/share/doc/ghc/html/libraries/xmonad-0.11/XMonad-Core.html#v:spawn">spawn</a></code>, because spawn passes
strings to /bin/sh to be interpreted as shell commands. This is
often what one wants, but in many cases the passed string will contain
shell metacharacters which one does not want interpreted as such (URLs
particularly often have shell metacharacters like '&amp;' in them). In
this case, it is more useful to specify a file or program to be run
and a string to give it as an argument so as to bypass the shell and
be certain the program will receive the string as you typed it.
</p><p>Examples:
</p><pre> , ((modm, xK_Print), unsafeSpawn &quot;import -window root $HOME/xwd-$(date +%s)$$.png&quot;)
 , ((modm, xK_d    ), safeSpawn &quot;firefox&quot; [])
</pre><p>Note that the unsafeSpawn example must be unsafe and not safe because
it makes use of shell interpretation by relying on <code>$HOME</code> and
interpolation, whereas the safeSpawn example can be safe because
Firefox doesn't need any arguments if it is just being started. 
</p></div></div><div class="top"><p class="src"><a name="v:safeSpawnProg" class="def">safeSpawnProg</a> :: <a href="/usr/share/doc/ghc/html/libraries/transformers-0.3.0.0/Control-Monad-IO-Class.html#t:MonadIO">MonadIO</a> m =&gt; <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/System-IO.html#t:FilePath">FilePath</a> -&gt; m <a href="/usr/share/doc/ghc/html/libraries/ghc-prim-0.2.0.0/GHC-Tuple.html#t:-40--41-">()</a><a href="src/XMonad-Util-Run.html#safeSpawnProg" class="link">Source</a></p><div class="doc"><p>Simplified <code><a href="XMonad-Util-Run.html#v:safeSpawn">safeSpawn</a></code>; only takes a program (and no arguments):
</p><pre> , ((modm, xK_d    ), safeSpawnProg &quot;firefox&quot;)
</pre></div></div><div class="top"><p class="src"><a name="v:unsafeSpawn" class="def">unsafeSpawn</a> :: <a href="/usr/share/doc/ghc/html/libraries/transformers-0.3.0.0/Control-Monad-IO-Class.html#t:MonadIO">MonadIO</a> m =&gt; <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-String.html#t:String">String</a> -&gt; m <a href="/usr/share/doc/ghc/html/libraries/ghc-prim-0.2.0.0/GHC-Tuple.html#t:-40--41-">()</a><a href="src/XMonad-Util-Run.html#unsafeSpawn" class="link">Source</a></p><div class="doc"><p>An alias for <code><a href="/usr/share/doc/ghc/html/libraries/xmonad-0.11/XMonad-Core.html#v:spawn">spawn</a></code>; the name emphasizes that one is calling out to a
   Turing-complete interpreter which may do things one dislikes; for details, see <code><a href="XMonad-Util-Run.html#v:safeSpawn">safeSpawn</a></code>.
</p></div></div><div class="top"><p class="src"><a name="v:runInTerm" class="def">runInTerm</a> :: <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-String.html#t:String">String</a> -&gt; <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-String.html#t:String">String</a> -&gt; <a href="/usr/share/doc/ghc/html/libraries/xmonad-0.11/XMonad-Core.html#t:X">X</a> <a href="/usr/share/doc/ghc/html/libraries/ghc-prim-0.2.0.0/GHC-Tuple.html#t:-40--41-">()</a><a href="src/XMonad-Util-Run.html#runInTerm" class="link">Source</a></p><div class="doc"><p>Open a terminal emulator. The terminal emulator is specified in <code>defaultConfig</code> as xterm by default. It is then
 asked to pass the shell a command with certain options. This is unsafe in the sense of <code><a href="XMonad-Util-Run.html#v:unsafeSpawn">unsafeSpawn</a></code>
</p></div></div><div class="top"><p class="src"><a name="v:safeRunInTerm" class="def">safeRunInTerm</a> :: <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-String.html#t:String">String</a> -&gt; <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-String.html#t:String">String</a> -&gt; <a href="/usr/share/doc/ghc/html/libraries/xmonad-0.11/XMonad-Core.html#t:X">X</a> <a href="/usr/share/doc/ghc/html/libraries/ghc-prim-0.2.0.0/GHC-Tuple.html#t:-40--41-">()</a><a href="src/XMonad-Util-Run.html#safeRunInTerm" class="link">Source</a></p><div class="doc"><p>Run a given program in the preferred terminal emulator; see <code><a href="XMonad-Util-Run.html#v:runInTerm">runInTerm</a></code>. This makes use of <code><a href="XMonad-Util-Run.html#v:safeSpawn">safeSpawn</a></code>.
</p></div></div><div class="top"><p class="src"><a name="v:seconds" class="def">seconds</a> :: <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Prelude.html#t:Rational">Rational</a> -&gt; <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-Int.html#t:Int">Int</a><a href="src/XMonad-Util-Run.html#seconds" class="link">Source</a></p><div class="doc"><p>Multiplies by ONE MILLION, for functions that take microseconds.
</p><p>Use like:
</p><pre> (5.5 `seconds`)
</pre><p>In GHC 7 and later, you must either enable the PostfixOperators extension
 (by adding
</p><pre> {-# LANGUAGE PostfixOperators #-}
</pre><p>to the top of your file) or use seconds in prefix form:
</p><pre> 5.5 seconds
</pre></div></div><div class="top"><p class="src"><a name="v:spawnPipe" class="def">spawnPipe</a> :: <a href="/usr/share/doc/ghc/html/libraries/transformers-0.3.0.0/Control-Monad-IO-Class.html#t:MonadIO">MonadIO</a> m =&gt; <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-String.html#t:String">String</a> -&gt; m <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/GHC-IO-Handle.html#t:Handle">Handle</a><a href="src/XMonad-Util-Run.html#spawnPipe" class="link">Source</a></p><div class="doc"><p>Launch an external application through the system shell and return a <code>Handle</code> to its standard input.
</p></div></div><div class="top"><p class="src"><a name="v:hPutStr" class="def">hPutStr</a> :: <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/GHC-IO-Handle.html#t:Handle">Handle</a> -&gt; <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-String.html#t:String">String</a> -&gt; <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/System-IO.html#t:IO">IO</a> ()</p><div class="doc"><p>Computation <code><a href="XMonad-Util-Run.html#v:hPutStr">hPutStr</a></code> <code>hdl s</code> writes the string
 <code>s</code> to the file or channel managed by <code>hdl</code>.
</p><p>This operation may fail with:
</p><ul><li> <code><a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/System-IO-Error.html#v:isFullError">isFullError</a></code> if the device is full; or
</li><li> <code><a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/System-IO-Error.html#v:isPermissionError">isPermissionError</a></code> if another system resource limit would be exceeded.
</li></ul></div></div><div class="top"><p class="src"><a name="v:hPutStrLn" class="def">hPutStrLn</a> :: <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/GHC-IO-Handle.html#t:Handle">Handle</a> -&gt; <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-String.html#t:String">String</a> -&gt; <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/System-IO.html#t:IO">IO</a> ()</p><div class="doc"><p>The same as <code><a href="XMonad-Util-Run.html#v:hPutStr">hPutStr</a></code>, but adds a newline character.
</p></div></div></div></div><div id="footer"><p>Produced by <a href="http://www.haskell.org/haddock/">Haddock</a> version 2.10.0</p></div></body></html>