On Fri, 5 Dec 2008 08:33:44 +0000
"Anselm R Garbe" <[EMAIL PROTECTED]> wrote:

> 2008/12/5 Neale Pickett <[EMAIL PROTECTED]>:
> > Neale Pickett <[EMAIL PROTECTED]> writes:
> >
> >> Would you mind sharing how you launch dwm?
> >
> > It might also be helpful to share your status script.  If you launch
> > your status script like this:
> >
> >   status | dwm
> >
> > and status forks, the parent may not be exiting.
> >
> > If the status program never exits, X won't terminate when you kill
> > dwm. To test if yours operates this way, try the following
> > experiment:
> >
> >  xterm1$ status | cat
> >  xterm2$ kill (pid of cat)
> >
> > My status program at least keeps on running even though it can no
> > longer write to stdout.  I think it's because the parent shell, the
> > one outside the loop, never gets the SIGPIPE and keeps on running.
> > I'll play with it and report back.
> >
> > This problem isn't related to the recent fork patch, tough; you can
> > reproduce this behavior without ever calling spawn.
> >
> > The reason this doesn't stop X is because your .xsession
> > (or .xinitrc) is waiting for all subprocesses to exit.  As long as
> > status keeps running, .xsession won't exit, and the X server
> > startup script won't kill the X server.
> >
> > Here's something you can put in .xsession to run status as a
> > background process and cause your .xsession to exit when dwm exits:
> >
> >  XSTATUS=$HOME/.status.$(hostname).$DISPLAY
> >  mkfifo -m 600 $XSTATUS
> >  status > $XSTATUS &
> >  STATUS_PID=$!
> >  dwm < $XSTATUS
> >  kill $STATUS_PID
> >  rm $XSTATUS
> 
> I also think this is rather related to the status feed.
> 
> Kind regards,
> --Anselm
> 

Here is my .xinitrc :

while true
do
        echo `date`
        sleep 1
done | dwm

This is exactly the same .xinitrc I used with dwm-5.2, and it worked
fine with dwm-5.2.

-- 
Kind regards,
Guillaume Quintin.


Reply via email to