[xmonad] Launch without double-fork

Spencer Janssen spencerjanssen at gmail.com
Tue Dec 1 22:36:04 EST 2009


On Tue, Dec 01, 2009 at 07:07:48PM +0100, Luis Cabellos wrote:
> Hi, I was checking why there is two procces every time than I launch a
> console. I found than spawn uses /bin/sh to lauch applications. I
> think than to expecific commands is no need to double-fork,
> 
> I added the patch lo launch console without double-fork:

[elided]

> What do you think?

spawnPIDf won't with applications that take arguments, for example:
    
    spawn "xset -b"

I think the best solution is to add an 'exec' to your spawned applications:

    spawn "exec xterm"

This is the shell's syntax to execute a program directly rather than fork.

The current implementation seeks to balance all of these concerns:
 * users want to supply arguments to programs
 * users will find "spawn prog [arg1, arg2, arg3]" syntax unwieldy
 * we don't want to support a homebrewed argument tokenizer in xmonad
 * some users will want to use shell syntax in their spawns


Cheers,
Spencer Janssen


More information about the xmonad mailing list